diff --git a/changelog.md b/changelog.md index 9ef399a..dd2c8e5 100644 --- a/changelog.md +++ b/changelog.md @@ -13,6 +13,7 @@ ## 贡献: - @chenzyadb - @Suni-code +- @xianyu6556 - @NightRainMilkyWay Full Changelog: [`V4.8.1 -> V4.8.2`](https://github.com/TimeBreeze/Tritium/commits/main/) diff --git a/magisk/CuDaemon b/magisk_suni/CuDaemon similarity index 100% rename from magisk/CuDaemon rename to magisk_suni/CuDaemon diff --git a/magisk/META-INF/com/google/android/update-binary b/magisk_suni/META-INF/com/google/android/update-binary similarity index 100% rename from magisk/META-INF/com/google/android/update-binary rename to magisk_suni/META-INF/com/google/android/update-binary diff --git a/magisk/META-INF/com/google/android/updater-script b/magisk_suni/META-INF/com/google/android/updater-script similarity index 100% rename from magisk/META-INF/com/google/android/updater-script rename to magisk_suni/META-INF/com/google/android/updater-script diff --git a/magisk/action.sh b/magisk_suni/action.sh similarity index 100% rename from magisk/action.sh rename to magisk_suni/action.sh diff --git a/magisk/configs/_config_select.sh b/magisk_suni/configs/_config_select.sh similarity index 100% rename from magisk/configs/_config_select.sh rename to magisk_suni/configs/_config_select.sh diff --git a/magisk/configs/dimensity1000.json b/magisk_suni/configs/dimensity1000.json similarity index 100% rename from magisk/configs/dimensity1000.json rename to magisk_suni/configs/dimensity1000.json diff --git a/magisk/configs/dimensity8100.json b/magisk_suni/configs/dimensity8100.json similarity index 100% rename from magisk/configs/dimensity8100.json rename to magisk_suni/configs/dimensity8100.json diff --git a/magisk/configs/dimensity8200.json b/magisk_suni/configs/dimensity8200.json similarity index 100% rename from magisk/configs/dimensity8200.json rename to magisk_suni/configs/dimensity8200.json diff --git a/magisk/configs/dimensity9200.json b/magisk_suni/configs/dimensity9200.json similarity index 100% rename from magisk/configs/dimensity9200.json rename to magisk_suni/configs/dimensity9200.json diff --git a/magisk/configs/sdm7+gen2.json b/magisk_suni/configs/sdm7+gen2.json similarity index 100% rename from magisk/configs/sdm7+gen2.json rename to magisk_suni/configs/sdm7+gen2.json diff --git a/magisk/configs/sdm7+gen3.json b/magisk_suni/configs/sdm7+gen3.json similarity index 100% rename from magisk/configs/sdm7+gen3.json rename to magisk_suni/configs/sdm7+gen3.json diff --git a/magisk/configs/sdm765.json b/magisk_suni/configs/sdm765.json similarity index 100% rename from magisk/configs/sdm765.json rename to magisk_suni/configs/sdm765.json diff --git a/magisk/configs/sdm778.json b/magisk_suni/configs/sdm778.json similarity index 100% rename from magisk/configs/sdm778.json rename to magisk_suni/configs/sdm778.json diff --git a/magisk/configs/sdm8+gen1.json b/magisk_suni/configs/sdm8+gen1.json similarity index 100% rename from magisk/configs/sdm8+gen1.json rename to magisk_suni/configs/sdm8+gen1.json diff --git a/magisk/configs/sdm835.json b/magisk_suni/configs/sdm835.json similarity index 100% rename from magisk/configs/sdm835.json rename to magisk_suni/configs/sdm835.json diff --git a/magisk/configs/sdm845.json b/magisk_suni/configs/sdm845.json similarity index 100% rename from magisk/configs/sdm845.json rename to magisk_suni/configs/sdm845.json diff --git a/magisk/configs/sdm855.json b/magisk_suni/configs/sdm855.json similarity index 100% rename from magisk/configs/sdm855.json rename to magisk_suni/configs/sdm855.json diff --git a/magisk/configs/sdm865.json b/magisk_suni/configs/sdm865.json similarity index 100% rename from magisk/configs/sdm865.json rename to magisk_suni/configs/sdm865.json diff --git a/magisk/configs/sdm888.json b/magisk_suni/configs/sdm888.json similarity index 100% rename from magisk/configs/sdm888.json rename to magisk_suni/configs/sdm888.json diff --git a/magisk/configs/sdm8gen1.json b/magisk_suni/configs/sdm8gen1.json similarity index 100% rename from magisk/configs/sdm8gen1.json rename to magisk_suni/configs/sdm8gen1.json diff --git a/magisk/configs/sdm8gen2.json b/magisk_suni/configs/sdm8gen2.json similarity index 100% rename from magisk/configs/sdm8gen2.json rename to magisk_suni/configs/sdm8gen2.json diff --git a/magisk/configs/sdm8gen3.json b/magisk_suni/configs/sdm8gen3.json similarity index 100% rename from magisk/configs/sdm8gen3.json rename to magisk_suni/configs/sdm8gen3.json diff --git a/magisk/configs/universal.json b/magisk_suni/configs/universal.json similarity index 94% rename from magisk/configs/universal.json rename to magisk_suni/configs/universal.json index 9fead25..a05f7bc 100644 --- a/magisk/configs/universal.json +++ b/magisk_suni/configs/universal.json @@ -1,17 +1,17 @@ -{ - "name": "_Universal_Config", - "author": "username", - "configVersion": 9, - "CpuGovernor": { - "enable": false - }, - "ThreadSchedOpt": { - "enable": false - }, - "MtkGpuGovernor": { - "enable": false - }, - "FileWriter": { - "enable": false - } +{ + "name": "_Universal_Config", + "author": "username", + "configVersion": 9, + "CpuGovernor": { + "enable": false + }, + "ThreadSchedOpt": { + "enable": false + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": false + } } \ No newline at end of file diff --git a/magisk/customize.sh b/magisk_suni/customize.sh similarity index 100% rename from magisk/customize.sh rename to magisk_suni/customize.sh diff --git a/magisk/module.prop b/magisk_suni/module.prop similarity index 100% rename from magisk/module.prop rename to magisk_suni/module.prop diff --git a/magisk/powercfg/powercfg.json b/magisk_suni/powercfg/powercfg.json similarity index 100% rename from magisk/powercfg/powercfg.json rename to magisk_suni/powercfg/powercfg.json diff --git a/magisk/powercfg/powercfg.sh b/magisk_suni/powercfg/powercfg.sh similarity index 100% rename from magisk/powercfg/powercfg.sh rename to magisk_suni/powercfg/powercfg.sh diff --git a/magisk/service.sh b/magisk_suni/service.sh similarity index 100% rename from magisk/service.sh rename to magisk_suni/service.sh diff --git a/magisk/uninstall.sh b/magisk_suni/uninstall.sh similarity index 100% rename from magisk/uninstall.sh rename to magisk_suni/uninstall.sh diff --git a/magisk/webroot/404.html b/magisk_suni/webroot/404.html similarity index 100% rename from magisk/webroot/404.html rename to magisk_suni/webroot/404.html diff --git "a/magisk/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" "b/magisk_suni/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" similarity index 100% rename from "magisk/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" rename to "magisk_suni/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" diff --git a/magisk/webroot/FAQ/FAQ.html b/magisk_suni/webroot/FAQ/FAQ.html similarity index 100% rename from magisk/webroot/FAQ/FAQ.html rename to magisk_suni/webroot/FAQ/FAQ.html diff --git a/magisk/webroot/_headers b/magisk_suni/webroot/_headers similarity index 100% rename from magisk/webroot/_headers rename to magisk_suni/webroot/_headers diff --git a/magisk/webroot/about.html b/magisk_suni/webroot/about.html similarity index 100% rename from magisk/webroot/about.html rename to magisk_suni/webroot/about.html diff --git a/magisk/webroot/agreement.html b/magisk_suni/webroot/agreement.html similarity index 100% rename from magisk/webroot/agreement.html rename to magisk_suni/webroot/agreement.html diff --git a/magisk/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js diff --git a/magisk/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js diff --git a/magisk/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js diff --git a/magisk/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js diff --git a/magisk/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js diff --git a/magisk/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js b/magisk_suni/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js similarity index 100% rename from magisk/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js rename to magisk_suni/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js diff --git a/magisk/webroot/assets/about.md.BY9aHTo8.js b/magisk_suni/webroot/assets/about.md.BY9aHTo8.js similarity index 100% rename from magisk/webroot/assets/about.md.BY9aHTo8.js rename to magisk_suni/webroot/assets/about.md.BY9aHTo8.js diff --git a/magisk/webroot/assets/about.md.BY9aHTo8.lean.js b/magisk_suni/webroot/assets/about.md.BY9aHTo8.lean.js similarity index 100% rename from magisk/webroot/assets/about.md.BY9aHTo8.lean.js rename to magisk_suni/webroot/assets/about.md.BY9aHTo8.lean.js diff --git a/magisk/webroot/assets/about.md.CGNTdsmx.js b/magisk_suni/webroot/assets/about.md.CGNTdsmx.js similarity index 100% rename from magisk/webroot/assets/about.md.CGNTdsmx.js rename to magisk_suni/webroot/assets/about.md.CGNTdsmx.js diff --git a/magisk/webroot/assets/about.md.CGNTdsmx.lean.js b/magisk_suni/webroot/assets/about.md.CGNTdsmx.lean.js similarity index 100% rename from magisk/webroot/assets/about.md.CGNTdsmx.lean.js rename to magisk_suni/webroot/assets/about.md.CGNTdsmx.lean.js diff --git a/magisk/webroot/assets/agreement.md.CNtXq9L_.js b/magisk_suni/webroot/assets/agreement.md.CNtXq9L_.js similarity index 100% rename from magisk/webroot/assets/agreement.md.CNtXq9L_.js rename to magisk_suni/webroot/assets/agreement.md.CNtXq9L_.js diff --git a/magisk/webroot/assets/agreement.md.CNtXq9L_.lean.js b/magisk_suni/webroot/assets/agreement.md.CNtXq9L_.lean.js similarity index 100% rename from magisk/webroot/assets/agreement.md.CNtXq9L_.lean.js rename to magisk_suni/webroot/assets/agreement.md.CNtXq9L_.lean.js diff --git a/magisk/webroot/assets/app.C7qJyVyE.js b/magisk_suni/webroot/assets/app.C7qJyVyE.js similarity index 100% rename from magisk/webroot/assets/app.C7qJyVyE.js rename to magisk_suni/webroot/assets/app.C7qJyVyE.js diff --git a/magisk/webroot/assets/app.ChY41Hk9.js b/magisk_suni/webroot/assets/app.ChY41Hk9.js similarity index 100% rename from magisk/webroot/assets/app.ChY41Hk9.js rename to magisk_suni/webroot/assets/app.ChY41Hk9.js diff --git a/magisk/webroot/assets/app.CvJHcnDV.js b/magisk_suni/webroot/assets/app.CvJHcnDV.js similarity index 100% rename from magisk/webroot/assets/app.CvJHcnDV.js rename to magisk_suni/webroot/assets/app.CvJHcnDV.js diff --git a/magisk/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js b/magisk_suni/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js similarity index 100% rename from magisk/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js rename to magisk_suni/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js diff --git a/magisk/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js b/magisk_suni/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js similarity index 100% rename from magisk/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js rename to magisk_suni/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js diff --git a/magisk/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js b/magisk_suni/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js similarity index 100% rename from magisk/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js rename to magisk_suni/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js diff --git a/magisk/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js b/magisk_suni/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js similarity index 100% rename from magisk/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js rename to magisk_suni/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js diff --git a/magisk/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js b/magisk_suni/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js similarity index 100% rename from magisk/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js rename to magisk_suni/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js diff --git a/magisk/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js b/magisk_suni/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js similarity index 100% rename from magisk/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js rename to magisk_suni/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js diff --git a/magisk/webroot/assets/chunks/framework.BXE2pAXj.js b/magisk_suni/webroot/assets/chunks/framework.BXE2pAXj.js similarity index 100% rename from magisk/webroot/assets/chunks/framework.BXE2pAXj.js rename to magisk_suni/webroot/assets/chunks/framework.BXE2pAXj.js diff --git a/magisk/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js b/magisk_suni/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js similarity index 100% rename from magisk/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js rename to magisk_suni/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js diff --git a/magisk/webroot/assets/chunks/theme.8NM9hdXq.js b/magisk_suni/webroot/assets/chunks/theme.8NM9hdXq.js similarity index 100% rename from magisk/webroot/assets/chunks/theme.8NM9hdXq.js rename to magisk_suni/webroot/assets/chunks/theme.8NM9hdXq.js diff --git a/magisk/webroot/assets/chunks/theme.CpLOZU2l.js b/magisk_suni/webroot/assets/chunks/theme.CpLOZU2l.js similarity index 100% rename from magisk/webroot/assets/chunks/theme.CpLOZU2l.js rename to magisk_suni/webroot/assets/chunks/theme.CpLOZU2l.js diff --git a/magisk/webroot/assets/chunks/theme.DtwH47Qa.js b/magisk_suni/webroot/assets/chunks/theme.DtwH47Qa.js similarity index 100% rename from magisk/webroot/assets/chunks/theme.DtwH47Qa.js rename to magisk_suni/webroot/assets/chunks/theme.DtwH47Qa.js diff --git a/magisk/webroot/assets/clown.md.COUTQ7Br.js b/magisk_suni/webroot/assets/clown.md.COUTQ7Br.js similarity index 100% rename from magisk/webroot/assets/clown.md.COUTQ7Br.js rename to magisk_suni/webroot/assets/clown.md.COUTQ7Br.js diff --git a/magisk/webroot/assets/clown.md.COUTQ7Br.lean.js b/magisk_suni/webroot/assets/clown.md.COUTQ7Br.lean.js similarity index 100% rename from magisk/webroot/assets/clown.md.COUTQ7Br.lean.js rename to magisk_suni/webroot/assets/clown.md.COUTQ7Br.lean.js diff --git a/magisk/webroot/assets/disclaimer.md.BUfyEDfO.js b/magisk_suni/webroot/assets/disclaimer.md.BUfyEDfO.js similarity index 100% rename from magisk/webroot/assets/disclaimer.md.BUfyEDfO.js rename to magisk_suni/webroot/assets/disclaimer.md.BUfyEDfO.js diff --git a/magisk/webroot/assets/disclaimer.md.BUfyEDfO.lean.js b/magisk_suni/webroot/assets/disclaimer.md.BUfyEDfO.lean.js similarity index 100% rename from magisk/webroot/assets/disclaimer.md.BUfyEDfO.lean.js rename to magisk_suni/webroot/assets/disclaimer.md.BUfyEDfO.lean.js diff --git a/magisk/webroot/assets/disclaimer.md.t5lkAs8z.js b/magisk_suni/webroot/assets/disclaimer.md.t5lkAs8z.js similarity index 100% rename from magisk/webroot/assets/disclaimer.md.t5lkAs8z.js rename to magisk_suni/webroot/assets/disclaimer.md.t5lkAs8z.js diff --git a/magisk/webroot/assets/disclaimer.md.t5lkAs8z.lean.js b/magisk_suni/webroot/assets/disclaimer.md.t5lkAs8z.lean.js similarity index 100% rename from magisk/webroot/assets/disclaimer.md.t5lkAs8z.lean.js rename to magisk_suni/webroot/assets/disclaimer.md.t5lkAs8z.lean.js diff --git a/magisk/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js b/magisk_suni/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js similarity index 100% rename from magisk/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js rename to magisk_suni/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js diff --git a/magisk/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js b/magisk_suni/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js similarity index 100% rename from magisk/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js rename to magisk_suni/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js diff --git a/magisk/webroot/assets/guide_Customize.md.C2zSKp6n.js b/magisk_suni/webroot/assets/guide_Customize.md.C2zSKp6n.js similarity index 100% rename from magisk/webroot/assets/guide_Customize.md.C2zSKp6n.js rename to magisk_suni/webroot/assets/guide_Customize.md.C2zSKp6n.js diff --git a/magisk/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js b/magisk_suni/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js similarity index 100% rename from magisk/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js rename to magisk_suni/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js diff --git a/magisk/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js b/magisk_suni/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js similarity index 100% rename from magisk/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js rename to magisk_suni/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js diff --git a/magisk/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js b/magisk_suni/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js similarity index 100% rename from magisk/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js rename to magisk_suni/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js diff --git a/magisk/webroot/assets/guide_FileWriter.md.CXfMFAog.js b/magisk_suni/webroot/assets/guide_FileWriter.md.CXfMFAog.js similarity index 100% rename from magisk/webroot/assets/guide_FileWriter.md.CXfMFAog.js rename to magisk_suni/webroot/assets/guide_FileWriter.md.CXfMFAog.js diff --git a/magisk/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js b/magisk_suni/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js similarity index 100% rename from magisk/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js rename to magisk_suni/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js diff --git a/magisk/webroot/assets/guide_Json.md.BG_wBOYT.js b/magisk_suni/webroot/assets/guide_Json.md.BG_wBOYT.js similarity index 100% rename from magisk/webroot/assets/guide_Json.md.BG_wBOYT.js rename to magisk_suni/webroot/assets/guide_Json.md.BG_wBOYT.js diff --git a/magisk/webroot/assets/guide_Json.md.BG_wBOYT.lean.js b/magisk_suni/webroot/assets/guide_Json.md.BG_wBOYT.lean.js similarity index 100% rename from magisk/webroot/assets/guide_Json.md.BG_wBOYT.lean.js rename to magisk_suni/webroot/assets/guide_Json.md.BG_wBOYT.lean.js diff --git a/magisk/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js b/magisk_suni/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js similarity index 100% rename from magisk/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js rename to magisk_suni/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js diff --git a/magisk/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js b/magisk_suni/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js similarity index 100% rename from magisk/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js rename to magisk_suni/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js diff --git a/magisk/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js b/magisk_suni/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js similarity index 100% rename from magisk/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js rename to magisk_suni/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js diff --git a/magisk/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js b/magisk_suni/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js similarity index 100% rename from magisk/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js rename to magisk_suni/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js diff --git a/magisk/webroot/assets/guide_download.md.BVZAE2IL.js b/magisk_suni/webroot/assets/guide_download.md.BVZAE2IL.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.BVZAE2IL.js rename to magisk_suni/webroot/assets/guide_download.md.BVZAE2IL.js diff --git a/magisk/webroot/assets/guide_download.md.BVZAE2IL.lean.js b/magisk_suni/webroot/assets/guide_download.md.BVZAE2IL.lean.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.BVZAE2IL.lean.js rename to magisk_suni/webroot/assets/guide_download.md.BVZAE2IL.lean.js diff --git a/magisk/webroot/assets/guide_download.md.C7nbBbZD.js b/magisk_suni/webroot/assets/guide_download.md.C7nbBbZD.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.C7nbBbZD.js rename to magisk_suni/webroot/assets/guide_download.md.C7nbBbZD.js diff --git a/magisk/webroot/assets/guide_download.md.C7nbBbZD.lean.js b/magisk_suni/webroot/assets/guide_download.md.C7nbBbZD.lean.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.C7nbBbZD.lean.js rename to magisk_suni/webroot/assets/guide_download.md.C7nbBbZD.lean.js diff --git a/magisk/webroot/assets/guide_download.md.CtbZV98n.js b/magisk_suni/webroot/assets/guide_download.md.CtbZV98n.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.CtbZV98n.js rename to magisk_suni/webroot/assets/guide_download.md.CtbZV98n.js diff --git a/magisk/webroot/assets/guide_download.md.CtbZV98n.lean.js b/magisk_suni/webroot/assets/guide_download.md.CtbZV98n.lean.js similarity index 100% rename from magisk/webroot/assets/guide_download.md.CtbZV98n.lean.js rename to magisk_suni/webroot/assets/guide_download.md.CtbZV98n.lean.js diff --git a/magisk/webroot/assets/guide_start.md.CNF3qU_l.js b/magisk_suni/webroot/assets/guide_start.md.CNF3qU_l.js similarity index 100% rename from magisk/webroot/assets/guide_start.md.CNF3qU_l.js rename to magisk_suni/webroot/assets/guide_start.md.CNF3qU_l.js diff --git a/magisk/webroot/assets/guide_start.md.CNF3qU_l.lean.js b/magisk_suni/webroot/assets/guide_start.md.CNF3qU_l.lean.js similarity index 100% rename from magisk/webroot/assets/guide_start.md.CNF3qU_l.lean.js rename to magisk_suni/webroot/assets/guide_start.md.CNF3qU_l.lean.js diff --git a/magisk/webroot/assets/guide_use.md.BIwuto16.js b/magisk_suni/webroot/assets/guide_use.md.BIwuto16.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.BIwuto16.js rename to magisk_suni/webroot/assets/guide_use.md.BIwuto16.js diff --git a/magisk/webroot/assets/guide_use.md.BIwuto16.lean.js b/magisk_suni/webroot/assets/guide_use.md.BIwuto16.lean.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.BIwuto16.lean.js rename to magisk_suni/webroot/assets/guide_use.md.BIwuto16.lean.js diff --git a/magisk/webroot/assets/guide_use.md.CdXeE44Q.js b/magisk_suni/webroot/assets/guide_use.md.CdXeE44Q.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.CdXeE44Q.js rename to magisk_suni/webroot/assets/guide_use.md.CdXeE44Q.js diff --git a/magisk/webroot/assets/guide_use.md.CdXeE44Q.lean.js b/magisk_suni/webroot/assets/guide_use.md.CdXeE44Q.lean.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.CdXeE44Q.lean.js rename to magisk_suni/webroot/assets/guide_use.md.CdXeE44Q.lean.js diff --git a/magisk/webroot/assets/guide_use.md.Dz3GJxB1.js b/magisk_suni/webroot/assets/guide_use.md.Dz3GJxB1.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.Dz3GJxB1.js rename to magisk_suni/webroot/assets/guide_use.md.Dz3GJxB1.js diff --git a/magisk/webroot/assets/guide_use.md.Dz3GJxB1.lean.js b/magisk_suni/webroot/assets/guide_use.md.Dz3GJxB1.lean.js similarity index 100% rename from magisk/webroot/assets/guide_use.md.Dz3GJxB1.lean.js rename to magisk_suni/webroot/assets/guide_use.md.Dz3GJxB1.lean.js diff --git a/magisk/webroot/assets/index.md.Vooex8u3.js b/magisk_suni/webroot/assets/index.md.Vooex8u3.js similarity index 100% rename from magisk/webroot/assets/index.md.Vooex8u3.js rename to magisk_suni/webroot/assets/index.md.Vooex8u3.js diff --git a/magisk/webroot/assets/index.md.Vooex8u3.lean.js b/magisk_suni/webroot/assets/index.md.Vooex8u3.lean.js similarity index 100% rename from magisk/webroot/assets/index.md.Vooex8u3.lean.js rename to magisk_suni/webroot/assets/index.md.Vooex8u3.lean.js diff --git a/magisk/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/magisk_suni/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 rename to magisk_suni/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 diff --git a/magisk/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/magisk_suni/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 rename to magisk_suni/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 diff --git a/magisk/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/magisk_suni/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 rename to magisk_suni/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 diff --git a/magisk/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/magisk_suni/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 rename to magisk_suni/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 diff --git a/magisk/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/magisk_suni/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 rename to magisk_suni/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 diff --git a/magisk/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 b/magisk_suni/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 rename to magisk_suni/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 diff --git a/magisk/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/magisk_suni/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 similarity index 100% rename from magisk/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 rename to magisk_suni/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 diff --git a/magisk/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/magisk_suni/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 rename to magisk_suni/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 diff --git a/magisk/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/magisk_suni/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 rename to magisk_suni/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 diff --git a/magisk/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/magisk_suni/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 rename to magisk_suni/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 diff --git a/magisk/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 b/magisk_suni/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 rename to magisk_suni/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 diff --git a/magisk/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/magisk_suni/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 rename to magisk_suni/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 diff --git a/magisk/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 b/magisk_suni/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 rename to magisk_suni/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 diff --git a/magisk/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/magisk_suni/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 similarity index 100% rename from magisk/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 rename to magisk_suni/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 diff --git a/magisk/webroot/assets/join.md.BWff1C_T.js b/magisk_suni/webroot/assets/join.md.BWff1C_T.js similarity index 100% rename from magisk/webroot/assets/join.md.BWff1C_T.js rename to magisk_suni/webroot/assets/join.md.BWff1C_T.js diff --git a/magisk/webroot/assets/join.md.BWff1C_T.lean.js b/magisk_suni/webroot/assets/join.md.BWff1C_T.lean.js similarity index 100% rename from magisk/webroot/assets/join.md.BWff1C_T.lean.js rename to magisk_suni/webroot/assets/join.md.BWff1C_T.lean.js diff --git a/magisk/webroot/assets/log.md.CII103bZ.js b/magisk_suni/webroot/assets/log.md.CII103bZ.js similarity index 100% rename from magisk/webroot/assets/log.md.CII103bZ.js rename to magisk_suni/webroot/assets/log.md.CII103bZ.js diff --git a/magisk/webroot/assets/log.md.CII103bZ.lean.js b/magisk_suni/webroot/assets/log.md.CII103bZ.lean.js similarity index 100% rename from magisk/webroot/assets/log.md.CII103bZ.lean.js rename to magisk_suni/webroot/assets/log.md.CII103bZ.lean.js diff --git a/magisk/webroot/assets/log.md.DG8b1uGF.js b/magisk_suni/webroot/assets/log.md.DG8b1uGF.js similarity index 100% rename from magisk/webroot/assets/log.md.DG8b1uGF.js rename to magisk_suni/webroot/assets/log.md.DG8b1uGF.js diff --git a/magisk/webroot/assets/log.md.DG8b1uGF.lean.js b/magisk_suni/webroot/assets/log.md.DG8b1uGF.lean.js similarity index 100% rename from magisk/webroot/assets/log.md.DG8b1uGF.lean.js rename to magisk_suni/webroot/assets/log.md.DG8b1uGF.lean.js diff --git a/magisk/webroot/assets/md-enhance-guide.md.BaUNba6Y.js b/magisk_suni/webroot/assets/md-enhance-guide.md.BaUNba6Y.js similarity index 100% rename from magisk/webroot/assets/md-enhance-guide.md.BaUNba6Y.js rename to magisk_suni/webroot/assets/md-enhance-guide.md.BaUNba6Y.js diff --git a/magisk/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js b/magisk_suni/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js similarity index 100% rename from magisk/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js rename to magisk_suni/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js diff --git a/magisk/webroot/assets/style.MqSvHpeK.css b/magisk_suni/webroot/assets/style.MqSvHpeK.css similarity index 100% rename from magisk/webroot/assets/style.MqSvHpeK.css rename to magisk_suni/webroot/assets/style.MqSvHpeK.css diff --git a/magisk/webroot/assets/team.md.C-bccHex.js b/magisk_suni/webroot/assets/team.md.C-bccHex.js similarity index 100% rename from magisk/webroot/assets/team.md.C-bccHex.js rename to magisk_suni/webroot/assets/team.md.C-bccHex.js diff --git a/magisk/webroot/assets/team.md.C-bccHex.lean.js b/magisk_suni/webroot/assets/team.md.C-bccHex.lean.js similarity index 100% rename from magisk/webroot/assets/team.md.C-bccHex.lean.js rename to magisk_suni/webroot/assets/team.md.C-bccHex.lean.js diff --git a/magisk/webroot/clown.html b/magisk_suni/webroot/clown.html similarity index 100% rename from magisk/webroot/clown.html rename to magisk_suni/webroot/clown.html diff --git a/magisk/webroot/disclaimer.html b/magisk_suni/webroot/disclaimer.html similarity index 100% rename from magisk/webroot/disclaimer.html rename to magisk_suni/webroot/disclaimer.html diff --git a/magisk/webroot/fonts/zh-cn (1).woff b/magisk_suni/webroot/fonts/zh-cn (1).woff similarity index 100% rename from magisk/webroot/fonts/zh-cn (1).woff rename to magisk_suni/webroot/fonts/zh-cn (1).woff diff --git a/magisk/webroot/fonts/zh-cn-full.subset.ttf b/magisk_suni/webroot/fonts/zh-cn-full.subset.ttf similarity index 100% rename from magisk/webroot/fonts/zh-cn-full.subset.ttf rename to magisk_suni/webroot/fonts/zh-cn-full.subset.ttf diff --git a/magisk/webroot/fonts/zh-cn-full.ttf b/magisk_suni/webroot/fonts/zh-cn-full.ttf similarity index 100% rename from magisk/webroot/fonts/zh-cn-full.ttf rename to magisk_suni/webroot/fonts/zh-cn-full.ttf diff --git a/magisk/webroot/fonts/zh-cn-min.woff b/magisk_suni/webroot/fonts/zh-cn-min.woff similarity index 100% rename from magisk/webroot/fonts/zh-cn-min.woff rename to magisk_suni/webroot/fonts/zh-cn-min.woff diff --git a/magisk/webroot/fonts/zh-cn.woff b/magisk_suni/webroot/fonts/zh-cn.woff similarity index 100% rename from magisk/webroot/fonts/zh-cn.woff rename to magisk_suni/webroot/fonts/zh-cn.woff diff --git "a/magisk/webroot/fonts/\345\216\237\347\245\236.woff" "b/magisk_suni/webroot/fonts/\345\216\237\347\245\236.woff" similarity index 100% rename from "magisk/webroot/fonts/\345\216\237\347\245\236.woff" rename to "magisk_suni/webroot/fonts/\345\216\237\347\245\236.woff" diff --git "a/magisk/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" "b/magisk_suni/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" similarity index 100% rename from "magisk/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" rename to "magisk_suni/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" diff --git "a/magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" "b/magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" similarity index 100% rename from "magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" rename to "magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" diff --git "a/magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" "b/magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" similarity index 100% rename from "magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" rename to "magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" diff --git "a/magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" "b/magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" similarity index 100% rename from "magisk/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" rename to "magisk_suni/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" diff --git a/magisk/webroot/guide/CpuGovernor.html b/magisk_suni/webroot/guide/CpuGovernor.html similarity index 100% rename from magisk/webroot/guide/CpuGovernor.html rename to magisk_suni/webroot/guide/CpuGovernor.html diff --git a/magisk/webroot/guide/Customize.html b/magisk_suni/webroot/guide/Customize.html similarity index 100% rename from magisk/webroot/guide/Customize.html rename to magisk_suni/webroot/guide/Customize.html diff --git a/magisk/webroot/guide/FileWriter.html b/magisk_suni/webroot/guide/FileWriter.html similarity index 100% rename from magisk/webroot/guide/FileWriter.html rename to magisk_suni/webroot/guide/FileWriter.html diff --git a/magisk/webroot/guide/Json.html b/magisk_suni/webroot/guide/Json.html similarity index 100% rename from magisk/webroot/guide/Json.html rename to magisk_suni/webroot/guide/Json.html diff --git a/magisk/webroot/guide/MtkGpuGovernor.html b/magisk_suni/webroot/guide/MtkGpuGovernor.html similarity index 100% rename from magisk/webroot/guide/MtkGpuGovernor.html rename to magisk_suni/webroot/guide/MtkGpuGovernor.html diff --git a/magisk/webroot/guide/ThreadSchedOpt.html b/magisk_suni/webroot/guide/ThreadSchedOpt.html similarity index 100% rename from magisk/webroot/guide/ThreadSchedOpt.html rename to magisk_suni/webroot/guide/ThreadSchedOpt.html diff --git a/magisk/webroot/guide/download.html b/magisk_suni/webroot/guide/download.html similarity index 100% rename from magisk/webroot/guide/download.html rename to magisk_suni/webroot/guide/download.html diff --git a/magisk/webroot/guide/start.html b/magisk_suni/webroot/guide/start.html similarity index 100% rename from magisk/webroot/guide/start.html rename to magisk_suni/webroot/guide/start.html diff --git a/magisk/webroot/guide/use.html b/magisk_suni/webroot/guide/use.html similarity index 100% rename from magisk/webroot/guide/use.html rename to magisk_suni/webroot/guide/use.html diff --git a/magisk/webroot/hashmap.json b/magisk_suni/webroot/hashmap.json similarity index 100% rename from magisk/webroot/hashmap.json rename to magisk_suni/webroot/hashmap.json diff --git a/magisk/webroot/img/Mediatek-logo.png b/magisk_suni/webroot/img/Mediatek-logo.png similarity index 100% rename from magisk/webroot/img/Mediatek-logo.png rename to magisk_suni/webroot/img/Mediatek-logo.png diff --git a/magisk/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png b/magisk_suni/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png similarity index 100% rename from magisk/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png rename to magisk_suni/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png diff --git a/magisk/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png b/magisk_suni/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png similarity index 100% rename from magisk/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png rename to magisk_suni/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png diff --git a/magisk/webroot/img/svg/about-footer.svg b/magisk_suni/webroot/img/svg/about-footer.svg similarity index 100% rename from magisk/webroot/img/svg/about-footer.svg rename to magisk_suni/webroot/img/svg/about-footer.svg diff --git a/magisk/webroot/img/svg/about-me-header.svg b/magisk_suni/webroot/img/svg/about-me-header.svg similarity index 100% rename from magisk/webroot/img/svg/about-me-header.svg rename to magisk_suni/webroot/img/svg/about-me-header.svg diff --git a/magisk/webroot/img/svg/about-repos-header.svg b/magisk_suni/webroot/img/svg/about-repos-header.svg similarity index 100% rename from magisk/webroot/img/svg/about-repos-header.svg rename to magisk_suni/webroot/img/svg/about-repos-header.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/dog.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/dog.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/dog.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/dog.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/dragon.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/dragon.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/dragon.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/dragon.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/goat.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/goat.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/goat.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/goat.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/horse.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/horse.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/horse.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/horse.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/monkey.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/monkey.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/monkey.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/monkey.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/ox.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/ox.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/ox.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/ox.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/pig.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/pig.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/pig.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/pig.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/rabbit.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/rabbit.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/rabbit.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/rabbit.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/rat.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/rat.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/rat.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/rat.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/rooster.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/rooster.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/rooster.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/rooster.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/snake.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/snake.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/snake.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/snake.svg diff --git a/magisk/webroot/img/svg/chinese-zodiac/tiger.svg b/magisk_suni/webroot/img/svg/chinese-zodiac/tiger.svg similarity index 100% rename from magisk/webroot/img/svg/chinese-zodiac/tiger.svg rename to magisk_suni/webroot/img/svg/chinese-zodiac/tiger.svg diff --git a/magisk/webroot/img/svg/focus.svg b/magisk_suni/webroot/img/svg/focus.svg similarity index 100% rename from magisk/webroot/img/svg/focus.svg rename to magisk_suni/webroot/img/svg/focus.svg diff --git a/magisk/webroot/img/svg/gitee.svg b/magisk_suni/webroot/img/svg/gitee.svg similarity index 100% rename from magisk/webroot/img/svg/gitee.svg rename to magisk_suni/webroot/img/svg/gitee.svg diff --git a/magisk/webroot/img/svg/home/API.svg b/magisk_suni/webroot/img/svg/home/API.svg similarity index 100% rename from magisk/webroot/img/svg/home/API.svg rename to magisk_suni/webroot/img/svg/home/API.svg diff --git a/magisk/webroot/img/svg/home/Money Making.svg b/magisk_suni/webroot/img/svg/home/Money Making.svg similarity index 100% rename from magisk/webroot/img/svg/home/Money Making.svg rename to magisk_suni/webroot/img/svg/home/Money Making.svg diff --git a/magisk/webroot/img/svg/home/chrome.svg b/magisk_suni/webroot/img/svg/home/chrome.svg similarity index 100% rename from magisk/webroot/img/svg/home/chrome.svg rename to magisk_suni/webroot/img/svg/home/chrome.svg diff --git "a/magisk/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" "b/magisk_suni/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" rename to "magisk_suni/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" diff --git a/magisk/webroot/img/svg/home/vite.svg b/magisk_suni/webroot/img/svg/home/vite.svg similarity index 100% rename from magisk/webroot/img/svg/home/vite.svg rename to magisk_suni/webroot/img/svg/home/vite.svg diff --git a/magisk/webroot/img/svg/home/vue.svg b/magisk_suni/webroot/img/svg/home/vue.svg similarity index 100% rename from magisk/webroot/img/svg/home/vue.svg rename to magisk_suni/webroot/img/svg/home/vue.svg diff --git "a/magisk/webroot/img/svg/home/\345\206\273\347\273\223.svg" "b/magisk_suni/webroot/img/svg/home/\345\206\273\347\273\223.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\345\206\273\347\273\223.svg" rename to "magisk_suni/webroot/img/svg/home/\345\206\273\347\273\223.svg" diff --git "a/magisk/webroot/img/svg/home/\345\234\272\346\231\257.svg" "b/magisk_suni/webroot/img/svg/home/\345\234\272\346\231\257.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\345\234\272\346\231\257.svg" rename to "magisk_suni/webroot/img/svg/home/\345\234\272\346\231\257.svg" diff --git "a/magisk/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" "b/magisk_suni/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" rename to "magisk_suni/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" diff --git "a/magisk/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" "b/magisk_suni/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" rename to "magisk_suni/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" diff --git "a/magisk/webroot/img/svg/home/\346\217\222\344\273\266.svg" "b/magisk_suni/webroot/img/svg/home/\346\217\222\344\273\266.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\346\217\222\344\273\266.svg" rename to "magisk_suni/webroot/img/svg/home/\346\217\222\344\273\266.svg" diff --git "a/magisk/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" "b/magisk_suni/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" rename to "magisk_suni/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" diff --git "a/magisk/webroot/img/svg/home/\346\233\264\346\226\260.svg" "b/magisk_suni/webroot/img/svg/home/\346\233\264\346\226\260.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\346\233\264\346\226\260.svg" rename to "magisk_suni/webroot/img/svg/home/\346\233\264\346\226\260.svg" diff --git "a/magisk/webroot/img/svg/home/\346\236\201\350\207\264.svg" "b/magisk_suni/webroot/img/svg/home/\346\236\201\350\207\264.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\346\236\201\350\207\264.svg" rename to "magisk_suni/webroot/img/svg/home/\346\236\201\350\207\264.svg" diff --git "a/magisk/webroot/img/svg/home/\347\256\200\345\215\225.svg" "b/magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\347\256\200\345\215\225.svg" rename to "magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225.svg" diff --git "a/magisk/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" "b/magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" rename to "magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" diff --git "a/magisk/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" "b/magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" rename to "magisk_suni/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" diff --git "a/magisk/webroot/img/svg/home/\351\253\230\346\225\210.svg" "b/magisk_suni/webroot/img/svg/home/\351\253\230\346\225\210.svg" similarity index 100% rename from "magisk/webroot/img/svg/home/\351\253\230\346\225\210.svg" rename to "magisk_suni/webroot/img/svg/home/\351\253\230\346\225\210.svg" diff --git a/magisk/webroot/img/svg/insight.svg b/magisk_suni/webroot/img/svg/insight.svg similarity index 100% rename from magisk/webroot/img/svg/insight.svg rename to magisk_suni/webroot/img/svg/insight.svg diff --git a/magisk/webroot/img/svg/knowledge.svg b/magisk_suni/webroot/img/svg/knowledge.svg similarity index 100% rename from magisk/webroot/img/svg/knowledge.svg rename to magisk_suni/webroot/img/svg/knowledge.svg diff --git a/magisk/webroot/img/svg/number/1.svg b/magisk_suni/webroot/img/svg/number/1.svg similarity index 100% rename from magisk/webroot/img/svg/number/1.svg rename to magisk_suni/webroot/img/svg/number/1.svg diff --git a/magisk/webroot/img/svg/number/2.svg b/magisk_suni/webroot/img/svg/number/2.svg similarity index 100% rename from magisk/webroot/img/svg/number/2.svg rename to magisk_suni/webroot/img/svg/number/2.svg diff --git a/magisk/webroot/index.html b/magisk_suni/webroot/index.html similarity index 100% rename from magisk/webroot/index.html rename to magisk_suni/webroot/index.html diff --git a/magisk/webroot/join.html b/magisk_suni/webroot/join.html similarity index 100% rename from magisk/webroot/join.html rename to magisk_suni/webroot/join.html diff --git a/magisk/webroot/log.html b/magisk_suni/webroot/log.html similarity index 100% rename from magisk/webroot/log.html rename to magisk_suni/webroot/log.html diff --git a/magisk/webroot/md-enhance-guide.html b/magisk_suni/webroot/md-enhance-guide.html similarity index 100% rename from magisk/webroot/md-enhance-guide.html rename to magisk_suni/webroot/md-enhance-guide.html diff --git a/magisk/webroot/sitemap.xml b/magisk_suni/webroot/sitemap.xml similarity index 100% rename from magisk/webroot/sitemap.xml rename to magisk_suni/webroot/sitemap.xml diff --git "a/magisk/webroot/svg/123\344\272\221\347\233\230.svg" "b/magisk_suni/webroot/svg/123\344\272\221\347\233\230.svg" similarity index 100% rename from "magisk/webroot/svg/123\344\272\221\347\233\230.svg" rename to "magisk_suni/webroot/svg/123\344\272\221\347\233\230.svg" diff --git a/magisk/webroot/svg/alipay (1).svg b/magisk_suni/webroot/svg/alipay (1).svg similarity index 100% rename from magisk/webroot/svg/alipay (1).svg rename to magisk_suni/webroot/svg/alipay (1).svg diff --git a/magisk/webroot/svg/alipay.svg b/magisk_suni/webroot/svg/alipay.svg similarity index 100% rename from magisk/webroot/svg/alipay.svg rename to magisk_suni/webroot/svg/alipay.svg diff --git a/magisk/webroot/svg/alist.svg b/magisk_suni/webroot/svg/alist.svg similarity index 100% rename from magisk/webroot/svg/alist.svg rename to magisk_suni/webroot/svg/alist.svg diff --git a/magisk/webroot/svg/baidu (1).svg b/magisk_suni/webroot/svg/baidu (1).svg similarity index 100% rename from magisk/webroot/svg/baidu (1).svg rename to magisk_suni/webroot/svg/baidu (1).svg diff --git a/magisk/webroot/svg/baidu-drive (1).svg b/magisk_suni/webroot/svg/baidu-drive (1).svg similarity index 100% rename from magisk/webroot/svg/baidu-drive (1).svg rename to magisk_suni/webroot/svg/baidu-drive (1).svg diff --git a/magisk/webroot/svg/baidu-drive.svg b/magisk_suni/webroot/svg/baidu-drive.svg similarity index 100% rename from magisk/webroot/svg/baidu-drive.svg rename to magisk_suni/webroot/svg/baidu-drive.svg diff --git a/magisk/webroot/svg/baidu.svg b/magisk_suni/webroot/svg/baidu.svg similarity index 100% rename from magisk/webroot/svg/baidu.svg rename to magisk_suni/webroot/svg/baidu.svg diff --git a/magisk/webroot/svg/bilibili (1).svg b/magisk_suni/webroot/svg/bilibili (1).svg similarity index 100% rename from magisk/webroot/svg/bilibili (1).svg rename to magisk_suni/webroot/svg/bilibili (1).svg diff --git a/magisk/webroot/svg/bilibili.svg b/magisk_suni/webroot/svg/bilibili.svg similarity index 100% rename from magisk/webroot/svg/bilibili.svg rename to magisk_suni/webroot/svg/bilibili.svg diff --git a/magisk/webroot/svg/btc (1).svg b/magisk_suni/webroot/svg/btc (1).svg similarity index 100% rename from magisk/webroot/svg/btc (1).svg rename to magisk_suni/webroot/svg/btc (1).svg diff --git a/magisk/webroot/svg/btc.svg b/magisk_suni/webroot/svg/btc.svg similarity index 100% rename from magisk/webroot/svg/btc.svg rename to magisk_suni/webroot/svg/btc.svg diff --git a/magisk/webroot/svg/circle-Git-hub.svg b/magisk_suni/webroot/svg/circle-Git-hub.svg similarity index 100% rename from magisk/webroot/svg/circle-Git-hub.svg rename to magisk_suni/webroot/svg/circle-Git-hub.svg diff --git a/magisk/webroot/svg/cocogoat (1).svg b/magisk_suni/webroot/svg/cocogoat (1).svg similarity index 100% rename from magisk/webroot/svg/cocogoat (1).svg rename to magisk_suni/webroot/svg/cocogoat (1).svg diff --git a/magisk/webroot/svg/cocogoat.svg b/magisk_suni/webroot/svg/cocogoat.svg similarity index 100% rename from magisk/webroot/svg/cocogoat.svg rename to magisk_suni/webroot/svg/cocogoat.svg diff --git a/magisk/webroot/svg/eth (1).svg b/magisk_suni/webroot/svg/eth (1).svg similarity index 100% rename from magisk/webroot/svg/eth (1).svg rename to magisk_suni/webroot/svg/eth (1).svg diff --git a/magisk/webroot/svg/eth.svg b/magisk_suni/webroot/svg/eth.svg similarity index 100% rename from magisk/webroot/svg/eth.svg rename to magisk_suni/webroot/svg/eth.svg diff --git a/magisk/webroot/svg/gitee (1).svg b/magisk_suni/webroot/svg/gitee (1).svg similarity index 100% rename from magisk/webroot/svg/gitee (1).svg rename to magisk_suni/webroot/svg/gitee (1).svg diff --git a/magisk/webroot/svg/gitee.svg b/magisk_suni/webroot/svg/gitee.svg similarity index 100% rename from magisk/webroot/svg/gitee.svg rename to magisk_suni/webroot/svg/gitee.svg diff --git a/magisk/webroot/svg/github (1).svg b/magisk_suni/webroot/svg/github (1).svg similarity index 100% rename from magisk/webroot/svg/github (1).svg rename to magisk_suni/webroot/svg/github (1).svg diff --git a/magisk/webroot/svg/github.svg b/magisk_suni/webroot/svg/github.svg similarity index 100% rename from magisk/webroot/svg/github.svg rename to magisk_suni/webroot/svg/github.svg diff --git a/magisk/webroot/svg/mys (1).svg b/magisk_suni/webroot/svg/mys (1).svg similarity index 100% rename from magisk/webroot/svg/mys (1).svg rename to magisk_suni/webroot/svg/mys (1).svg diff --git a/magisk/webroot/svg/mys.svg b/magisk_suni/webroot/svg/mys.svg similarity index 100% rename from magisk/webroot/svg/mys.svg rename to magisk_suni/webroot/svg/mys.svg diff --git a/magisk/webroot/svg/paypal (1).svg b/magisk_suni/webroot/svg/paypal (1).svg similarity index 100% rename from magisk/webroot/svg/paypal (1).svg rename to magisk_suni/webroot/svg/paypal (1).svg diff --git a/magisk/webroot/svg/paypal.svg b/magisk_suni/webroot/svg/paypal.svg similarity index 100% rename from magisk/webroot/svg/paypal.svg rename to magisk_suni/webroot/svg/paypal.svg diff --git a/magisk/webroot/svg/qq (1).svg b/magisk_suni/webroot/svg/qq (1).svg similarity index 100% rename from magisk/webroot/svg/qq (1).svg rename to magisk_suni/webroot/svg/qq (1).svg diff --git a/magisk/webroot/svg/qq-channel (1).svg b/magisk_suni/webroot/svg/qq-channel (1).svg similarity index 100% rename from magisk/webroot/svg/qq-channel (1).svg rename to magisk_suni/webroot/svg/qq-channel (1).svg diff --git a/magisk/webroot/svg/qq-channel.svg b/magisk_suni/webroot/svg/qq-channel.svg similarity index 100% rename from magisk/webroot/svg/qq-channel.svg rename to magisk_suni/webroot/svg/qq-channel.svg diff --git a/magisk/webroot/svg/qq-fill (1).svg b/magisk_suni/webroot/svg/qq-fill (1).svg similarity index 100% rename from magisk/webroot/svg/qq-fill (1).svg rename to magisk_suni/webroot/svg/qq-fill (1).svg diff --git a/magisk/webroot/svg/qq-fill.svg b/magisk_suni/webroot/svg/qq-fill.svg similarity index 100% rename from magisk/webroot/svg/qq-fill.svg rename to magisk_suni/webroot/svg/qq-fill.svg diff --git a/magisk/webroot/svg/qq.svg b/magisk_suni/webroot/svg/qq.svg similarity index 100% rename from magisk/webroot/svg/qq.svg rename to magisk_suni/webroot/svg/qq.svg diff --git a/magisk/webroot/svg/qqpay (1).svg b/magisk_suni/webroot/svg/qqpay (1).svg similarity index 100% rename from magisk/webroot/svg/qqpay (1).svg rename to magisk_suni/webroot/svg/qqpay (1).svg diff --git a/magisk/webroot/svg/qqpay.svg b/magisk_suni/webroot/svg/qqpay.svg similarity index 100% rename from magisk/webroot/svg/qqpay.svg rename to magisk_suni/webroot/svg/qqpay.svg diff --git a/magisk/webroot/svg/quark-drive (1).svg b/magisk_suni/webroot/svg/quark-drive (1).svg similarity index 100% rename from magisk/webroot/svg/quark-drive (1).svg rename to magisk_suni/webroot/svg/quark-drive (1).svg diff --git a/magisk/webroot/svg/quark-drive.svg b/magisk_suni/webroot/svg/quark-drive.svg similarity index 100% rename from magisk/webroot/svg/quark-drive.svg rename to magisk_suni/webroot/svg/quark-drive.svg diff --git a/magisk/webroot/svg/reddit (1).svg b/magisk_suni/webroot/svg/reddit (1).svg similarity index 100% rename from magisk/webroot/svg/reddit (1).svg rename to magisk_suni/webroot/svg/reddit (1).svg diff --git a/magisk/webroot/svg/reddit.svg b/magisk_suni/webroot/svg/reddit.svg similarity index 100% rename from magisk/webroot/svg/reddit.svg rename to magisk_suni/webroot/svg/reddit.svg diff --git a/magisk/webroot/svg/release.svg b/magisk_suni/webroot/svg/release.svg similarity index 100% rename from magisk/webroot/svg/release.svg rename to magisk_suni/webroot/svg/release.svg diff --git a/magisk/webroot/svg/tianyi-drive (1).svg b/magisk_suni/webroot/svg/tianyi-drive (1).svg similarity index 100% rename from magisk/webroot/svg/tianyi-drive (1).svg rename to magisk_suni/webroot/svg/tianyi-drive (1).svg diff --git a/magisk/webroot/svg/tianyi-drive.svg b/magisk_suni/webroot/svg/tianyi-drive.svg similarity index 100% rename from magisk/webroot/svg/tianyi-drive.svg rename to magisk_suni/webroot/svg/tianyi-drive.svg diff --git a/magisk/webroot/svg/topic (1).svg b/magisk_suni/webroot/svg/topic (1).svg similarity index 100% rename from magisk/webroot/svg/topic (1).svg rename to magisk_suni/webroot/svg/topic (1).svg diff --git a/magisk/webroot/svg/topic.svg b/magisk_suni/webroot/svg/topic.svg similarity index 100% rename from magisk/webroot/svg/topic.svg rename to magisk_suni/webroot/svg/topic.svg diff --git a/magisk/webroot/svg/txc (1).svg b/magisk_suni/webroot/svg/txc (1).svg similarity index 100% rename from magisk/webroot/svg/txc (1).svg rename to magisk_suni/webroot/svg/txc (1).svg diff --git a/magisk/webroot/svg/txc.svg b/magisk_suni/webroot/svg/txc.svg similarity index 100% rename from magisk/webroot/svg/txc.svg rename to magisk_suni/webroot/svg/txc.svg diff --git a/magisk/webroot/svg/wechatpay (1).svg b/magisk_suni/webroot/svg/wechatpay (1).svg similarity index 100% rename from magisk/webroot/svg/wechatpay (1).svg rename to magisk_suni/webroot/svg/wechatpay (1).svg diff --git a/magisk/webroot/svg/wechatpay.svg b/magisk_suni/webroot/svg/wechatpay.svg similarity index 100% rename from magisk/webroot/svg/wechatpay.svg rename to magisk_suni/webroot/svg/wechatpay.svg diff --git a/magisk/webroot/svg/wxtl (1).svg b/magisk_suni/webroot/svg/wxtl (1).svg similarity index 100% rename from magisk/webroot/svg/wxtl (1).svg rename to magisk_suni/webroot/svg/wxtl (1).svg diff --git a/magisk/webroot/svg/wxtl.svg b/magisk_suni/webroot/svg/wxtl.svg similarity index 100% rename from magisk/webroot/svg/wxtl.svg rename to magisk_suni/webroot/svg/wxtl.svg diff --git "a/magisk/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" "b/magisk_suni/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" similarity index 100% rename from "magisk/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" rename to "magisk_suni/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" diff --git "a/magisk/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" "b/magisk_suni/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" similarity index 100% rename from "magisk/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" rename to "magisk_suni/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" diff --git a/magisk/webroot/team.html b/magisk_suni/webroot/team.html similarity index 100% rename from magisk/webroot/team.html rename to magisk_suni/webroot/team.html diff --git a/magisk/webroot/video/Bande-annonce.mp3 b/magisk_suni/webroot/video/Bande-annonce.mp3 similarity index 100% rename from magisk/webroot/video/Bande-annonce.mp3 rename to magisk_suni/webroot/video/Bande-annonce.mp3 diff --git "a/magisk/webroot/\350\212\231\345\256\201\345\250\234.png" "b/magisk_suni/webroot/\350\212\231\345\256\201\345\250\234.png" similarity index 100% rename from "magisk/webroot/\350\212\231\345\256\201\345\250\234.png" rename to "magisk_suni/webroot/\350\212\231\345\256\201\345\250\234.png" diff --git "a/magisk/webroot/\351\230\277\345\272\223\345\250\205.png" "b/magisk_suni/webroot/\351\230\277\345\272\223\345\250\205.png" similarity index 100% rename from "magisk/webroot/\351\230\277\345\272\223\345\250\205.png" rename to "magisk_suni/webroot/\351\230\277\345\272\223\345\250\205.png" diff --git a/maisk_fiage/CuDaemon b/maisk_fiage/CuDaemon new file mode 100644 index 0000000..c10ae70 Binary files /dev/null and b/maisk_fiage/CuDaemon differ diff --git a/maisk_fiage/META-INF/com/google/android/update-binary b/maisk_fiage/META-INF/com/google/android/update-binary new file mode 100644 index 0000000..28b48e5 --- /dev/null +++ b/maisk_fiage/META-INF/com/google/android/update-binary @@ -0,0 +1,33 @@ +#!/sbin/sh + +################# +# Initialization +################# + +umask 022 + +# echo before loading util_functions +ui_print() { echo "$1"; } + +require_new_magisk() { + ui_print "*******************************" + ui_print " Please install Magisk v20.4+! " + ui_print "*******************************" + exit 1 +} + +######################### +# Load util_functions.sh +######################### + +OUTFD=$2 +ZIPFILE=$3 + +mount /data 2>/dev/null + +[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk +. /data/adb/magisk/util_functions.sh +[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk + +install_module +exit 0 diff --git a/maisk_fiage/META-INF/com/google/android/updater-script b/maisk_fiage/META-INF/com/google/android/updater-script new file mode 100644 index 0000000..11d5c96 --- /dev/null +++ b/maisk_fiage/META-INF/com/google/android/updater-script @@ -0,0 +1 @@ +#MAGISK diff --git a/maisk_fiage/action.sh b/maisk_fiage/action.sh new file mode 100644 index 0000000..7166fe2 --- /dev/null +++ b/maisk_fiage/action.sh @@ -0,0 +1,3 @@ +URL="https://github.com/TimeBreeze/Tritium/issues/new?assignees=&labels=&projects=&template=bug-%E5%8F%8D%E9%A6%88.md&title=" +am start -a android.intent.action.VIEW -d "$URL" +exit 0 \ No newline at end of file diff --git a/maisk_fiage/configs/_config_select.sh b/maisk_fiage/configs/_config_select.sh new file mode 100644 index 0000000..a7c2711 --- /dev/null +++ b/maisk_fiage/configs/_config_select.sh @@ -0,0 +1,284 @@ +#!/system/bin/sh + +get_pineapple_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ "$cpu_max_freq" -gt 3200000 ]; then + echo "sdm8gen3" + else + echo "sdm7+gen3" + fi +} + +get_taro_name() { + cpu7_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + gpu_max_freq=$(cat /sys/class/kgsl/kgsl-3d0/max_clock_mhz) + if [ "$cpu7_max_freq" -gt 3100000 ]; then + echo "sdm8+gen1" + elif [ "$cpu7_max_freq" -gt 2950000 ]; then + if [ "$gpu_max_freq" -gt 850 ]; then + echo "sdm8+gen1" + else + echo "sdm8gen1" + fi + elif [ "$cpu7_max_freq" -gt 2900000 ]; then + echo "sdm7+gen2" + else + echo "sdm7gen1" + fi +} + +get_lahaina_name() { + cpu7_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + cpu4_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_max_freq) + if [ "$cpu7_max_freq" -gt 2800000 ]; then + echo "sdm888" + elif [ "$cpu4_max_freq" -gt 2300000 ]; then + echo "sdm778" + else + echo "sdm780" + fi +} + +get_lito_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ "$cpu_max_freq" -gt 2300000 ]; then + echo "sdm765" + else + echo "sdm750" + fi +} + +get_sm6150_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ "$cpu_max_freq" -gt 2200000 ]; then + echo "sdm730" + else + echo "sdm675" + fi +} + +get_mt6895_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ "$cpu_max_freq" -gt 3000000 ]; then + echo "dimensity8200" + else + echo "dimensity8100" + fi +} + +get_bengal_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ "$cpu_max_freq" -gt 2300000 ]; then + echo "sdm680" + else + echo "sdm665" + fi +} + +get_config_name() { + case "$1" in + crow*) + echo "sdm7gen3" + ;; + garnet*) + echo "sdm6gen1" + ;; + parrot*) + echo "sdm6gen1" + ;; + pineapple*) + get_pineapple_name + ;; + sunstone*) + echo "sdm4gen1" + ;; + sky*) + echo "sdm4gen2" + ;; + kalama*) + echo "sdm8gen2" + ;; + taro*) + get_taro_name + ;; + lahaina*) + get_lahaina_name + ;; + shima*) + get_lahaina_name + ;; + yupik*) + get_lahaina_name + ;; + kona*) + echo "sdm865" + ;; + msmnile*) + echo "sdm855" + ;; + sdm845*) + echo "sdm845" + ;; + lito*) + get_lito_name + ;; + sm7150*) + echo "sdm730" + ;; + sm6150*) + get_sm6150_name + ;; + sdm670*) + echo "sdm710" + ;; + sdm710*) + echo "sdm710" + ;; + sdm439*) + echo "sdm439" + ;; + sdm450*) + echo "sdm625" + ;; + sdm4350*) + echo "sdm730" + ;; + msm8953*) + echo "sdm625" + ;; + sdm660*) + echo "sdm660" + ;; + sdm636*) + echo "sdm660" + ;; + sdm632*) + echo "sdm660" + ;; + sdm630*) + echo "sdm630" + ;; + trinket*) + echo "sdm665" + ;; + bengal*) + get_bengal_name + ;; + holi*) + echo "sdm4gen1" + ;; + msm8998*) + echo "sdm835" + ;; + msm8996*) + echo "sdm820" + ;; + mt6771*) + echo "helio_p60" + ;; + mt6779*) + echo "helio_g80" + ;; + mt6762*) + echo "helio_p35" + ;; + mt6765*) + echo "helio_p35" + ;; + mt6768*) + echo "helio_g80" + ;; + mt6785*) + echo "helio_g90" + ;; + mt6789*) + echo "helio_g99" + ;; + mt6833*) + echo "dimensity700" + ;; + mt6835*) + echo "helio_g99" + ;; + mt6853*) + echo "dimensity700" + ;; + mt6873*) + echo "dimensity820" + ;; + mt6875*) + echo "dimensity820" + ;; + mt6877*) + echo "dimensity900" + ;; + mt6885*) + echo "dimensity1000" + ;; + mt6886*) + echo "dimensity7200" + ;; + mt6889*) + echo "dimensity1000" + ;; + mt6891*) + echo "dimensity1100" + ;; + mt6893*) + echo "dimensity1100" + ;; + mt6895*) + get_mt6895_name + ;; + mt6983*) + echo "dimensity9000" + ;; + mt6985*) + echo "dimensity9200" + ;; + mt6989*) + echo "dimensity9300" + ;; + kirin970*) + echo "kirin970" + ;; + hi3670*) + echo "kirin970" + ;; + hi3660*) + echo "kirin960" + ;; + hi3650*) + echo "kirin950" + ;; + kirin710*) + echo "kirin710" + ;; + hi6250*) + echo "kirin650" + ;; + sp9863a*) + echo "sc9863a" + ;; + ums512*) + echo "unisoc_t618" + ;; + ud710*) + echo "unisoc_t740" + ;; + ums9620*) + echo "unisoc_t770" + ;; + ums9230*) + echo "unisoc_t618" + ;; + *) + echo "universal" + ;; + esac +} + +platform_name=$(getprop "ro.board.platform") +config_name=$(get_config_name "$platform_name") + +echo "$config_name" diff --git a/maisk_fiage/configs/dimensity1000.json b/maisk_fiage/configs/dimensity1000.json new file mode 100644 index 0000000..9c0da3f --- /dev/null +++ b/maisk_fiage/configs/dimensity1000.json @@ -0,0 +1,677 @@ +{ + "name": "Dimensity1000+", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 55, + "idleRateHz": 35, + "activeDelay": 2000, + "minFreqStep": 240 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 2000, + "modelPower": 290 + }, + { + "coreNum": 4, + "perfScale": 300, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2600, + "modelPower": 1500 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 15, + "boost": 10 + }, + "swipe": { + "durationTime": 270, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 10 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 10, + "boost": 40 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 15, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4600, + "perfMargin": [30, 55], + "upRateLatency": 50, + "overHeatTemp": 75, + "burstCapacity": 20000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 330, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "swipe": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 600, + "lowLatency": true, + "extraMargin": 10, + "boost": 25 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 30], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 350, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 2000, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "surfaceflinger": { + "pkgName": null, + "symbol": "[Ss]urface[Ff]linger*" + }, + "system_server": { + "pkgName": "system_server", + "symbol": null + }, + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "native_game": { + "pkgName": "*(ea.game.|gameloft.|kiloo.|sybogames.|yodo1.|rockstargames.|corrodinggames.)*", + "symbol": null + }, + "benchmark": { + "pkgName": "*[Bb]ench*|com.futuremark.*|*ioncannon.*|*.probe|*.devcheck", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "surfaceflinger": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(RenderEngine|OverlayEngine|app)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "system_server": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "android.*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "native_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Thread-|GameThread|NativeThread|MainThread|RenderThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|FMOD)*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -16 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": true, + "voltAdjust": { + "minVolt": 0, + "maxVolt": 100000, + "voltOffset": 0 + }, + "ddrBoosts": [ + { + "gpuFreq": 0, + "ddrMinFreq": 1200 + }, + { + "gpuFreq": 300, + "ddrMinFreq": 1800 + }, + { + "gpuFreq": 400, + "ddrMinFreq": 2400 + }, + { + "gpuFreq": 500, + "ddrMinFreq": 3000 + }, + { + "gpuFreq": 600, + "ddrMinFreq": 3600 + } + ], + "modes": { + "powersave": { + "maxFreq": 420, + "minFreq": 200, + "upRateThres": 90, + "downRateDiff": 10 + }, + "balance": { + "maxFreq": 550, + "minFreq": 270, + "upRateThres": 75, + "downRateDiff": 10 + }, + "performance": { + "maxFreq": 600, + "minFreq": 370, + "upRateThres": 55, + "downRateDiff": 20 + }, + "fast": { + "maxFreq": 850, + "minFreq": 800, + "upRateThres": 30, + "downRateDiff": 25 + } + } + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/dimensity8100.json b/maisk_fiage/configs/dimensity8100.json new file mode 100644 index 0000000..ff59740 --- /dev/null +++ b/maisk_fiage/configs/dimensity8100.json @@ -0,0 +1,693 @@ +{ + "name": "Dimensity8000/8100", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 2000, + "modelPower": 300 + }, + { + "coreNum": 3, + "perfScale": 320, + "lowPowerFreq": 700, + "optimalFreq": 1900, + "modelFreq": 2850, + "modelPower": 1480 + }, + { + "coreNum": 1, + "perfScale": 320, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2850, + "modelPower": 1500 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2700, + "perfMargin": [10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 60, + "burstCapacity": 12000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 10, + "boost": 25 + }, + "bigJank": { + "durationTime": 920, + "lowLatency": true, + "extraMargin": 15, + "boost": 30 + } + } + }, + "performance": { + "powerLimit": 4800, + "perfMargin": [10, 20, 35], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 16000, + "recoverTime": 4300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 350, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "swipe": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 30, 30], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "surfaceflinger": { + "pkgName": null, + "symbol": "[Ss]urface[Ff]linger*" + }, + "system_server": { + "pkgName": "system_server", + "symbol": null + }, + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "native_game": { + "pkgName": "*(ea.game.|gameloft.|kiloo.|sybogames.|yodo1.|rockstargames.|corrodinggames.)*", + "symbol": null + }, + "benchmark": { + "pkgName": "*[Bb]ench*|com.futuremark.*|*ioncannon.*|*.probe|*.devcheck", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "surfaceflinger": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(RenderEngine|OverlayEngine|app)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "system_server": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "android.*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "native_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Thread-|GameThread|NativeThread|MainThread|RenderThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|FMOD)*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -16 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": true, + "voltAdjust": { + "minVolt": 0, + "maxVolt": 100000, + "voltOffset": 0 + }, + "ddrBoosts": [ + { + "gpuFreq": 0, + "ddrMinFreq": 1866 + }, + { + "gpuFreq": 200, + "ddrMinFreq": 2133 + }, + { + "gpuFreq": 300, + "ddrMinFreq": 2667 + }, + { + "gpuFreq": 400, + "ddrMinFreq": 3200 + }, + { + "gpuFreq": 500, + "ddrMinFreq": 3930 + }, + { + "gpuFreq": 600, + "ddrMinFreq": 5500 + }, + { + "gpuFreq": 700, + "ddrMinFreq": 6400 + } + ], + "modes": { + "powersave": { + "maxFreq": 390, + "minFreq": 150, + "upRateThres": 90, + "downRateDiff": 10 + }, + "balance": { + "maxFreq": 570, + "minFreq": 230, + "upRateThres": 85, + "downRateDiff": 20 + }, + "performance": { + "maxFreq": 600, + "minFreq": 340, + "upRateThres": 60, + "downRateDiff": 35 + }, + "fast": { + "maxFreq": 850, + "minFreq": 800, + "upRateThres": 20, + "downRateDiff": 20 + } + } + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/dimensity8200.json b/maisk_fiage/configs/dimensity8200.json new file mode 100644 index 0000000..672f901 --- /dev/null +++ b/maisk_fiage/configs/dimensity8200.json @@ -0,0 +1,693 @@ +{ + "name": "Dimensity8200", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 2000, + "modelPower": 300 + }, + { + "coreNum": 3, + "perfScale": 320, + "lowPowerFreq": 700, + "optimalFreq": 1900, + "modelFreq": 3000, + "modelPower": 1800 + }, + { + "coreNum": 1, + "perfScale": 320, + "lowPowerFreq": 800, + "optimalFreq": 1900, + "modelFreq": 3100, + "modelPower": 2000 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [10, 15, 28], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 10, + "boost": 25 + }, + "bigJank": { + "durationTime": 870, + "lowLatency": true, + "extraMargin": 15, + "boost": 30 + } + } + }, + "performance": { + "powerLimit": 4700, + "perfMargin": [10, 20, 35], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4400, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 350, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "swipe": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 25 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 30, 30], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "surfaceflinger": { + "pkgName": null, + "symbol": "[Ss]urface[Ff]linger*" + }, + "system_server": { + "pkgName": "system_server", + "symbol": null + }, + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "native_game": { + "pkgName": "*(ea.game.|gameloft.|kiloo.|sybogames.|yodo1.|rockstargames.|corrodinggames.)*", + "symbol": null + }, + "benchmark": { + "pkgName": "*[Bb]ench*|com.futuremark.*|*ioncannon.*|*.probe|*.devcheck", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "surfaceflinger": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(RenderEngine|OverlayEngine|app)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "system_server": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "android.*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "native_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Thread-|GameThread|NativeThread|MainThread|RenderThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|FMOD)*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -16 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": true, + "voltAdjust": { + "minVolt": 0, + "maxVolt": 100000, + "voltOffset": 0 + }, + "ddrBoosts": [ + { + "gpuFreq": 0, + "ddrMinFreq": 1866 + }, + { + "gpuFreq": 200, + "ddrMinFreq": 2133 + }, + { + "gpuFreq": 300, + "ddrMinFreq": 2667 + }, + { + "gpuFreq": 400, + "ddrMinFreq": 3200 + }, + { + "gpuFreq": 500, + "ddrMinFreq": 3930 + }, + { + "gpuFreq": 600, + "ddrMinFreq": 5500 + }, + { + "gpuFreq": 700, + "ddrMinFreq": 6400 + } + ], + "modes": { + "powersave": { + "maxFreq": 320, + "minFreq": 210, + "upRateThres": 90, + "downRateDiff": 10 + }, + "balance": { + "maxFreq": 560, + "minFreq": 280, + "upRateThres": 85, + "downRateDiff": 20 + }, + "performance": { + "maxFreq": 600, + "minFreq": 360, + "upRateThres": 55, + "downRateDiff": 35 + }, + "fast": { + "maxFreq": 950, + "minFreq": 910, + "upRateThres": 20, + "downRateDiff": 20 + } + } + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/dimensity9200.json b/maisk_fiage/configs/dimensity9200.json new file mode 100644 index 0000000..4ceb080 --- /dev/null +++ b/maisk_fiage/configs/dimensity9200.json @@ -0,0 +1,697 @@ +{ + "name": "Dimensity9200/9200+", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 120, + "lowPowerFreq": 220, + "optimalFreq": 1600, + "modelFreq": 2000, + "modelPower": 360 + }, + { + "coreNum": 3, + "perfScale": 340, + "lowPowerFreq": 400, + "optimalFreq": 2100, + "modelFreq": 3000, + "modelPower": 1900 + }, + { + "coreNum": 1, + "perfScale": 460, + "lowPowerFreq": 1200, + "optimalFreq": 2400, + "modelFreq": 3350, + "modelPower": 3120 + } + ], + "modes": { + "powersave": { + "powerLimit": 1830, + "perfMargin": [13, 15, 18], + "upRateLatency": 700, + "overHeatTemp": 65, + "burstCapacity": 9500, + "recoverTime": 2500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 150, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "swipe": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2800, + "perfMargin": [10, 15, 20], + "upRateLatency": 440, + "overHeatTemp": 70, + "burstCapacity": 21500, + "recoverTime": 4500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 170, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "swipe": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "gesture": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4600, + "perfMargin": [10, 25, 30], + "upRateLatency": 80, + "overHeatTemp": 80, + "burstCapacity": 20000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 240, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "swipe": { + "durationTime": 310, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "jank": { + "durationTime": 600, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 30, 30], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "swipe": { + "durationTime": 200, + "lowLatency": false, + "extraMargin": 10, + "boost": 0 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "surfaceflinger": { + "pkgName": null, + "symbol": "[Ss]urface[Ff]linger*" + }, + "system_server": { + "pkgName": "system_server", + "symbol": null + }, + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "native_game": { + "pkgName": "*(ea.game.|gameloft.|kiloo.|sybogames.|yodo1.|rockstargames.|corrodinggames.)*", + "symbol": null + }, + "benchmark": { + "pkgName": "*[Bb]ench*|com.futuremark.*|*ioncannon.*|*.probe|*.devcheck", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "surfaceflinger": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(RenderEngine|OverlayEngine|app)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "system_server": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "android.*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "FMOD*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "native_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Thread-|GameThread|NativeThread|MainThread|RenderThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|FMOD)*|*(Audio|Media)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -16 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": true, + "voltAdjust": { + "minVolt": 0, + "maxVolt": 100000, + "voltOffset": 0 + }, + "ddrBoosts": [ + { + "gpuFreq": 0, + "ddrMinFreq": 2133 + }, + { + "gpuFreq": 200, + "ddrMinFreq": 2667 + }, + { + "gpuFreq": 300, + "ddrMinFreq": 3200 + }, + { + "gpuFreq": 400, + "ddrMinFreq": 4266 + }, + { + "gpuFreq": 500, + "ddrMinFreq": 5500 + }, + { + "gpuFreq": 600, + "ddrMinFreq": 6400 + }, + { + "gpuFreq": 700, + "ddrMinFreq": 7500 + }, + { + "gpuFreq": 800, + "ddrMinFreq": 8532 + } + ], + "modes": { + "powersave": { + "maxFreq": 300, + "minFreq": 150, + "upRateThres": 90, + "downRateDiff": 10 + }, + "balance": { + "maxFreq": 500, + "minFreq": 200, + "upRateThres": 85, + "downRateDiff": 10 + }, + "performance": { + "maxFreq": 590, + "minFreq": 290, + "upRateThres": 75, + "downRateDiff": 20 + }, + "fast": { + "maxFreq": 1150, + "minFreq": 860, + "upRateThres": 40, + "downRateDiff": 35 + } + } + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm7+gen2.json b/maisk_fiage/configs/sdm7+gen2.json new file mode 100644 index 0000000..f0836a5 --- /dev/null +++ b/maisk_fiage/configs/sdm7+gen2.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon7+Gen2", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 120, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1800, + "modelPower": 400 + }, + { + "coreNum": 3, + "perfScale": 330, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2500, + "modelPower": 1600 + }, + { + "coreNum": 1, + "perfScale": 420, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2910, + "modelPower": 2140 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 14000, + "recoverTime": 4500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 15, + "boost": 20 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 5, + "boost": 45 + }, + "bigJank": { + "durationTime": 900, + "lowLatency": true, + "extraMargin": 10, + "boost": 50 + } + } + }, + "performance": { + "powerLimit": 4500, + "perfMargin": [15, 20, 30], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 16000, + "recoverTime": 4300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 250, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 470, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 5, + "boost": 0 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": true, + "extraMargin": 20, + "boost": 25 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [100, 100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm7+gen3.json b/maisk_fiage/configs/sdm7+gen3.json new file mode 100644 index 0000000..2e63a79 --- /dev/null +++ b/maisk_fiage/configs/sdm7+gen3.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon7+Gen3/8sGen3", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 3, + "perfScale": 130, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1900, + "modelPower": 400 + }, + { + "coreNum": 4, + "perfScale": 370, + "lowPowerFreq": 700, + "optimalFreq": 2000, + "modelFreq": 2610, + "modelPower": 1550 + }, + { + "coreNum": 1, + "perfScale": 500, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2800, + "modelPower": 2720 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2700, + "perfMargin": [10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 4500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 210, + "lowLatency": false, + "extraMargin": 0, + "boost": 10 + }, + "swipe": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": false, + "extraMargin": 10, + "boost": 20 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4500, + "perfMargin": [10, 20, 30], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 16000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 300, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 25 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm765.json b/maisk_fiage/configs/sdm765.json new file mode 100644 index 0000000..c2632b8 --- /dev/null +++ b/maisk_fiage/configs/sdm765.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon765/765G/768G", + "author": "Suni", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 6, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 1800, + "modelPower": 320 + }, + { + "coreNum": 1, + "perfScale": 260, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2200, + "modelPower": 1100 + }, + { + "coreNum": 1, + "perfScale": 260, + "lowPowerFreq": 700, + "optimalFreq": 2000, + "modelFreq": 2400, + "modelPower": 1400 + } + ], + "modes": { + "powersave": { + "powerLimit": 1900, + "perfMargin": [10, 15, 15], + "upRateLatency": 570, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 3100, + "perfMargin": [15, 20, 25], + "upRateLatency": 410, + "overHeatTemp": 65, + "burstCapacity": 16000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 210, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 540, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 25 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4600, + "perfMargin": [10, 20, 55], + "upRateLatency": 100, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 310, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 370, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 10, + "boost": 40 + }, + "bigJank": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 50 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 90, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [6, 7], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [6, 7], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [6, 7], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [6, 7], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": [6], + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": [6], + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm778.json b/maisk_fiage/configs/sdm778.json new file mode 100644 index 0000000..39bad43 --- /dev/null +++ b/maisk_fiage/configs/sdm778.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon778/778+/782", + "author": "Suni", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1900, + "modelPower": 320 + }, + { + "coreNum": 3, + "perfScale": 320, + "lowPowerFreq": 700, + "optimalFreq": 1900, + "modelFreq": 2400, + "modelPower": 1600 + }, + { + "coreNum": 1, + "perfScale": 320, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2400, + "modelPower": 1600 + } + ], + "modes": { + "powersave": { + "powerLimit": 1900, + "perfMargin": [10, 15, 15], + "upRateLatency": 570, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 3170, + "perfMargin": [15, 20, 25], + "upRateLatency": 410, + "overHeatTemp": 65, + "burstCapacity": 13000, + "recoverTime": 4500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 300, + "lowLatency": false, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 540, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4700, + "perfMargin": [10, 30, 55], + "upRateLatency": 100, + "overHeatTemp": 70, + "burstCapacity": 17000, + "recoverTime": 4400, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 350, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 370, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 10, + "boost": 40 + }, + "bigJank": { + "durationTime": 1340, + "lowLatency": true, + "extraMargin": 20, + "boost": 50 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 90, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 470, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm8+gen1.json b/maisk_fiage/configs/sdm8+gen1.json new file mode 100644 index 0000000..55a5d67 --- /dev/null +++ b/maisk_fiage/configs/sdm8+gen1.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon8+Gen1", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 120, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 2000, + "modelPower": 500 + }, + { + "coreNum": 3, + "perfScale": 330, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2750, + "modelPower": 1420 + }, + { + "coreNum": 1, + "perfScale": 420, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 3190, + "modelPower": 3240 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2700, + "perfMargin": [10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 4500, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 420, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 10, + "boost": 20 + }, + "jank": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 5, + "boost": 40 + }, + "bigJank": { + "durationTime": 900, + "lowLatency": true, + "extraMargin": 10, + "boost": 45 + } + } + }, + "performance": { + "powerLimit": 4500, + "perfMargin": [15, 20, 30], + "upRateLatency": 80, + "overHeatTemp": 80, + "burstCapacity": 17000, + "recoverTime": 4300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 340, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 370, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 30 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 80, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm835.json b/maisk_fiage/configs/sdm835.json new file mode 100644 index 0000000..691a692 --- /dev/null +++ b/maisk_fiage/configs/sdm835.json @@ -0,0 +1,564 @@ +{ + "name": "Snapdragon835", + "author": "Suni", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 80, + "lowPowerFreq": 500, + "optimalFreq": 1400, + "modelFreq": 1900, + "modelPower": 360 + }, + { + "coreNum": 4, + "perfScale": 160, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2450, + "modelPower": 1460 + } + ], + "modes": { + "powersave": { + "powerLimit": 1900, + "perfMargin": [15, 15], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 12000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 15, + "boost": 10 + }, + "swipe": { + "durationTime": 240, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "gesture": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 3000, + "perfMargin": [25, 30], + "upRateLatency": 400, + "overHeatTemp": 65, + "burstCapacity": 16000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 300, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 540, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 570, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": false, + "extraMargin": 20, + "boost": 25 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4800, + "perfMargin": [30, 55], + "upRateLatency": 50, + "overHeatTemp": 70, + "burstCapacity": 20000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 260, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 400, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 55 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [90, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 440, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm845.json b/maisk_fiage/configs/sdm845.json new file mode 100644 index 0000000..efb8110 --- /dev/null +++ b/maisk_fiage/configs/sdm845.json @@ -0,0 +1,564 @@ +{ + "name": "Snapdragon845", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 1800, + "modelPower": 400 + }, + { + "coreNum": 4, + "perfScale": 180, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2800, + "modelPower": 1760 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 230, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 15 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [20, 20], + "upRateLatency": 490, + "overHeatTemp": 65, + "burstCapacity": 13000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 540, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 650, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 25 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 10, + "boost": 40 + }, + "bigJank": { + "durationTime": 900, + "lowLatency": true, + "extraMargin": 15, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 5000, + "perfMargin": [40, 50], + "upRateLatency": 40, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4600, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 340, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 360, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 600, + "lowLatency": true, + "extraMargin": 10, + "boost": 40 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 55 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm855.json b/maisk_fiage/configs/sdm855.json new file mode 100644 index 0000000..c786f37 --- /dev/null +++ b/maisk_fiage/configs/sdm855.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon855/855+/860", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1800, + "modelPower": 360 + }, + { + "coreNum": 3, + "perfScale": 260, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2420, + "modelPower": 1520 + }, + { + "coreNum": 1, + "perfScale": 260, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2840, + "modelPower": 1680 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 3000, + "perfMargin": [15, 20, 25], + "upRateLatency": 460, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 4600, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 240, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 540, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 530, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 20, + "boost": 20 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 5000, + "perfMargin": [10, 20, 40], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 310, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 0, + "boost": 10 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 530, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 80, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm865.json b/maisk_fiage/configs/sdm865.json new file mode 100644 index 0000000..76f7a0f --- /dev/null +++ b/maisk_fiage/configs/sdm865.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon865/865+/870", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1800, + "modelPower": 320 + }, + { + "coreNum": 3, + "perfScale": 300, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2420, + "modelPower": 1400 + }, + { + "coreNum": 1, + "perfScale": 300, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 2840, + "modelPower": 1880 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [10, 15, 20], + "upRateLatency": 490, + "overHeatTemp": 65, + "burstCapacity": 13000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": false, + "extraMargin": 15, + "boost": 20 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 5, + "boost": 40 + }, + "bigJank": { + "durationTime": 960, + "lowLatency": true, + "extraMargin": 10, + "boost": 50 + } + } + }, + "performance": { + "powerLimit": 4800, + "perfMargin": [10, 20, 30], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4600, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 320, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 370, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": true, + "extraMargin": 20, + "boost": 25 + }, + "jank": { + "durationTime": 600, + "lowLatency": true, + "extraMargin": 15, + "boost": 30 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 90, 90], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm888.json b/maisk_fiage/configs/sdm888.json new file mode 100644 index 0000000..66186f3 --- /dev/null +++ b/maisk_fiage/configs/sdm888.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon888/888+", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 100, + "lowPowerFreq": 600, + "optimalFreq": 1600, + "modelFreq": 1800, + "modelPower": 320 + }, + { + "coreNum": 3, + "perfScale": 320, + "lowPowerFreq": 700, + "optimalFreq": 2100, + "modelFreq": 2420, + "modelPower": 1500 + }, + { + "coreNum": 1, + "perfScale": 400, + "lowPowerFreq": 800, + "optimalFreq": 2496, + "modelFreq": 2840, + "modelPower": 2900 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 8500, + "recoverTime": 5300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "swipe": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "gesture": { + "durationTime": 530, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 5, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [10, 15, 20], + "upRateLatency": 490, + "overHeatTemp": 65, + "burstCapacity": 10000, + "recoverTime": 5000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 10, + "boost": 15 + }, + "jank": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 5, + "boost": 50 + }, + "bigJank": { + "durationTime": 900, + "lowLatency": true, + "extraMargin": 10, + "boost": 55 + } + } + }, + "performance": { + "powerLimit": 5000, + "perfMargin": [10, 20, 35], + "upRateLatency": 80, + "overHeatTemp": 80, + "burstCapacity": 17000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 260, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "swipe": { + "durationTime": 440, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 200, + "lowLatency": false, + "extraMargin": 10, + "boost": 0 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 530, + "lowLatency": true, + "extraMargin": 20, + "boost": 15 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 30, + "boost": 30 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 90, 95], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 420, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 470, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 0, + "boost": 15 + }, + "heavyload": { + "durationTime": 1300, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm8gen1.json b/maisk_fiage/configs/sdm8gen1.json new file mode 100644 index 0000000..d382157 --- /dev/null +++ b/maisk_fiage/configs/sdm8gen1.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon8Gen1", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 4, + "perfScale": 120, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 1800, + "modelPower": 500 + }, + { + "coreNum": 3, + "perfScale": 330, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2500, + "modelPower": 2060 + }, + { + "coreNum": 1, + "perfScale": 420, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 3000, + "modelPower": 3890 + } + ], + "modes": { + "powersave": { + "powerLimit": 1700, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 8500, + "recoverTime": 5300, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "swipe": { + "durationTime": 400, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "gesture": { + "durationTime": 530, + "lowLatency": true, + "extraMargin": 10, + "boost": 10 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 5, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2700, + "perfMargin": [10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 13000, + "recoverTime": 4900, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "swipe": { + "durationTime": 420, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 15, + "boost": 20 + }, + "jank": { + "durationTime": 500, + "lowLatency": true, + "extraMargin": 5, + "boost": 40 + }, + "bigJank": { + "durationTime": 900, + "lowLatency": true, + "extraMargin": 10, + "boost": 45 + } + } + }, + "performance": { + "powerLimit": 4800, + "perfMargin": [10, 20, 30], + "upRateLatency": 90, + "overHeatTemp": 75, + "burstCapacity": 16000, + "recoverTime": 4600, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 330, + "lowLatency": true, + "extraMargin": 0, + "boost": 15 + }, + "swipe": { + "durationTime": 380, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 5, + "boost": 0 + }, + "heavyload": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 560, + "lowLatency": true, + "extraMargin": 5, + "boost": 35 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 15, + "boost": 40 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-3" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm8gen2.json b/maisk_fiage/configs/sdm8gen2.json new file mode 100644 index 0000000..ce5ff40 --- /dev/null +++ b/maisk_fiage/configs/sdm8gen2.json @@ -0,0 +1,572 @@ +{ + "name": "Snapdragon8Gen2", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 3, + "perfScale": 120, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 2020, + "modelPower": 500 + }, + { + "coreNum": 4, + "perfScale": 330, + "lowPowerFreq": 700, + "optimalFreq": 1800, + "modelFreq": 2800, + "modelPower": 1600 + }, + { + "coreNum": 1, + "perfScale": 460, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 3190, + "modelPower": 3600 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2600, + "perfMargin": [10, 10, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 12000, + "recoverTime": 4800, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 15, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": false, + "extraMargin": 20, + "boost": 20 + }, + "jank": { + "durationTime": 490, + "lowLatency": true, + "extraMargin": 15, + "boost": 30 + }, + "bigJank": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + } + } + }, + "performance": { + "powerLimit": 4600, + "perfMargin": [10, 25, 35], + "upRateLatency": 30, + "overHeatTemp": 75, + "burstCapacity": 16000, + "recoverTime": 4000, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 250, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 290, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 300, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1100, + "lowLatency": true, + "extraMargin": 20, + "boost": 30 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 35 + }, + "bigJank": { + "durationTime": 1400, + "lowLatency": true, + "extraMargin": 20, + "boost": 45 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [100, 100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 420, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 460, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 570, + "lowLatency": false, + "extraMargin": 20, + "boost": 30 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [3, 4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-2" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/sdm8gen3.json b/maisk_fiage/configs/sdm8gen3.json new file mode 100644 index 0000000..6da4e2d --- /dev/null +++ b/maisk_fiage/configs/sdm8gen3.json @@ -0,0 +1,580 @@ +{ + "name": "Snapdragon8Gen3", + "author": "Tritium", + "configVersion": 10, + "CpuGovernor": { + "enable": true, + "params": { + "activeRateHz": 60, + "idleRateHz": 30, + "activeDelay": 2000, + "minFreqStep": 200 + }, + "policies": [ + { + "coreNum": 2, + "perfScale": 130, + "lowPowerFreq": 600, + "optimalFreq": 1400, + "modelFreq": 2200, + "modelPower": 600 + }, + { + "coreNum": 3, + "perfScale": 370, + "lowPowerFreq": 700, + "optimalFreq": 2000, + "modelFreq": 3150, + "modelPower": 2300 + }, + { + "coreNum": 2, + "perfScale": 370, + "lowPowerFreq": 700, + "optimalFreq": 2000, + "modelFreq": 2960, + "modelPower": 1800 + }, + { + "coreNum": 1, + "perfScale": 500, + "lowPowerFreq": 800, + "optimalFreq": 2000, + "modelFreq": 3300, + "modelPower": 4900 + } + ], + "modes": { + "powersave": { + "powerLimit": 1600, + "perfMargin": [10, 10, 10, 10], + "upRateLatency": 600, + "overHeatTemp": 60, + "burstCapacity": 9000, + "recoverTime": 4700, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 180, + "lowLatency": true, + "extraMargin": 5, + "boost": 10 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 15, + "boost": 15 + }, + "heavyload": { + "durationTime": 900, + "lowLatency": false, + "extraMargin": 10, + "boost": 10 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "balance": { + "powerLimit": 2700, + "perfMargin": [10, 10, 15, 20], + "upRateLatency": 500, + "overHeatTemp": 65, + "burstCapacity": 13000, + "recoverTime": 5400, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 190, + "lowLatency": true, + "extraMargin": 10, + "boost": 15 + }, + "swipe": { + "durationTime": 410, + "lowLatency": true, + "extraMargin": 10, + "boost": 20 + }, + "gesture": { + "durationTime": 480, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "heavyload": { + "durationTime": 1000, + "lowLatency": false, + "extraMargin": 10, + "boost": 15 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + }, + "performance": { + "powerLimit": 4500, + "perfMargin": [10, 20, 25, 35], + "upRateLatency": 80, + "overHeatTemp": 75, + "burstCapacity": 17000, + "recoverTime": 4400, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 210, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 10, + "boost": 0 + }, + "heavyload": { + "durationTime": 1200, + "lowLatency": true, + "extraMargin": 20, + "boost": 35 + }, + "jank": { + "durationTime": 550, + "lowLatency": true, + "extraMargin": 10, + "boost": 35 + }, + "bigJank": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 45 + } + } + }, + "fast": { + "powerLimit": 10000, + "perfMargin": [30, 100, 100, 100], + "upRateLatency": 0, + "overHeatTemp": 95, + "burstCapacity": 0, + "recoverTime": 0, + "freqBurst": { + "none": { + "durationTime": 0, + "lowLatency": false, + "extraMargin": 0, + "boost": 0 + }, + "tap": { + "durationTime": 430, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "swipe": { + "durationTime": 450, + "lowLatency": true, + "extraMargin": 20, + "boost": 20 + }, + "gesture": { + "durationTime": 100, + "lowLatency": false, + "extraMargin": 20, + "boost": 0 + }, + "heavyload": { + "durationTime": 1500, + "lowLatency": true, + "extraMargin": 20, + "boost": 40 + }, + "jank": { + "durationTime": 100, + "lowLatency": true, + "extraMargin": 0, + "boost": 40 + }, + "bigJank": { + "durationTime": 200, + "lowLatency": true, + "extraMargin": 0, + "boost": 60 + } + } + } + } + }, + "ThreadSchedOpt": { + "enable": true, + "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "defaultPriority": 0, + "appTypes": { + "unity_genshin": { + "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*", + "symbol": null + }, + "unity_common": { + "pkgName": null, + "symbol": "Unity*" + }, + "unreal_engine": { + "pkgName": null, + "symbol": "(TaskGraph|RHIThread)*" + }, + "minecraft": { + "pkgName": null, + "symbol": "MINECRAFT*" + }, + "neox_engine": { + "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*", + "symbol": null + }, + "sky_game": { + "pkgName": "(com.netease.sky|com.tgc.sky)*", + "symbol": null + }, + "benchmark": { + "pkgName": "com.futuremark.*|*[Bb]ench*", + "symbol": null + } + }, + "schedRules": { + "DEFAULT_RULE": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "*[Rr]ender*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -20 + }, + { + "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -8 + }, + { + "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -8 + }, + { + "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -8 + }, + { + "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -8 + }, + { + "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -8 + }, + { + "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*", + "heavyCpus": null, + "commonCpus": [0, 1], + "priority": 0 + }, + { + "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*", + "heavyCpus": null, + "commonCpus": [0, 1], + "priority": 0 + } + ], + "unity_genshin": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityGfx*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -12 + } + ], + "unity_common": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "UnityMain*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + }, + { + "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -12 + } + ], + "unreal_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [2, 3, 4], + "priority": -12 + }, + { + "threadName": "(RenderThread|GameThread|RHIThread)*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -12 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "minecraft": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(Rendering Pool|MINECRAFT)*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "Thread-*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7], + "priority": -8 + }, + { + "threadName": "FMOD*", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -16 + } + ], + "neox_engine": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Thread-)*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4], + "priority": -20 + }, + { + "threadName": "(IO|Compute|Resource|NativeThread)*", + "heavyCpus": null, + "commonCpus": [5, 6], + "priority": -12 + } + ], + "sky_game": [ + { + "threadName": "MAIN_THREAD", + "heavyCpus": null, + "commonCpus": [0, 1, 2, 3, 4, 5, 6], + "priority": -12 + }, + { + "threadName": "(MainThread|Program Thread)*", + "heavyCpus": [7], + "commonCpus": [2, 3, 4, 5, 6], + "priority": -20 + }, + { + "threadName": "(JobThread|Thread-)*", + "heavyCpus": null, + "commonCpus": [2, 3, 4, 5, 6], + "priority": -12 + } + ], + "benchmark": [] + } + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": true, + "scenes": { + "init": [ + { + "path": "/dev/cpuset/restricted/cpus", + "text": "0-1" + }, + { + "path": "/dev/cpuset/system-background/cpus", + "text": "0-1" + }, + { + "path": "/dev/cpuset/background/cpus", + "text": "0-1" + }, + { + "path": "/dev/cpuset/foreground/cpus", + "text": "0-7" + }, + { + "path": "/dev/cpuset/top-app/cpus", + "text": "0-7" + } + ], + "screenOn": [], + "screenOff": [], + "powersaveMode": [], + "balanceMode": [], + "performanceMode": [], + "fastMode": [] + } + } +} \ No newline at end of file diff --git a/maisk_fiage/configs/universal.json b/maisk_fiage/configs/universal.json new file mode 100644 index 0000000..a05f7bc --- /dev/null +++ b/maisk_fiage/configs/universal.json @@ -0,0 +1,17 @@ +{ + "name": "_Universal_Config", + "author": "username", + "configVersion": 9, + "CpuGovernor": { + "enable": false + }, + "ThreadSchedOpt": { + "enable": false + }, + "MtkGpuGovernor": { + "enable": false + }, + "FileWriter": { + "enable": false + } +} \ No newline at end of file diff --git a/maisk_fiage/customize.sh b/maisk_fiage/customize.sh new file mode 100644 index 0000000..1c16f6a --- /dev/null +++ b/maisk_fiage/customize.sh @@ -0,0 +1,323 @@ +#!/system/bin/sh +SKIPUNZIP=0 +MODDIR=${0%/*} +SKIPMOUNT=false +PROPFILE=true +POSTFSDATA=true +LATESTARTSERVICE=true + +set_perm_recursive $MODPATH 0 0 0755 0644 + +rm -rf /data/powercfg.json +rm -rf /data/powercfg.sh + +cp -f $MODPATH/powercfg/powercfg.json /data/ +cp -f $MODPATH/powercfg/powercfg.sh /data/ + + +ui_print "- Tritium Scheduler Module" +ui_print "- Installing..." + +echo "- 当前版本为: 正式版" +echo "- 构建时间:$(stat -c %y $MODPATH/module.prop | cut -d: -f1,2)" +echo "- Soc平台:$(getprop Build.BRAND)" +echo "- CPU型号:$(getprop ro.board.platform)" +echo "- 手机代号:$(getprop ro.product.board)" +echo "- 安卓版本:$(getprop ro.build.version.release)" +echo "- SDK:$(getprop ro.build.version.sdk)" +echo "- 内核版本:$(cat /proc/version)" + + +unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2 +chmod -R 0777 $MODPATH + +function get_taro_name() { + cpu7_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + gpu_max_freq=$(cat /sys/class/kgsl/kgsl-3d0/max_clock_mhz) + # SDM8+GEN1: 2.0+2.75+3.19 SDM8GEN1/8+GEN1UC: 1.8+2.5+3.0 SDM7+GEN2: 1.8+2.5+2.91. + if [ $cpu7_max_freq -gt 3100000 ]; then + echo "sdm8+gen1" + elif [ $cpu7_max_freq -gt 2950000 ]; then + if [ $gpu_max_freq -gt 850 ]; then + # Adreno730 @ 900MHz + echo "sdm8+gen1" + else + # Adreno730 @ 818MHz + echo "sdm8gen1" + fi + elif [ $cpu7_max_freq -gt 2900000 ]; then + echo "sdm7+gen2" + else + echo "sdm7gen1" + fi +} + +function get_lahaina_name() { + cpu7_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + cpu4_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_max_freq) + if [ $cpu7_max_freq -gt 2800000 ]; then + echo "sdm888" + elif [ $cpu4_max_freq -gt 2300000 ]; then + echo "sdm778" + else + echo "sdm780" + fi +} + +function get_lito_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ $cpu_max_freq -gt 2300000 ]; then + echo "sdm765" + else + echo "sdm750" + fi +} + +function get_sm6150_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ $cpu_max_freq -gt 2200000 ]; then + echo "sdm730" + else + echo "sdm675" + fi +} + +function get_mt6895_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ $cpu_max_freq -gt 3000000 ]; then + echo "dimensity8200" + else + echo "dimensity8100" + fi +} + +function get_bengal_name() { + cpu_max_freq=$(cat /sys/devices/system/cpu/cpufreq/policy7/cpuinfo_max_freq) + if [ $cpu_max_freq -gt 2300000 ]; then + echo "sdm680" + else + echo "sdm665" + fi +} + +function get_config_name() { + case "$1" in + pineapple*) + echo "sdm8gen3" + ;; + sunstone*) + echo "sdm4gen1" + ;; + sky*) + echo "sdm4gen2" + ;; + kalama*) + echo "sdm8gen2" + ;; + taro*) + get_taro_name + ;; + lahaina*) + # snapdragon 888/778/780 + get_lahaina_name + ;; + shima*) + get_lahaina_name + ;; + yupik*) + get_lahaina_name + ;; + kona*) + echo "sdm865" + ;; + msmnile*) + echo "sdm855" + ;; + sdm845*) + echo "sdm845" + ;; + lito*) + get_lito_name + ;; + sm7150*) + echo "sdm730" + ;; + sm6150*) + get_sm6150_name + ;; + sdm710*) + echo "sdm710" + ;; + sdm450*) + echo "sdm625" + ;; + sdm4350*) + # snapdragon 480 + echo "sdm730" + ;; + msm8953*) + echo "sdm625" + ;; + sdm660*) + echo "sdm660" + ;; + sdm636*) + echo "sdm660" + ;; + trinket*) + echo "sdm665" + ;; + bengal*) + # snapdragon 665/460/680 + get_bengal_name + ;; + holi*) + # snapdragon 695 + echo "sdm4gen1" + ;; + msm8998*) + echo "sdm835" + ;; + msm8996*) + echo "sdm820" + ;; + universal9925*) + echo "exynos2200" + ;; + universal2100*) + echo "exynos2100" + ;; + universal1080*) + echo "exynos1080" + ;; + universal990*) + echo "exynos990" + ;; + universal9825*) + echo "exynos9825" + ;; + universal9820*) + echo "exynos9820" + ;; + mt6771*) + # Helio P60/P70 + echo "helio_p60" + ;; + mt6779*) + # Helio P90 + echo "helio_g80" + ;; + mt6762*) + # Helio G25/P22 + echo "helio_p35" + ;; + mt6765*) + # Helio G35/P35 + echo "helio_p35" + ;; + mt6768*) + echo "helio_g80" + ;; + mt6785*) + echo "helio_g90" + ;; + mt6789*) + echo "helio_g99" + ;; + mt6833*) + echo "dimensity700" + ;; + mt6853*) + echo "dimensity700" + ;; + mt6873*) + echo "dimensity820" + ;; + mt6875*) + echo "dimensity820" + ;; + mt6877*) + echo "dimensity900" + ;; + mt6885*) + echo "dimensity1000" + ;; + mt6886*) + echo "dimensity7200" + ;; + mt6889*) + echo "dimensity1000" + ;; + mt6891*) + echo "dimensity1100" + ;; + mt6893*) + echo "dimensity1100" + ;; + mt6895*) + # Dimensity8200 also named mt6895(k6895v1_64) + get_mt6895_name + ;; + mt6983*) + echo "dimensity9000" + ;; + mt6985*) + echo "dimensity9200" + ;; + mt6989*) + echo "dimensity9300" + ;; + kirin970*) + echo "kirin970" + ;; + hi3670*) + echo "kirin970" + ;; + hi3660*) + echo "kirin960" + ;; + hi3650*) + echo "kirin950" + ;; + kirin710*) + echo "kirin710" + ;; + hi6250*) + echo "kirin650" + ;; + sp9863a*) + echo "sc9863a" + ;; + ums512*) + echo "unisoc_t618" + ;; + ud710*) + echo "unisoc_t740" + ;; + ums9620*) + echo "unisoc_t770" + ;; + ums9230*) + # Unisoc T606 + echo "unisoc_t618" + ;; + *) + echo "universal" + ;; + esac +} + +platform_name=$(getprop ro.board.platform) +config_name=$(get_config_name $platform_name) + +if [ -e ${MODPATH}/configs/${config_name}.json ]; then + cp -f ${MODPATH}/configs/${config_name}.json ${MODPATH}/config.json + rm -rf ${MODPATH}/configs/ + + ui_print "- ${platform_name} 您的芯片已适配😋." + ui_print "- install finished." +else + ui_print "- ${platform_name} 您的芯片未适配😑." + abort "- Abort!" +fi + diff --git a/maisk_fiage/module.prop b/maisk_fiage/module.prop new file mode 100644 index 0000000..03d2768 --- /dev/null +++ b/maisk_fiage/module.prop @@ -0,0 +1,8 @@ +id=ct_module +name=Tritium Scheduler +version=V4.8.2 +versionCode=241108 +author=Suni +description=Optimize performance ing… +updateJson=https://github.moeyy.xyz/https://github.com/TimeBreeze/Tritium/blob/main/Tritium.json + diff --git a/maisk_fiage/powercfg/powercfg.json b/maisk_fiage/powercfg/powercfg.json new file mode 100644 index 0000000..59533f7 --- /dev/null +++ b/maisk_fiage/powercfg/powercfg.json @@ -0,0 +1,13 @@ +{ + "name": "Tritium", + "author": "Suni", + "version": "V4.8.1", + "versionCode": 241108, + "features": { + "strict": true, + "pedestal": true + }, + "module": "Tritium", + "state": "/sdcard/Android/ct/cur_mode.txt", + "entry": "/data/powercfg.sh" +} \ No newline at end of file diff --git a/maisk_fiage/powercfg/powercfg.sh b/maisk_fiage/powercfg/powercfg.sh new file mode 100644 index 0000000..7f7b80f --- /dev/null +++ b/maisk_fiage/powercfg/powercfg.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +export MODE="/sdcard/Android/ct/cur_mode.txt" + +set_mode() { + echo -n "$1" > "$MODE" +} + +case "$1" in + 'powersave' | 'balance' | 'performance' | 'fast') + set_mode "$1" + ;; + 'auto') + set_mode 'balance' + ;; + 'pedestal') + set_mode 'fast' + ;; + 'init') + [ -x "$INIT" ] && sh "$INIT" + set_mode 'balance' + ;; + *) + set_mode 'balance' + ;; +esac diff --git a/maisk_fiage/service.sh b/maisk_fiage/service.sh new file mode 100644 index 0000000..a8ca44f --- /dev/null +++ b/maisk_fiage/service.sh @@ -0,0 +1,293 @@ +#!/system/bin/sh +BASE_DIR=$(dirname "$0") + +get_min_freq() { + freq_table=$(tr " " "\n" < "$1") + first_freq=$(echo "$freq_table" | head -1) + last_freq=$(echo "$freq_table" | tail -1) + if [ "$first_freq" -lt "$last_freq" ]; then + echo "$first_freq" + else + echo "$last_freq" + fi +} + +get_max_freq() { + freq_table=$(tr " " "\n" < "$1") + first_freq=$(echo "$freq_table" | head -1) + last_freq=$(echo "$freq_table" | tail -1) + if [ "$first_freq" -gt "$last_freq" ]; then + echo "$first_freq" + else + echo "$last_freq" + fi +} + +write_value() { + for file in $2; do + if [ -f "$file" ]; then + echo "$1" >"$file" + fi + done +} + +lock_value() { + for file in $2; do + if [ -f "$file" ]; then + chown root:root "$file" + chmod 0666 "$file" + echo "$1" > "$file" + chmod 0444 "$file" + fi + done +} + +change_task_cpuset() { + for pid in $(pgrep -f "$1"); do + echo "$pid" > "/dev/cpuset/${2}/cgroup.procs" + done +} + +change_task_sched() { + for pid in $(pgrep -f "$1"); do + if [ -d /dev/stune ]; then + echo "$pid" > "/dev/stune/${2}/cgroup.procs" + elif [ -d /dev/cpuctl ]; then + echo "$pid" > "/dev/cpuctl/${2}/cgroup.procs" + fi + done +} + +stop horae 2>/dev/null +stop miuibooster 2>/dev/null +stop oneplus_brain_service 2>/dev/null +stop vendor.perfservice 2>/dev/null +stop perfd 2>/dev/null + +setprop "persist.sys.hardcoder.name" "" 2>/dev/null +setprop "persist.miui.miperf.enable" "false" 2>/dev/null + +lock_value "1" "/proc/ppm/enabled" +lock_value "0" "/proc/hps/enabled" +lock_value "2" "/sys/devices/system/cpu/eas/enable" +lock_value "0" "/sys/module/fbt_cpu/parameters/boost_affinity*" +lock_value "0" "/sys/module/mtk_fpsgo/parameters/boost_affinity*" +lock_value "0" "/sys/module/mtk_fpsgo/parameters/perfmgr_enable" +lock_value "0" "/sys/module/perfmgr/parameters/perfmgr_enable" +lock_value "0" "/sys/module/perfmgr_policy/parameters/perfmgr_enable" +lock_value "0" "/sys/kernel/fpsgo/common/fpsgo_enable" +lock_value "0" "/sys/kernel/fpsgo/common/force_onoff" +lock_value "0" "/sys/kernel/fpsgo/fbt/enable*" +lock_value "0" "/sys/kernel/fpsgo/fbt/limit*" +lock_value "0" "/sys/kernel/fpsgo/fbt/switch_idleprefer" +lock_value "0" "/sys/kernel/debug/fpsgo/common/fpsgo_enable" +lock_value "0" "/sys/kernel/debug/fpsgo/common/force_onoff" +lock_value "0" "/sys/kernel/ged/hal/dcs_mode" +lock_value "enable: 0" "/proc/perfmgr/tchbst/user/usrtch" + +lock_value "0" "/sys/power/cpuhotplug/enabled" +lock_value "0" "/sys/power/pnpmgr/touch_boost" +lock_value "0" "/sys/power/pnpmgr/long_duration_touch_boost" +lock_value "0" "/sys/kernel/ems/eff_mode" +lock_value "0" "/sys/kernel/hmp/boost" +lock_value "0" "/sys/kernel/hmp/boostpulse_duration" +lock_value "0" "/sys/kernel/cpu_input_boost/*" +lock_value "0" "/sys/kernel/intelli_plug/intelli_plug_active" +lock_value "0" "/sys/kernel/zen_decision/enabled" +lock_value "0" "/sys/devices/system/cpu/cpu*/sched_load_boost" +lock_value "0" "/sys/devices/system/cpu/sched/sched_boost" +lock_value "0" "/sys/devices/system/cpu/cpu_boost/*" +lock_value "0" "/sys/devices/system/cpu/cpu_boost/parameters/*" +lock_value "1" "/sys/devices/system/cpu/cpufreq/hotplug/cpu_hotplug_disable" +lock_value "0" "/sys/devices/system/cpu/cpuhotplug/enabled" +lock_value "0" "/sys/devices/system/cpu/hyp_core_ctl/enable" +lock_value "0" "/sys/devices/virtual/misc/mako_hotplug_control/enabled" +lock_value "0" "/sys/module/msm_performance/parameters/touchboost" +lock_value "0" "/sys/module/msm_thermal/vdd_restriction/enabled" +lock_value "0" "/sys/module/msm_thermal/core_control/enabled" +lock_value "N" "/sys/module/msm_thermal/parameters/enabled" +lock_value "0" "/sys/module/cpu_boost/parameters/*" +lock_value "0" "/sys/module/aigov/parameters/enable" +lock_value "0" "/sys/module/opchain/parameters/chain_on" +lock_value "0" "/sys/module/houston/parameters/*" +lock_value "N" "/sys/module/control_center/parameters/*" +lock_value "0" "/sys/module/dsboost/parameters/*" +lock_value "0" "/sys/module/cpu_input_boost/parameters/*" +lock_value "0" "/sys/module/input_cfboost/parameters/*" +lock_value "0" "/sys/module/blu_plug/parameters/enabled" +lock_value "0" "/sys/module/autosmp/parameters/enabled" +lock_value "0" "/sys/class/input_booster/*" +lock_value "0" "/proc/mz_thermal_boost/sched_boost_enabled" +lock_value "0" "/proc/mz_thermal_boost/boost_enabled" +lock_value "0" "/proc/mz_scheduler/vip_task/enabled" +lock_value "0" "/proc/oplus_scheduler/sched_assist/sched_assist_enabled" +lock_value "1" "/proc/game_opt/disable_cpufreq_limit" +lock_value "-1" "/proc/game_opt/game_pid" +lock_value "0" "/proc/sys/fbg/frame_boost_enabled" +lock_value "0" "/proc/sys/fbg/input_boost_enabled" +lock_value "0" "/proc/sys/fbg/slide_boost_enabled" +lock_value "0" "/proc/sys/kernel/sched_util_clamp_min" +lock_value "1024" "/proc/sys/kernel/sched_util_clamp_max" +lock_value "0" "/proc/sys/kernel/*boost*" +lock_value "" "/proc/sys/kernel/sched_lib_name" +lock_value "0" "/proc/sys/walt/*boost*" +lock_value "0" "/proc/sys/walt/input_boost/*" +lock_value "" "/proc/sys/walt/sched_lib_name" + +if [ -d "/dev/stune/" ]; then + lock_value "0" "/dev/stune/schedtune.boost" + lock_value "0" "/dev/stune/schedtune.prefer_idle" + lock_value "0" "/dev/stune/*/schedtune.prefer_idle" + lock_value "0" "/dev/stune/*/schedtune.boost" + lock_value "0" "/dev/stune/*/schedtune.sched_boost_no_override" +fi + +if [ -d "/dev/cpuctl/" ]; then + lock_value "0" "/dev/cpuctl/cpu.idle" + lock_value "1024" "/dev/cpuctl/cpu.shares" + lock_value "0" "/dev/cpuctl/*/cpu.uclamp.latency_sensitive" + lock_value "0" "/dev/cpuctl/*/cpu.uclamp.sched_boost_no_override" + lock_value "0" "/dev/cpuctl/*/cpu.uclamp.min" + lock_value "max" "/dev/cpuctl/*/cpu.uclamp.max" + lock_value "0" "/dev/cpuctl/*/cpu.idle" + lock_value "1024" "/dev/cpuctl/*/cpu.shares" +fi + +if [ -d "/proc/perfmgr/boost_ctrl/eas_ctrl/" ]; then + lock_value "0" "/proc/perfmgr/boost_ctrl/eas_ctrl/perfserv_*_boost" + lock_value "0" "/proc/perfmgr/boost_ctrl/eas_ctrl/perfserv_*_uclamp_min" +fi + +lock_value "$(cat /dev/cpuset/cpus)" "/dev/cpuset/*/cpus" + +lock_value "1" "/sys/devices/system/cpu/cpu*/online" +lock_value "1" "/sys/devices/system/cpu/cpu*/core_ctl/enable" +POLICY2_PATH="/sys/devices/system/cpu/cpu2/core_ctl" +POLICY3_PATH="/sys/devices/system/cpu/cpu3/core_ctl" +POLICY4_PATH="/sys/devices/system/cpu/cpu4/core_ctl" +POLICY5_PATH="/sys/devices/system/cpu/cpu5/core_ctl" +POLICY6_PATH="/sys/devices/system/cpu/cpu6/core_ctl" +POLICY7_PATH="/sys/devices/system/cpu/cpu7/core_ctl" +if [ -d "$POLICY2_PATH" ] && [ -d "$POLICY5_PATH" ] && [ -d "$POLICY7_PATH" ]; then #2+3+2+1 + lock_value "2" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "3" "/sys/devices/system/cpu/cpu2/core_ctl/max_cpus" + lock_value "3" "/sys/devices/system/cpu/cpu2/core_ctl/min_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu5/core_ctl/max_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu5/core_ctl/min_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/max_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/min_cpus" +elif [ -d "$POLICY2_PATH" ]; then #2+2 + lock_value "2" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu2/core_ctl/max_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu2/core_ctl/min_cpus" +elif [ -d "$POLICY3_PATH" ] && [ -d "$POLICY7_PATH" ]; then #3+4+1 + lock_value "3" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "3" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu3/core_ctl/max_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu3/core_ctl/min_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/max_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/min_cpus" +elif [ -d "$POLICY4_PATH" ] && [ -d "$POLICY7_PATH" ]; then #4+3+1 + lock_value "4" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "3" "/sys/devices/system/cpu/cpu4/core_ctl/max_cpus" + lock_value "3" "/sys/devices/system/cpu/cpu4/core_ctl/min_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/max_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/min_cpus" +elif [ -d "$POLICY4_PATH" ]; then #4+4 + lock_value "4" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu4/core_ctl/max_cpus" + lock_value "4" "/sys/devices/system/cpu/cpu4/core_ctl/min_cpus" +elif [ -d "$POLICY6_PATH" ] && [ -d "$POLICY7_PATH" ]; then #6+1+1 + lock_value "6" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "6" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu6/core_ctl/max_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu6/core_ctl/min_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/max_cpus" + lock_value "1" "/sys/devices/system/cpu/cpu7/core_ctl/min_cpus" +elif [ -d "$POLICY6_PATH" ]; then #6+2 + lock_value "6" "/sys/devices/system/cpu/cpu0/core_ctl/max_cpus" + lock_value "6" "/sys/devices/system/cpu/cpu0/core_ctl/min_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu6/core_ctl/max_cpus" + lock_value "2" "/sys/devices/system/cpu/cpu6/core_ctl/min_cpus" +fi +lock_value "0" "/sys/devices/system/cpu/cpu*/core_ctl/enable" +lock_value "0" "/sys/devices/system/cpu/cpu*/core_ctl/core_ctl_boost" + +if [ -d "/sys/class/devfreq/gpufreq/" ]; then + lock_value "mali_ondemand" "/sys/class/devfreq/gpufreq/governor" + lock_value "0" "/sys/class/devfreq/gpufreq/animation_boost" + lock_value "0" "/sys/class/devfreq/gpufreq/cl_boost" + lock_value "1" "/sys/class/devfreq/gpufreq/vsync" + lock_value "90" "/sys/class/devfreq/gpufreq/upthreshold" + lock_value "10" "/sys/class/devfreq/gpufreq/downdifferential" + gpu_max_freq=$(get_max_freq "/sys/class/devfreq/gpufreq/available_frequencies") + gpu_min_freq=$(get_min_freq "/sys/class/devfreq/gpufreq/available_frequencies") + lock_value "$gpu_max_freq" "/sys/class/devfreq/gpufreq/max_freq" + lock_value "$gpu_min_freq" "/sys/class/devfreq/gpufreq/min_freq" +fi + +for GPU_DIR in /sys/class/devfreq/*gpu*; do + if [ -d "$GPU_DIR" ]; then + gpu_max_freq=$(get_max_freq "${GPU_DIR}/available_frequencies") + gpu_min_freq=$(get_min_freq "${GPU_DIR}/available_frequencies") + lock_value "$gpu_max_freq" "${GPU_DIR}/max_freq" + lock_value "$gpu_min_freq" "${GPU_DIR}/min_freq" + fi +done + +if [ -d "/sys/class/kgsl/kgsl-3d0/" ]; then + lock_value "0" "/sys/class/kgsl/kgsl-3d0/max_pwrlevel" + MIN_PWRLEVEL=$(($(cat /sys/class/kgsl/kgsl-3d0/num_pwrlevels) - 1)) + lock_value "$MIN_PWRLEVEL" "/sys/class/kgsl/kgsl-3d0/min_pwrlevel" + lock_value "$MIN_PWRLEVEL" "/sys/class/kgsl/kgsl-3d0/default_pwrlevel" +fi + +change_task_cpuset "surfaceflinger" "top-app" +change_task_sched "surfaceflinger" "" +change_task_cpuset "system_server" "top-app" +change_task_sched "system_server" "" +change_task_cpuset "android.hardware.graphics.composer" "top-app" +change_task_sched "android.hardware.graphics.composer" "" +change_task_cpuset "vendor.qti.hardware.display.composer-service" "top-app" +change_task_sched "vendor.qti.hardware.display.composer-service" "" + +change_task_cpuset "adbd" "system-background" +change_task_sched "adbd" "" +change_task_cpuset "logd" "system-background" +change_task_sched "logd" "" +change_task_cpuset "lmkd" "system-background" +change_task_sched "lmkd" "" +change_task_cpuset "mdnsd" "system-background" +change_task_sched "mdnsd" "" +change_task_cpuset "tombstoned" "system-background" +change_task_sched "tombstoned" "" +change_task_cpuset "traced" "system-background" +change_task_sched "traced" "" +change_task_cpuset "swapd" "system-background" +change_task_sched "swapd" "" +change_task_cpuset "compactd" "system-background" +change_task_sched "compactd" "" + +### Run CuprumTurbo-Scheduler Daemon. + +# Check if /sdcard is ready. +while [ ! -f /sdcard/.test_file ]; do + true >/sdcard/.test_file + sleep 1 +done +rm -f /sdcard/.test_file + +# Create CT Dir. +if [ ! -d /sdcard/Android/ct/ ]; then + mkdir -p /sdcard/Android/ct/ + echo "balance" >/sdcard/Android/ct/cur_mode.txt +fi + +#CuDaemon -R [config] [mode] [log] +"${BASE_DIR}/CuDaemon" -R "${BASE_DIR}/config.json" "/sdcard/Android/ct/cur_mode.txt" "/sdcard/Android/ct/scheduler.log" + +exit 0 diff --git a/maisk_fiage/uninstall.sh b/maisk_fiage/uninstall.sh new file mode 100644 index 0000000..a8cfd64 --- /dev/null +++ b/maisk_fiage/uninstall.sh @@ -0,0 +1,6 @@ +#!/system/bin/sh + +rm -rf /sdcard/Android/ct +rm -rf /data/powercfg.json +rm -rf /data/powercfg.sh +exit 0 diff --git a/maisk_fiage/webroot/404.html b/maisk_fiage/webroot/404.html new file mode 100644 index 0000000..3fd8764 --- /dev/null +++ b/maisk_fiage/webroot/404.html @@ -0,0 +1,36 @@ + + + + + + 404 | Tritium_docs + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + \ No newline at end of file diff --git "a/maisk_fiage/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" "b/maisk_fiage/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" new file mode 100644 index 0000000..0aabfd9 Binary files /dev/null and "b/maisk_fiage/webroot/Contributors/\346\265\267\347\220\264\347\203\237.jpg" differ diff --git a/maisk_fiage/webroot/FAQ/FAQ.html b/maisk_fiage/webroot/FAQ/FAQ.html new file mode 100644 index 0000000..edcb8d0 --- /dev/null +++ b/maisk_fiage/webroot/FAQ/FAQ.html @@ -0,0 +1,39 @@ + + + + + + 常见问题及其解决方法 | Tritium_docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

常见问题及其解决方法

模块和app怎么选?

DANGER

答: 模块和app是2种不同的选择,请仔细阅读文档 Magisk 模块和 Cutoolbox 只能使用其中一种

大佬我不会使用你可以教我吗?

TIP

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

TIP

答: 加入反馈群聊,截图询问

这什么lj调度,不如xxx

DANGER

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

TIP

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

TIP

答: 请关注Github release

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/_headers b/maisk_fiage/webroot/_headers new file mode 100644 index 0000000..f7fa3af --- /dev/null +++ b/maisk_fiage/webroot/_headers @@ -0,0 +1,3 @@ +/assets/* + cache-control: max-age=31536000 + cache-control: immutable \ No newline at end of file diff --git a/maisk_fiage/webroot/about.html b/maisk_fiage/webroot/about.html new file mode 100644 index 0000000..9d27b8a --- /dev/null +++ b/maisk_fiage/webroot/about.html @@ -0,0 +1,41 @@ + + + + + + 关于文档 | Tritium + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

开发

文档使用 VitePress 构建。站点内容以 Markdown 格式编写,位于 src 目录下。对于简单的编辑

对于本地开发,建议使用 pnpm 作为包管理器:

bash
corepack enable
+pnpm i
+pnpm  dev

此项目要求 Node.js 版本为 v18.0.0 或更高,因为我们在代码中使用了新的 JavaScript 特性,如可选链。

编辑内容

文档参考

附加

文档的主体结构来源于原神地图感谢开发者的开源,大多数vue 组件来源于vue docs原神地图

License

  • 文章遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和声明
  • 源码遵循 MIT 许可协议
  • Copyright © 2023-now 旧忆 残梦
+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/agreement.html b/maisk_fiage/webroot/agreement.html new file mode 100644 index 0000000..5d590dd --- /dev/null +++ b/maisk_fiage/webroot/agreement.html @@ -0,0 +1,39 @@ + + + + + + 用户协议 | Tritium + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Tritium 隐私协议

Tritium尊重并保护所有使用此调度用户的个人隐私权。此调入并不具备任何联网传输数据的功能,也不会收集和存储任何用户数据。

您在同意此隐私协议之时,即视为您已经同意本隐私权政策全部内容。

需要获取的权限

  • android.permission.READ_EXTERNAL_STORAGE:访问敏感目录权限,用于读取存储设备上的文件和数据.
  • android.permission.WRITE_EXTERNAL_STORAGE:访问敏感目录权限,用于写入数据到存储设备.
  • android.permission.WAKE_LOCK:后台进程保活权限,用于确保CuToolbox后台服务在设备休眠时仍能正常运行.
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS:请求忽略电池优化,用于确保后台服务保活.

隐私协议变更

我们的隐私政策将不定时更新。 通常情况下,我们不会削减您按照本隐私政策所应享有的权利。

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js new file mode 100644 index 0000000..cf3a151 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.js @@ -0,0 +1 @@ +import{_ as c,c as d,j as o,a as h,G as f,w as p,a4 as m,B as l,o as i,b as u,e as x}from"./chunks/framework.BXE2pAXj.js";const j=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1726998145000}'),b={name:"FAQ/FAQ.md"};function g(e,a,k,q,P,_){const n=l("ArticleMetadata"),s=l("ClientOnly");return i(),d("div",null,[a[0]||(a[0]=o("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[h("常见问题及其解决方法 "),o("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),f(s,null,{default:p(()=>{var t,r;return[(((t=e.$frontmatter)==null?void 0:t.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(i(),u(n,{key:0,article:e.$frontmatter},null,8,["article"])):x("",!0)]}),_:1}),a[1]||(a[1]=m('

大佬我不会使用你可以教我吗?

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

答: 加入反馈群聊,截图询问

这个调度适合我吗

Image_1725279782904.jpg

这个和当前的 uperf scene fas. fas-rs 哪个好用

Image_1725279780777.jpg

大佬你可以为我定制调度吗?

答: 可以,不过需要支付等同的精力和时间的费用

这什么lj调度,不如xxx

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

答: 请关注Github release

',16))])}const y=c(b,[["render",g]]);export{j as __pageData,y as default}; diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js new file mode 100644 index 0000000..cf3a151 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CAAHLzOT.lean.js @@ -0,0 +1 @@ +import{_ as c,c as d,j as o,a as h,G as f,w as p,a4 as m,B as l,o as i,b as u,e as x}from"./chunks/framework.BXE2pAXj.js";const j=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1726998145000}'),b={name:"FAQ/FAQ.md"};function g(e,a,k,q,P,_){const n=l("ArticleMetadata"),s=l("ClientOnly");return i(),d("div",null,[a[0]||(a[0]=o("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[h("常见问题及其解决方法 "),o("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),f(s,null,{default:p(()=>{var t,r;return[(((t=e.$frontmatter)==null?void 0:t.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(i(),u(n,{key:0,article:e.$frontmatter},null,8,["article"])):x("",!0)]}),_:1}),a[1]||(a[1]=m('

大佬我不会使用你可以教我吗?

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

答: 加入反馈群聊,截图询问

这个调度适合我吗

Image_1725279782904.jpg

这个和当前的 uperf scene fas. fas-rs 哪个好用

Image_1725279780777.jpg

大佬你可以为我定制调度吗?

答: 可以,不过需要支付等同的精力和时间的费用

这什么lj调度,不如xxx

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

答: 请关注Github release

',16))])}const y=c(b,[["render",g]]);export{j as __pageData,y as default}; diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js new file mode 100644 index 0000000..e577768 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.js @@ -0,0 +1 @@ +import{_ as d,c as n,j as l,a as p,G as u,w as h,a4 as m,B as c,o as r,b,e as f}from"./chunks/framework.BXE2pAXj.js";const N=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1729674076000}'),k={name:"FAQ/FAQ.md"};function x(e,a,v,P,A,q){const s=c("ArticleMetadata"),i=c("ClientOnly");return r(),n("div",null,[a[0]||(a[0]=l("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[p("常见问题及其解决方法 "),l("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),u(i,null,{default:h(()=>{var t,o;return[(((t=e.$frontmatter)==null?void 0:t.aside)??!0)&&(((o=e.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(r(),b(s,{key:0,article:e.$frontmatter},null,8,["article"])):f("",!0)]}),_:1}),a[1]||(a[1]=m('

模块和app怎么选?

DANGER

答: 模块和app是2种不同的选择,请仔细阅读文档 Magisk 模块和 Cutoolbox 只能使用其中一种

大佬我不会使用你可以教我吗?

TIP

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

TIP

答: 加入反馈群聊,截图询问

这什么lj调度,不如xxx

DANGER

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

TIP

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

TIP

答: 请关注Github release

',12))])}const F=d(k,[["render",x]]);export{N as __pageData,F as default}; diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js new file mode 100644 index 0000000..e577768 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.CVkjFHY5.lean.js @@ -0,0 +1 @@ +import{_ as d,c as n,j as l,a as p,G as u,w as h,a4 as m,B as c,o as r,b,e as f}from"./chunks/framework.BXE2pAXj.js";const N=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1729674076000}'),k={name:"FAQ/FAQ.md"};function x(e,a,v,P,A,q){const s=c("ArticleMetadata"),i=c("ClientOnly");return r(),n("div",null,[a[0]||(a[0]=l("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[p("常见问题及其解决方法 "),l("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),u(i,null,{default:h(()=>{var t,o;return[(((t=e.$frontmatter)==null?void 0:t.aside)??!0)&&(((o=e.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(r(),b(s,{key:0,article:e.$frontmatter},null,8,["article"])):f("",!0)]}),_:1}),a[1]||(a[1]=m('

模块和app怎么选?

DANGER

答: 模块和app是2种不同的选择,请仔细阅读文档 Magisk 模块和 Cutoolbox 只能使用其中一种

大佬我不会使用你可以教我吗?

TIP

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

TIP

答: 加入反馈群聊,截图询问

这什么lj调度,不如xxx

DANGER

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

TIP

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

TIP

答: 请关注Github release

',12))])}const F=d(k,[["render",x]]);export{N as __pageData,F as default}; diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js new file mode 100644 index 0000000..07f9155 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.js @@ -0,0 +1 @@ +import{_ as d,c as n,j as l,a as p,G as u,w as m,a4 as h,B as r,o as c,b,e as f}from"./chunks/framework.BXE2pAXj.js";const F=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1729674076000}'),x={name:"FAQ/FAQ.md"};function k(a,e,P,v,A,q){const i=r("ArticleMetadata"),s=r("ClientOnly");return c(),n("div",null,[e[0]||(e[0]=l("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[p("常见问题及其解决方法 "),l("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),u(s,null,{default:m(()=>{var t,o;return[(((t=a.$frontmatter)==null?void 0:t.aside)??!0)&&(((o=a.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(c(),b(i,{key:0,article:a.$frontmatter},null,8,["article"])):f("",!0)]}),_:1}),e[1]||(e[1]=h('

大佬我不会使用你可以教我吗?

TIP

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

TIP

答: 加入反馈群聊,截图询问

这什么lj调度,不如xxx

DANGER

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

TIP

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

TIP

答: 请关注Github release

',10))])}const N=d(x,[["render",k]]);export{F as __pageData,N as default}; diff --git a/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js b/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js new file mode 100644 index 0000000..07f9155 --- /dev/null +++ b/maisk_fiage/webroot/assets/FAQ_FAQ.md.eRsPWt_s.lean.js @@ -0,0 +1 @@ +import{_ as d,c as n,j as l,a as p,G as u,w as m,a4 as h,B as r,o as c,b,e as f}from"./chunks/framework.BXE2pAXj.js";const F=JSON.parse('{"title":"常见问题及其解决方法","description":"","frontmatter":{"title":"常见问题及其解决方法"},"headers":[],"relativePath":"FAQ/FAQ.md","filePath":"FAQ/FAQ.md","lastUpdated":1729674076000}'),x={name:"FAQ/FAQ.md"};function k(a,e,P,v,A,q){const i=r("ArticleMetadata"),s=r("ClientOnly");return c(),n("div",null,[e[0]||(e[0]=l("h1",{id:"常见问题及其解决方法",tabindex:"-1"},[p("常见问题及其解决方法 "),l("a",{class:"header-anchor",href:"#常见问题及其解决方法","aria-label":'Permalink to "常见问题及其解决方法"'},"​")],-1)),u(s,null,{default:m(()=>{var t,o;return[(((t=a.$frontmatter)==null?void 0:t.aside)??!0)&&(((o=a.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(c(),b(i,{key:0,article:a.$frontmatter},null,8,["article"])):f("",!0)]}),_:1}),e[1]||(e[1]=h('

大佬我不会使用你可以教我吗?

TIP

答 :不可以,请详细阅读文档

导入cutoolbox报错怎么办

TIP

答: 加入反馈群聊,截图询问

这什么lj调度,不如xxx

DANGER

答: 请立即删除模块APP,并终止本项目使用

非官方内核(Unofficial)可以使用吗?

TIP

答: 可以,但不包括魔改内核,例如vk,Pandora

这次日志更新了什么

TIP

答: 请关注Github release

',10))])}const N=d(x,[["render",k]]);export{F as __pageData,N as default}; diff --git a/maisk_fiage/webroot/assets/about.md.BY9aHTo8.js b/maisk_fiage/webroot/assets/about.md.BY9aHTo8.js new file mode 100644 index 0000000..d33eb2d --- /dev/null +++ b/maisk_fiage/webroot/assets/about.md.BY9aHTo8.js @@ -0,0 +1,3 @@ +import{_ as a,c as r,a4 as t,o as s}from"./chunks/framework.BXE2pAXj.js";const u=JSON.parse('{"title":"关于文档","titleTemplate":"Tritium","description":"","frontmatter":{"title":"关于文档","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1729674076000}'),i={name:"about.md"};function l(n,e,o,h,p,d){return s(),r("div",null,e[0]||(e[0]=[t(`

开发

文档使用 VitePress 构建。站点内容以 Markdown 格式编写,位于 src 目录下。对于简单的编辑

对于本地开发,建议使用 pnpm 作为包管理器:

bash
corepack enable
+pnpm i
+pnpm  dev

此项目要求 Node.js 版本为 v18.0.0 或更高,因为我们在代码中使用了新的 JavaScript 特性,如可选链。

编辑内容

文档参考

附加

文档的主体结构来源于原神地图感谢开发者的开源,大多数vue 组件来源于vue docs原神地图

License

`,13)]))}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/about.md.BY9aHTo8.lean.js b/maisk_fiage/webroot/assets/about.md.BY9aHTo8.lean.js new file mode 100644 index 0000000..d33eb2d --- /dev/null +++ b/maisk_fiage/webroot/assets/about.md.BY9aHTo8.lean.js @@ -0,0 +1,3 @@ +import{_ as a,c as r,a4 as t,o as s}from"./chunks/framework.BXE2pAXj.js";const u=JSON.parse('{"title":"关于文档","titleTemplate":"Tritium","description":"","frontmatter":{"title":"关于文档","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1729674076000}'),i={name:"about.md"};function l(n,e,o,h,p,d){return s(),r("div",null,e[0]||(e[0]=[t(`

开发

文档使用 VitePress 构建。站点内容以 Markdown 格式编写,位于 src 目录下。对于简单的编辑

对于本地开发,建议使用 pnpm 作为包管理器:

bash
corepack enable
+pnpm i
+pnpm  dev

此项目要求 Node.js 版本为 v18.0.0 或更高,因为我们在代码中使用了新的 JavaScript 特性,如可选链。

编辑内容

文档参考

附加

文档的主体结构来源于原神地图感谢开发者的开源,大多数vue 组件来源于vue docs原神地图

License

`,13)]))}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/about.md.CGNTdsmx.js b/maisk_fiage/webroot/assets/about.md.CGNTdsmx.js new file mode 100644 index 0000000..c435174 --- /dev/null +++ b/maisk_fiage/webroot/assets/about.md.CGNTdsmx.js @@ -0,0 +1,3 @@ +import{_ as a,c as r,a4 as t,o as s}from"./chunks/framework.BXE2pAXj.js";const u=JSON.parse('{"title":"关于文档","titleTemplate":"Tritium","description":"","frontmatter":{"title":"关于文档","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1729511773000}'),i={name:"about.md"};function l(n,e,o,h,p,d){return s(),r("div",null,e[0]||(e[0]=[t(`

开发

文档使用 VitePress 构建。站点内容以 Markdown 格式编写,位于 src 目录下。对于简单的编辑

对于本地开发,建议使用 pnpm 作为包管理器:

bash
corepack enable
+pnpm i
+pnpm  dev

此项目要求 Node.js 版本为 v16.0.0 或更高,因为我们在代码中使用了新的 JavaScript 特性,如可选链。

编辑内容

文档参考

附加

文档的主体结构来源于原神地图感谢开发者的开源,大多数vue 组件来源于vue docs原神地图

License

`,13)]))}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/about.md.CGNTdsmx.lean.js b/maisk_fiage/webroot/assets/about.md.CGNTdsmx.lean.js new file mode 100644 index 0000000..c435174 --- /dev/null +++ b/maisk_fiage/webroot/assets/about.md.CGNTdsmx.lean.js @@ -0,0 +1,3 @@ +import{_ as a,c as r,a4 as t,o as s}from"./chunks/framework.BXE2pAXj.js";const u=JSON.parse('{"title":"关于文档","titleTemplate":"Tritium","description":"","frontmatter":{"title":"关于文档","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1729511773000}'),i={name:"about.md"};function l(n,e,o,h,p,d){return s(),r("div",null,e[0]||(e[0]=[t(`

开发

文档使用 VitePress 构建。站点内容以 Markdown 格式编写,位于 src 目录下。对于简单的编辑

对于本地开发,建议使用 pnpm 作为包管理器:

bash
corepack enable
+pnpm i
+pnpm  dev

此项目要求 Node.js 版本为 v16.0.0 或更高,因为我们在代码中使用了新的 JavaScript 特性,如可选链。

编辑内容

文档参考

附加

文档的主体结构来源于原神地图感谢开发者的开源,大多数vue 组件来源于vue docs原神地图

License

`,13)]))}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.js b/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.js new file mode 100644 index 0000000..477dc18 --- /dev/null +++ b/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.js @@ -0,0 +1 @@ +import{_ as s,c as m,j as i,a as c,G as u,w as p,a4 as T,B as o,o as l,b as f,e as _}from"./chunks/framework.BXE2pAXj.js";const k=JSON.parse('{"title":"用户协议","titleTemplate":"Tritium","description":"","frontmatter":{"title":"用户协议","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"agreement.md","filePath":"agreement.md","lastUpdated":1706220153000}'),h={name:"agreement.md"};function E(t,e,A,N,O,R){const n=o("ArticleMetadata"),d=o("ClientOnly");return l(),m("div",null,[e[0]||(e[0]=i("h1",{id:"tritium-隐私协议",tabindex:"-1"},[c("Tritium 隐私协议 "),i("a",{class:"header-anchor",href:"#tritium-隐私协议","aria-label":'Permalink to "Tritium 隐私协议"'},"​")],-1)),u(d,null,{default:p(()=>{var a,r;return[(((a=t.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:t.$frontmatter},null,8,["article"])):_("",!0)]}),_:1}),e[1]||(e[1]=T('

Tritium尊重并保护所有使用此调度用户的个人隐私权。此调入并不具备任何联网传输数据的功能,也不会收集和存储任何用户数据。

您在同意此隐私协议之时,即视为您已经同意本隐私权政策全部内容。

需要获取的权限

隐私协议变更

我们的隐私政策将不定时更新。 通常情况下,我们不会削减您按照本隐私政策所应享有的权利。

',6))])}const C=s(h,[["render",E]]);export{k as __pageData,C as default}; diff --git a/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.lean.js b/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.lean.js new file mode 100644 index 0000000..477dc18 --- /dev/null +++ b/maisk_fiage/webroot/assets/agreement.md.CNtXq9L_.lean.js @@ -0,0 +1 @@ +import{_ as s,c as m,j as i,a as c,G as u,w as p,a4 as T,B as o,o as l,b as f,e as _}from"./chunks/framework.BXE2pAXj.js";const k=JSON.parse('{"title":"用户协议","titleTemplate":"Tritium","description":"","frontmatter":{"title":"用户协议","layout":"doc","titleTemplate":"Tritium","aside":false,"comment":false},"headers":[],"relativePath":"agreement.md","filePath":"agreement.md","lastUpdated":1706220153000}'),h={name:"agreement.md"};function E(t,e,A,N,O,R){const n=o("ArticleMetadata"),d=o("ClientOnly");return l(),m("div",null,[e[0]||(e[0]=i("h1",{id:"tritium-隐私协议",tabindex:"-1"},[c("Tritium 隐私协议 "),i("a",{class:"header-anchor",href:"#tritium-隐私协议","aria-label":'Permalink to "Tritium 隐私协议"'},"​")],-1)),u(d,null,{default:p(()=>{var a,r;return[(((a=t.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:t.$frontmatter},null,8,["article"])):_("",!0)]}),_:1}),e[1]||(e[1]=T('

Tritium尊重并保护所有使用此调度用户的个人隐私权。此调入并不具备任何联网传输数据的功能,也不会收集和存储任何用户数据。

您在同意此隐私协议之时,即视为您已经同意本隐私权政策全部内容。

需要获取的权限

隐私协议变更

我们的隐私政策将不定时更新。 通常情况下,我们不会削减您按照本隐私政策所应享有的权利。

',6))])}const C=s(h,[["render",E]]);export{k as __pageData,C as default}; diff --git a/maisk_fiage/webroot/assets/app.C7qJyVyE.js b/maisk_fiage/webroot/assets/app.C7qJyVyE.js new file mode 100644 index 0000000..656da7b --- /dev/null +++ b/maisk_fiage/webroot/assets/app.C7qJyVyE.js @@ -0,0 +1 @@ +import{R as i}from"./chunks/theme.CpLOZU2l.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,a3 as S}from"./chunks/framework.BXE2pAXj.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/maisk_fiage/webroot/assets/app.ChY41Hk9.js b/maisk_fiage/webroot/assets/app.ChY41Hk9.js new file mode 100644 index 0000000..d34b1b1 --- /dev/null +++ b/maisk_fiage/webroot/assets/app.ChY41Hk9.js @@ -0,0 +1 @@ +import{R as i}from"./chunks/theme.DtwH47Qa.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,a3 as S}from"./chunks/framework.BXE2pAXj.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/maisk_fiage/webroot/assets/app.CvJHcnDV.js b/maisk_fiage/webroot/assets/app.CvJHcnDV.js new file mode 100644 index 0000000..c1612e0 --- /dev/null +++ b/maisk_fiage/webroot/assets/app.CvJHcnDV.js @@ -0,0 +1 @@ +import{R as i}from"./chunks/theme.8NM9hdXq.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,a3 as S}from"./chunks/framework.BXE2pAXj.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js new file mode 100644 index 0000000..c08e14c --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.63uIO9Js.js @@ -0,0 +1 @@ +const e='{"documentCount":61,"nextId":61,"documentIds":{"0":"/FAQ/FAQ#常见问题及其解决方法","1":"/FAQ/FAQ#大佬我不会使用你可以教我吗","2":"/FAQ/FAQ#导入cutoolbox报错怎么办","3":"/FAQ/FAQ#这什么lj调度-不如xxx","4":"/FAQ/FAQ#非官方内核-unofficial-可以使用吗","5":"/FAQ/FAQ#这次日志更新了什么","6":"/agreement#tritium-隐私协议","7":"/agreement#需要获取的权限","8":"/agreement#隐私协议变更","9":"/about#开发","10":"/about#编辑内容","11":"/about#文档参考","12":"/about#附加","13":"/about#license","14":"/clown#如你所见我们会记录一些🤡","15":"/clown#我的自由","16":"/clown#反差","17":"/clown#为什么这么多要求🤣🤣","18":"/clown#怎么用😅","19":"/clown#人人皆是垃圾🤔🤔","20":"/disclaimer#tritium-项目免责声明","21":"/disclaimer#目的","22":"/disclaimer#责任限制","23":"/disclaimer#服务变更","24":"/guide/CpuGovernor#cpugovernor-cpu混合调频器","25":"/guide/CpuGovernor#params-调频器参数","26":"/guide/CpuGovernor#policies-策略组","27":"/guide/CpuGovernor#modes-模式参数","28":"/guide/CpuGovernor#freqburst-cpu频率加速","29":"/guide/CpuGovernor#例如","30":"/guide/FileWriter#filewriter-文件写入器","31":"/guide/FileWriter#scenes-场景触发器","32":"/guide/FileWriter#举个例子","33":"/guide/Customize#cuprumturbo-v19-自定义配置开发文档","34":"/guide/Customize#导航","35":"/guide/Customize#完整config以高通865为例","36":"/guide/Json#json信息","37":"/guide/MtkGpuGovernor#mtkgpugovernor-联发科gpu调频器","38":"/guide/MtkGpuGovernor#params-调频器参数","39":"/guide/MtkGpuGovernor#modes-模式参数","40":"/guide/download#兼容状态","41":"/guide/download#下载配置文件并cutoolbox导入使用","42":"/guide/download#github","43":"/guide/download#蓝奏云","44":"/guide/ThreadSchedOpt#threadschedopt-线程调度优化","45":"/guide/start#✨什么是tritium🤔","46":"/guide/start#tritium","47":"/guide/start#我们为什么选择cuprumturbo-scheduler进行2次修改","48":"/guide/start#其他的调度","49":"/guide/start#相关协议","50":"/guide/start#✨我该如何选择🤔","51":"/guide/start#类似的项目-apodidae","52":"/guide/use#如何使用","53":"/guide/use#使用须知","54":"/guide/use#使用方法1-app导入","55":"/guide/use#使用方法2-模块刷入","56":"/guide/use#检查日志","57":"/join#加入我们","58":"/log#更新日志","59":"/log#日志-🥰🥰","60":"/log#文档📃建站"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,5],"2":[1,1,5],"3":[2,1,5],"4":[4,1,7],"5":[1,1,5],"6":[2,1,6],"7":[1,2,20],"8":[1,2,4],"9":[1,1,30],"10":[1,1,11],"11":[1,1,7],"12":[1,1,5],"13":[1,1,18],"14":[1,1,6],"15":[1,1,4],"16":[1,1,4],"17":[1,1,4],"18":[1,1,4],"19":[1,1,1],"20":[2,1,1],"21":[1,2,6],"22":[1,2,6],"23":[1,2,6],"24":[2,1,2],"25":[2,2,35],"26":[2,2,56],"27":[2,2,40],"28":[2,4,52],"29":[1,1,44],"30":[2,1,2],"31":[2,2,32],"32":[1,1,35],"33":[3,1,3],"34":[1,1,6],"35":[1,1,293],"36":[1,1,30],"37":[2,1,2],"38":[2,2,21],"39":[2,2,54],"40":[1,1,43],"41":[1,1,1],"42":[1,1,1],"43":[1,1,1],"44":[2,1,4],"45":[1,1,1],"46":[1,1,10],"47":[2,2,10],"48":[1,1,3],"49":[1,1,5],"50":[2,2,6],"51":[1,2,1],"52":[1,1,1],"53":[1,1,12],"54":[2,1,1],"55":[2,1,1],"56":[1,3,15],"57":[1,1,6],"58":[1,1,1],"59":[3,1,4],"60":[2,4,1]},"averageFieldLength":[1.4426229508196722,1.3606557377049178,16.491803278688522],"storedFields":{"0":{"title":"常见问题及其解决方法","titles":[]},"1":{"title":"大佬我不会使用你可以教我吗?","titles":["常见问题及其解决方法"]},"2":{"title":"导入cutoolbox报错怎么办","titles":["常见问题及其解决方法"]},"3":{"title":"这什么lj调度,不如xxx","titles":["常见问题及其解决方法"]},"4":{"title":"非官方内核(Unofficial)可以使用吗?","titles":["常见问题及其解决方法"]},"5":{"title":"这次日志更新了什么","titles":["常见问题及其解决方法"]},"6":{"title":"Tritium 隐私协议","titles":[]},"7":{"title":"需要获取的权限","titles":["Tritium 隐私协议"]},"8":{"title":"隐私协议变更","titles":["Tritium 隐私协议"]},"9":{"title":"开发","titles":[]},"10":{"title":"编辑内容","titles":[]},"11":{"title":"文档参考","titles":[]},"12":{"title":"附加","titles":["文档参考"]},"13":{"title":"License","titles":[]},"14":{"title":"如你所见我们会记录一些🤡","titles":[]},"15":{"title":"我的自由","titles":["如你所见我们会记录一些🤡"]},"16":{"title":"反差","titles":["如你所见我们会记录一些🤡"]},"17":{"title":"为什么这么多要求🤣🤣","titles":["如你所见我们会记录一些🤡"]},"18":{"title":"怎么用😅","titles":["如你所见我们会记录一些🤡"]},"19":{"title":"人人皆是垃圾🤔🤔","titles":["如你所见我们会记录一些🤡"]},"20":{"title":"Tritium 项目免责声明","titles":[]},"21":{"title":"目的","titles":["Tritium 项目免责声明"]},"22":{"title":"责任限制","titles":["Tritium 项目免责声明"]},"23":{"title":"服务变更","titles":["Tritium 项目免责声明"]},"24":{"title":"CpuGovernor - CPU混合调频器","titles":[]},"25":{"title":"params - 调频器参数","titles":["CpuGovernor - CPU混合调频器"]},"26":{"title":"policies - 策略组","titles":["CpuGovernor - CPU混合调频器"]},"27":{"title":"modes - 模式参数","titles":["CpuGovernor - CPU混合调频器"]},"28":{"title":"freqBurst - CPU频率加速","titles":["CpuGovernor - CPU混合调频器","modes - 模式参数"]},"29":{"title":"例如","titles":[]},"30":{"title":"FileWriter - 文件写入器","titles":[]},"31":{"title":"scenes - 场景触发器","titles":["FileWriter - 文件写入器"]},"32":{"title":"举个例子","titles":[]},"33":{"title":"CuprumTurbo V19 自定义配置开发文档","titles":[]},"34":{"title":"导航","titles":[]},"35":{"title":"完整config以高通865为例","titles":[]},"36":{"title":"Json信息","titles":[]},"37":{"title":"MtkGpuGovernor - 联发科GPU调频器","titles":[]},"38":{"title":"params - 调频器参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"39":{"title":"modes - 模式参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"40":{"title":"兼容状态","titles":[]},"41":{"title":"下载配置文件并cutoolbox导入使用","titles":[]},"42":{"title":"-","titles":[]},"43":{"title":"-","titles":[]},"44":{"title":"ThreadSchedOpt - 线程调度优化","titles":[]},"45":{"title":"✨什么是Tritium🤔","titles":[]},"46":{"title":"Tritium","titles":["✨什么是Tritium🤔"]},"47":{"title":"我们为什么选择CuprumTurbo Scheduler进行2次修改","titles":["✨什么是Tritium🤔","Tritium"]},"48":{"title":"其他的调度","titles":["✨什么是Tritium🤔"]},"49":{"title":"相关协议","titles":["✨什么是Tritium🤔"]},"50":{"title":"✨我该如何选择🤔?","titles":["✨什么是Tritium🤔","相关协议"]},"51":{"title":"类似的项目","titles":["✨什么是Tritium🤔","相关协议"]},"52":{"title":"如何使用","titles":[]},"53":{"title":"使用须知","titles":["如何使用"]},"54":{"title":"使用方法1 -app导入","titles":["如何使用"]},"55":{"title":"使用方法2 -模块刷入","titles":["如何使用"]},"56":{"title":"检查日志","titles":["如何使用","使用方法2 -模块刷入"]},"57":{"title":"加入我们","titles":[]},"58":{"title":"更新日志","titles":[]},"59":{"title":"日志[🥰🥰]","titles":["更新日志"]},"60":{"title":"文档📃建站,","titles":["更新日志","日志[🥰🥰]"]}},"dirtCount":0,"index":[["🥰🥰",{"0":{"59":1},"1":{"60":1}}],["日志",{"0":{"59":1},"1":{"60":1}}],["更新日志",{"0":{"58":1},"1":{"59":1,"60":1}}],["更加深入soc的适配",{"2":{"47":1}}],["也欢迎加入我们一起实现",{"2":{"57":1}}],["也不会收集和存储任何用户数据",{"2":{"6":1}}],["或者如果您有任何其他有任何好的想法或者设计",{"2":{"57":1}}],["或更高",{"2":{"9":1}}],["为了进一步完善和优化项目",{"2":{"57":1}}],["为什么这么多要求🤣🤣",{"0":{"17":1}}],["加入我们",{"0":{"57":1}}],["加入反馈群聊",{"2":{"2":1}}],["出现daemon",{"2":{"56":1}}],["则cuprumturbo",{"2":{"56":1}}],["检查日志",{"0":{"56":1}}],["模块刷入",{"0":{"55":1},"1":{"56":1}}],["模块是由scene控制",{"2":{"53":1}}],["模式参数",{"0":{"27":1,"39":1},"1":{"28":1}}],["保证调度的体验",{"2":{"53":1}}],["保持均衡即可",{"2":{"53":1}}],["保留了大部分原有结构",{"2":{"46":1}}],["安装软件或者模块之前请务必并卸载asoulopt模块",{"2":{"53":1}}],["根据个人喜好需求选择即可",{"2":{"50":1}}],["✨我该如何选择🤔",{"0":{"50":1}}],["✨什么是tritium🤔",{"0":{"45":1},"1":{"46":1,"47":1,"48":1,"49":1,"50":1,"51":1}}],["相关协议",{"0":{"49":1},"1":{"50":1,"51":1}}],["相同且效率更高",{"2":{"31":1}}],["类似的项目",{"0":{"51":1}}],["类似于uperf的app动态配置调节",{"2":{"48":1}}],["类型",{"2":{"26":1,"27":1,"28":1,"31":1,"36":1,"38":1,"39":1}}],["其他的调度",{"0":{"48":1}}],["其他模块",{"2":{"25":1,"36":1}}],["使其在soc上获得个更加优秀的功耗控制和性能表现",{"2":{"47":1}}],["使用方法2",{"0":{"55":1},"1":{"56":1}}],["使用方法1",{"0":{"54":1}}],["使用软件和模块时请勿开启系统的性能模式开关",{"2":{"53":1}}],["使用须知",{"0":{"53":1}}],["使用最新发布版本时",{"2":{"36":1}}],["使用tritium服务即表示您同意接受并遵守这一免责声明",{"2":{"23":2}}],["使用tritium服务时",{"2":{"21":1}}],["使用",{"2":{"10":1}}],["具有非常强的自定义性",{"2":{"47":1}}],["具体信息请查看调度日志",{"2":{"38":1}}],["以更好地适应不同硬件环境",{"2":{"46":1}}],["但它的配置较为复杂",{"2":{"47":1}}],["但我们也对模块进行了一些修改",{"2":{"46":1}}],["但针对不同的soc进行了深度适配和配置参数调整",{"2":{"46":1}}],["但不包括魔改内核",{"2":{"4":1}}],["暂不建议自行修改此模块的参数",{"2":{"44":1}}],["线程调度优化",{"0":{"44":1}}],["线程配置模块",{"2":{"34":1}}],["下载配置文件并cutoolbox导入使用",{"0":{"41":1}}],["欢迎加入我们参与其中~",{"2":{"40":1}}],["天玑",{"2":{"40":1}}],["骁龙",{"2":{"40":1}}],["仅代表本调度",{"2":{"40":1}}],["仅执行一次",{"2":{"31":1}}],["注",{"2":{"40":1}}],["后续也可能会增加",{"2":{"40":1}}],["后台进程保活权限",{"2":{"7":1}}],["支持的soc列表",{"2":{"40":1}}],["支持的场景如下",{"2":{"31":1}}],["支持安卓6",{"2":{"40":1}}],["兼容状态",{"0":{"40":1}}],["由于联发科内核提供的gpu频率数量过多",{"2":{"38":1}}],["由于是按照数组的序号来为策略组编号的",{"2":{"26":1}}],["偏好gpu频率",{"2":{"38":1}}],["空闲时工作频率",{"2":{"38":1}}],["活跃时工作频率",{"2":{"38":1}}],["活跃时间",{"2":{"25":1}}],["联发科gpu调频器",{"0":{"37":1},"1":{"38":1,"39":1}}],["作者",{"2":{"36":1}}],["作为包管理器",{"2":{"9":1}}],["名称",{"2":{"36":1}}],["配置文件版本",{"2":{"36":1}}],["配置文件的作者信息",{"2":{"36":1}}],["配置文件的名称",{"2":{"36":1}}],["在这里你可以定义配置文件的名称和作者信息",{"2":{"36":1}}],["queued",{"2":{"35":1}}],["qrzd|",{"2":{"35":1}}],["xecutor|",{"2":{"35":1}}],["kk",{"2":{"35":1}}],["running即为调度正常运行",{"2":{"56":1}}],["rule",{"2":{"35":1}}],["racker|",{"2":{"35":1}}],["rash|",{"2":{"35":1}}],["raster|",{"2":{"35":1}}],["ridge|",{"2":{"35":1}}],["rr",{"2":{"35":2}}],["rendering",{"2":{"35":1}}],["renderthread|gamethread|rhithread",{"2":{"35":1}}],["restricted",{"2":{"32":2,"35":1}}],["recovertime即为容量从耗尽到完全恢复所需的时间",{"2":{"27":1}}],["recovertime",{"2":{"27":1,"29":1,"35":4}}],["request",{"2":{"7":1}}],["read",{"2":{"7":1}}],["release|gpu",{"2":{"35":1}}],["release",{"2":{"5":1}}],["heaptask|heaptrimmer|finalizer|cleanupreferenc|gc",{"2":{"35":1}}],["heavycpus",{"2":{"35":39}}],["heavyload",{"2":{"28":2,"29":1,"35":4}}],["hh",{"2":{"35":1}}],["hwc",{"2":{"35":1}}],["horeographer",{"2":{"35":1}}],["harrypotter|",{"2":{"35":1}}],["zmq|",{"2":{"35":1}}],["ys",{"2":{"35":1}}],["yuanshen|",{"2":{"35":1}}],["|glp|glt|nativethread|sdlthread|thread",{"2":{"35":1}}],["|firebase|koom|adb",{"2":{"35":1}}],["|fresco|",{"2":{"35":1}}],["|tvkdl",{"2":{"35":1}}],["|timer",{"2":{"35":1}}],["|jit",{"2":{"35":1}}],["|asynctask|thread",{"2":{"35":1}}],["|corethread|thread",{"2":{"35":1}}],["|compositor|crgpumain|crrenderer|viz|gecko",{"2":{"35":1}}],["|cron",{"2":{"35":1}}],["|mali",{"2":{"35":1}}],["|",{"2":{"35":10}}],["9200+",{"2":{"40":1}}],["9200",{"2":{"40":1}}],["95",{"2":{"35":1}}],["90",{"2":{"35":2,"39":1}}],["960",{"2":{"35":1}}],["540",{"2":{"39":2}}],["55",{"2":{"35":1}}],["530",{"2":{"35":1}}],["50",{"2":{"35":1}}],["500",{"2":{"26":2,"35":1}}],["510",{"2":{"35":1}}],["5",{"2":{"35":38,"53":1}}],["8100",{"2":{"40":1}}],["835",{"2":{"40":1}}],["8gen3",{"2":{"40":1}}],["8gen2",{"2":{"40":1}}],["8gen1",{"2":{"40":1}}],["8+gen1",{"2":{"40":1}}],["888+",{"2":{"40":1}}],["888",{"2":{"40":1}}],["865",{"2":{"40":1}}],["865+",{"2":{"35":1,"40":1}}],["860",{"2":{"40":1}}],["855+",{"2":{"40":1}}],["855",{"2":{"40":1}}],["845",{"2":{"40":1}}],["890",{"2":{"39":1}}],["8",{"2":{"35":7}}],["870",{"2":{"35":1,"40":1}}],["80",{"2":{"29":2,"35":1,"39":1}}],["8000",{"2":{"29":1,"40":1}}],["800",{"2":{"29":2,"35":1}}],["nn",{"2":{"35":1}}],["nim|",{"2":{"35":1}}],["netease",{"2":{"35":1}}],["neox",{"2":{"35":2}}],["null",{"2":{"35":39}}],["name",{"2":{"35":1,"36":2}}],["none",{"2":{"29":1,"35":4}}],["now",{"2":{"13":1}}],["node",{"2":{"9":1}}],["完整config以高通865为例",{"0":{"35":1}}],["导航",{"0":{"34":1}}],["导入cutoolbox报错怎么办",{"0":{"2":1}}],["本项目及其衍生项目完全免费",{"2":{"57":1}}],["本文档来自于上游开发者我们只是对其字段进行通俗理解",{"2":{"33":1}}],["本平台提供的tritium项目调度服务仅用于一般性信息交流和参考学习目的",{"2":{"21":1}}],["自定义配置开发文档",{"0":{"33":1}}],["而不是相对路径",{"2":{"32":1}}],["而无需提前通知",{"2":{"23":1}}],["应与开发者仓库中的保持一致",{"2":{"36":1}}],["应该是绝对路径",{"2":{"32":1}}],["应当与内核中每个cluster中包含的cpu对应",{"2":{"26":1}}],["举个例子",{"0":{"32":1}}],["需要一定的学习成本",{"2":{"47":1}}],["需要写入的文本",{"2":{"31":1}}],["需要获取的权限",{"0":{"7":1}}],["切换到fast模式时触发",{"2":{"31":1}}],["切换到performance模式时触发",{"2":{"31":1}}],["切换到powersave模式时触发",{"2":{"31":1}}],["切换到balance模式时触发",{"2":{"31":1}}],["屏幕熄灭时触发",{"2":{"31":1}}],["屏幕点亮时触发",{"2":{"31":1}}],["调度选取gpu频率时将优先考虑这些频率",{"2":{"38":1}}],["调度初始化时触发",{"2":{"31":1}}],["调频器计算的是满载功耗",{"2":{"27":1}}],["调频器参数",{"0":{"25":1,"38":1}}],["写入的文本是",{"2":{"32":1}}],["写入的目标地址",{"2":{"31":1}}],["写入单个文件的耗时通常不超过1ms",{"2":{"31":1}}],["写入方式与echo",{"2":{"31":1}}],["gpu降频差值",{"2":{"39":1}}],["gpu升频阈值",{"2":{"39":1}}],["gpu频率下限",{"2":{"39":1}}],["gpu频率上限",{"2":{"39":1}}],["gpu配置模块",{"2":{"34":1}}],["glide",{"2":{"35":1}}],["glthread|",{"2":{"35":1}}],["game",{"2":{"35":2}}],["g78na|",{"2":{"35":1}}],["g93na|",{"2":{"35":1}}],["genshinimpact",{"2":{"35":1}}],["genshin",{"2":{"35":2}}],["gesture",{"2":{"28":2,"29":1,"35":4}}],["gt",{"2":{"31":1}}],["场景触发器",{"0":{"31":1}}],["fmod",{"2":{"35":4}}],["futuremark",{"2":{"35":1}}],["foreground",{"2":{"32":1,"35":1}}],["filewriter",{"0":{"30":1},"1":{"31":1},"2":{"32":1,"35":1}}],["fastmode",{"2":{"31":1,"32":1,"35":1}}],["fast",{"2":{"29":1,"35":1,"39":1}}],["false",{"2":{"29":5,"35":21}}],["freqburst",{"0":{"28":1},"2":{"29":1,"35":4}}],["+",{"2":{"28":2}}],["=",{"2":{"28":2}}],["计算公式如下",{"2":{"28":2}}],["适用于检测到掉帧等需要迅速提升cpu频率的场景",{"2":{"28":1}}],["触发的优先级为none",{"2":{"28":1}}],["触发条件包含tap",{"2":{"28":1}}],["时触发",{"2":{"28":1}}],["严重掉帧",{"2":{"28":1}}],["掉帧",{"2":{"28":1}}],["重负载",{"2":{"28":1}}],["手势操作",{"2":{"28":1}}],["滑动屏幕",{"2":{"28":1}}],["点击屏幕",{"2":{"28":1}}],["分别在",{"2":{"28":1}}],["额外性能冗余",{"2":{"28":1}}],["是否降低延迟",{"2":{"28":1}}],["频率加速值",{"2":{"28":1}}],["频率加速持续时间",{"2":{"28":1}}],["频率加速容量",{"2":{"27":1}}],["直到容量耗尽时恢复功耗限制",{"2":{"27":1}}],["当然你也可以选择",{"2":{"50":1}}],["当然大多数与cuprumturbo",{"2":{"49":1}}],["当然我们不可能比开发者更懂这些参数",{"2":{"33":1}}],["当开始使用tritium时",{"2":{"49":1}}],["当gpu负载为95时提升gpu频率",{"2":{"39":1}}],["当gpu负载为85时gpu频率不变",{"2":{"39":1}}],["当gpu负载为75时降低gpu频率",{"2":{"39":1}}],["当gpu负载为0时调频器按照idleratehz频率工作",{"2":{"38":1}}],["当gpu负载减少的差值大于downratediff时降低频率",{"2":{"39":1}}],["当gpu负载大于upratethres时提升频率",{"2":{"39":1}}],["当负载非0时调频器按照activeratehz频率工作",{"2":{"38":1}}],["当某个节点写入文本时",{"2":{"32":1}}],["当触发指定场景时将会自动向文件中写入预设的文本",{"2":{"31":1}}],["当触发cpu频率加速时调频器将会忽略powerlimit",{"2":{"27":1}}],["当cpu温度小于80度时将不限制最大功耗",{"2":{"28":1,"29":1}}],["当cpu温度超过该值时将限制cpu功耗在powerlimit以内并忽略频率加速直到温度降低",{"2":{"27":1}}],["当要求调频器降低延迟时调频器将会以最快的速度提升cpu频率",{"2":{"28":1}}],["当更高优先级的加速触发时将覆盖低优先级的加速",{"2":{"28":1}}],["当实时功耗低于功耗限制值时将会逐渐恢复burstcapacity",{"2":{"27":1}}],["每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频",{"2":{"27":1}}],["每个策略组中的cpu频率将会同步控制",{"2":{"26":1}}],["数组的序号对应策略组编号",{"2":{"27":1}}],["容量恢复时间",{"2":{"27":1}}],["°c",{"2":{"27":1}}],["onitor",{"2":{"35":1}}],["onmyoji|",{"2":{"35":1}}],["og|",{"2":{"35":1}}],["ogger|",{"2":{"35":1}}],["ork|",{"2":{"35":1}}],["odec|",{"2":{"35":1}}],["ookie|",{"2":{"35":1}}],["ool|",{"2":{"35":1}}],["oo",{"2":{"35":1}}],["overheattemp",{"2":{"27":1,"29":2,"35":4}}],["optimalfreq",{"2":{"26":4,"35":3}}],["optimizations",{"2":{"7":1}}],["upratethres的值越小升频越积极",{"2":{"39":1}}],["upratethres",{"2":{"39":5}}],["upratelatency",{"2":{"27":1,"29":2,"35":4}}],["ugly|bugly|logthread",{"2":{"35":1}}],["udio|",{"2":{"35":1}}],["ui|",{"2":{"35":1}}],["unreal",{"2":{"35":2}}],["unitymain",{"2":{"35":1}}],["unitymain|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"35":1}}],["unitygfx|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"35":1}}],["unitygfx",{"2":{"35":1}}],["unity",{"2":{"35":5}}],["unofficial",{"0":{"4":1}}],["范围",{"2":{"27":1,"28":2,"39":2}}],["最终取值将为1450",{"2":{"26":1}}],["最小频率差值为生成cpu频率表的关键参数",{"2":{"25":1}}],["设置upratethres=90",{"2":{"39":1}}],["设置得过小将会导致调频速度过慢",{"2":{"25":1}}],["设定频率为1500",{"2":{"26":1}}],["处于modelfreq时cpu的满载功耗",{"2":{"26":1}}],["单位",{"2":{"26":4,"27":5,"28":1,"38":1,"39":2}}],["定义",{"2":{"26":1,"27":1,"28":1,"31":1,"36":1,"38":1,"39":1}}],["字段会验证调度版本",{"2":{"36":1}}],["字段",{"2":{"26":1,"27":1,"28":1,"31":1,"36":1,"38":1,"39":1}}],["字段为是否启用",{"2":{"25":1}}],["7+gen3",{"2":{"40":1}}],["7+gen2",{"2":{"40":1}}],["782",{"2":{"40":1}}],["778g+",{"2":{"40":1}}],["778g",{"2":{"40":1}}],["770",{"2":{"39":2}}],["768g",{"2":{"40":1}}],["765g",{"2":{"40":1}}],["765",{"2":{"40":1}}],["70",{"2":{"35":1,"39":2}}],["700",{"2":{"26":1,"35":1}}],["7",{"2":{"26":1,"32":2,"35":11}}],["所以策略组的排序应与cluster的排序一致",{"2":{"26":1}}],["策略组中包含的cpu核心数量",{"2":{"26":1}}],["策略组",{"0":{"26":1}}],["过热温度为触发调频器温度控制的阈值",{"2":{"27":1}}],["过热温度",{"2":{"27":1}}],["过大将会导致调频不够精细",{"2":{"25":1}}],["过低将导致调频器无法应对瞬时负载",{"2":{"25":1}}],["四种负载",{"2":{"25":1}}],["6",{"2":{"35":34}}],["65",{"2":{"35":1}}],["660",{"2":{"39":2}}],["66",{"2":{"25":1}}],["600",{"2":{"35":2}}],["60",{"2":{"25":1,"29":1,"35":3,"39":1}}],["例如下面",{"2":{"32":1}}],["例如",{"0":{"29":1},"2":{"39":1}}],["例如cpu频率表中有1200",{"2":{"26":1}}],["例如sdm845为4+4设计",{"2":{"26":1}}],["例如100hz时只能获得0",{"2":{"25":1}}],["例如vk",{"2":{"4":1}}],["总时间",{"2":{"25":1}}],["35",{"2":{"35":1}}],["390",{"2":{"35":1}}],["320",{"2":{"26":2,"35":1}}],["360",{"2":{"26":1,"35":2}}],["3",{"2":{"26":2,"32":4,"35":24}}],["33",{"2":{"25":1}}],["33ms记录一次",{"2":{"25":1}}],["300",{"2":{"35":4}}],["3000",{"2":{"29":1}}],["30",{"2":{"25":1,"35":3,"39":1}}],["即可在app内查看日志",{"2":{"56":1}}],["即数组中的每个json元素对应一个文件写入任务",{"2":{"31":1}}],["即数组中的每个json元素对应一个策略组",{"2":{"26":1}}],["即policy0",{"2":{"26":1}}],["即3",{"2":{"25":1}}],["即视为您已经同意本隐私权政策全部内容",{"2":{"6":1}}],["通常linux内核频率为300hz",{"2":{"25":1}}],["通常情况下",{"2":{"8":1}}],["工作频率是cpu混合调频器的重要参数",{"2":{"25":1}}],["arm64",{"2":{"40":1}}],["arrayint",{"2":{"27":1,"38":1}}],["atch",{"2":{"35":1}}],["apodidae",{"2":{"50":1}}],["apm",{"2":{"35":1}}],["apture",{"2":{"35":1}}],["app导入",{"0":{"54":1}}],["app最低支持安卓9",{"2":{"40":1}}],["apptypes",{"2":{"35":1}}],["app",{"2":{"32":1,"35":1}}],["amera",{"2":{"35":1}}],["ava",{"2":{"35":1}}],["aa",{"2":{"35":2}}],["auncher",{"2":{"35":1}}],["author",{"2":{"35":1,"36":2}}],["andle|",{"2":{"35":1}}],["android",{"2":{"7":4,"56":1}}],["anim|",{"2":{"35":1}}],["acturalmargin",{"2":{"28":1}}],["activedelay",{"2":{"25":1,"35":1}}],["activeratehz",{"2":{"25":1,"35":1,"38":1,"39":1}}],["此调频器将只会选取部分gpu频率",{"2":{"38":1}}],["此调入并不具备任何联网传输数据的功能",{"2":{"6":1}}],["此字段将会用于验证调度与该配置是否兼容",{"2":{"36":1}}],["此模块未使用标准的规则编写",{"2":{"44":1}}],["此模块通过智能分类线程来实现较为合理的线程调度策略",{"2":{"44":1}}],["此模块通过在各种不同场景下选择合适的cpu频率以改善使用体验",{"2":{"24":1}}],["此模块用于在触发某些场景时自动写入文件",{"2":{"30":1}}],["此项配置类型为arrayjson",{"2":{"26":1,"31":1}}],["修订或终止tritium服务的权利",{"2":{"23":1}}],["服务变更",{"0":{"23":1}}],["可能不具有实时性和个性化的特点",{"2":{"22":1}}],["可以",{"2":{"4":1}}],["可以使用吗",{"0":{"4":1}}],["并不代表原ct",{"2":{"40":1}}],["并理解tritium的回应基于先前测试的数据",{"2":{"22":1}}],["并终止本项目使用",{"2":{"3":1}}],["用户在使用本服务前应审慎考虑并理解免责声明的内容",{"2":{"23":1}}],["用户在使用tritium服务的同时应当遵守适用法律法规",{"2":{"22":1}}],["用于降低部分场景下卡顿的几率",{"2":{"28":1}}],["用于生成cpu功耗模型的cpu频率",{"2":{"26":1}}],["用于确保后台服务保活",{"2":{"7":1}}],["用于确保cutoolbox后台服务在设备休眠时仍能正常运行",{"2":{"7":1}}],["用于写入数据到存储设备",{"2":{"7":1}}],["用于读取存储设备上的文件和数据",{"2":{"7":1}}],["误解或问题承担责任",{"2":{"22":1}}],["责任限制",{"0":{"22":1}}],["专业建议",{"2":{"21":1}}],["任何由tritium生成的内容不构成法律",{"2":{"21":1}}],["目前支持架构",{"2":{"40":1}}],["目标路径为",{"2":{"32":1}}],["目的",{"0":{"21":1}}],["目录下",{"2":{"9":1}}],["项目免责声明",{"0":{"20":1},"1":{"21":1,"22":1,"23":1}}],["人人皆是垃圾🤔🤔",{"0":{"19":1}}],["怎么用😅",{"0":{"18":1}}],["1300",{"2":{"36":1}}],["16",{"2":{"35":5}}],["16000",{"2":{"35":1}}],["1100",{"2":{"35":2}}],["15",{"2":{"35":6}}],["1500",{"2":{"35":1}}],["10",{"2":{"29":9,"35":18,"36":1,"39":3}}],["1000+",{"2":{"40":1}}],["10000",{"2":{"35":1}}],["1000",{"2":{"29":1,"35":2}}],["100",{"2":{"25":1,"26":1,"27":1,"28":4,"29":2,"35":7,"39":2}}],["100即为cpu负载百分比",{"2":{"25":1}}],["1750",{"2":{"26":1}}],["1700",{"2":{"26":1}}],["1700三个频率",{"2":{"26":1}}],["1",{"2":{"26":1,"35":21,"53":1}}],["14的arm64设备",{"2":{"40":1}}],["1400",{"2":{"26":1,"35":2}}],["1450",{"2":{"26":1}}],["12",{"2":{"35":16,"59":1}}],["12000",{"2":{"35":1}}],["1200",{"2":{"26":1,"35":1,"36":1}}],["1234567注意",{"2":{"36":1}}],["12345678910111213warning",{"2":{"29":1}}],["123456789101112131415161718192021222324252627282930313233343536373839",{"2":{"39":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572",{"2":{"35":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061",{"2":{"29":1}}],["12345678910111213141516171819202122232425262728293031323334",{"2":{"32":1}}],["1234567891011121314151617181920212223242526",{"2":{"26":1}}],["123456789101112提示",{"2":{"25":1}}],["123此项目要求",{"2":{"9":1}}],["1880",{"2":{"35":1}}],["1800",{"2":{"26":1,"35":2}}],["18",{"2":{"16":1}}],["反差",{"0":{"16":1}}],["我的自由",{"0":{"15":1}}],["我们诚招各位小伙伴加入团队一起完成项目",{"2":{"57":1}}],["我们为什么选择cuprumturbo",{"0":{"47":1}}],["我们绝大多数模板来自于上游仓库",{"2":{"46":1}}],["我们致力于优化其性能",{"2":{"46":1}}],["我们保留随时更改",{"2":{"23":1}}],["我们不对因使用tritium服务而导致的任何直接或间接损失",{"2":{"22":1}}],["我们不会削减您按照本隐私政策所应享有的权利",{"2":{"8":1}}],["我们的隐私政策将不定时更新",{"2":{"8":1}}],["难得",{"2":{"14":1}}],["2",{"2":{"35":20,"53":1}}],["25",{"2":{"35":1}}],["280",{"2":{"35":1}}],["2800",{"2":{"35":1}}],["2840",{"2":{"35":1}}],["20",{"2":{"29":3,"35":17,"39":1}}],["200",{"2":{"25":1,"29":3,"35":6}}],["20000",{"2":{"35":1}}],["2000",{"2":{"25":1,"26":1,"29":2,"35":2}}],["2024",{"2":{"14":1,"15":1,"16":1,"17":1,"18":1}}],["2023",{"2":{"13":1,"59":1}}],["2420",{"2":{"35":1}}],["24",{"2":{"18":1,"59":1}}],["2600",{"2":{"26":2}}],["26",{"2":{"17":1}}],["21",{"2":{"15":1}}],["29",{"2":{"14":1}}],["如何使用",{"0":{"52":1},"1":{"53":1,"54":1,"55":1,"56":1}}],["如果为模块",{"2":{"56":1}}],["如果为app导入使用",{"2":{"56":1}}],["如果您有兴趣参与本项目的开发和维护",{"2":{"40":1}}],["如果实时功耗超过powerlimit就会消耗burstcapacity",{"2":{"27":1}}],["如果工作频率过高将会导致调频器的开销增加且无法获得有效的cpu负载",{"2":{"25":1}}],["如你所见我们会记录一些🤡",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1,"19":1}}],["如可选链",{"2":{"9":1}}],["残梦",{"2":{"13":1}}],["旧忆",{"2":{"13":1}}],["©",{"2":{"13":1}}],["ct",{"2":{"56":1}}],["chenzyadb",{"2":{"36":1}}],["cheduler|",{"2":{"35":1}}],["chronos",{"2":{"35":1}}],["chrome",{"2":{"35":1}}],["catcher|profile",{"2":{"35":1}}],["cript",{"2":{"35":1}}],["cuprumturbo",{"0":{"33":1},"2":{"46":1,"47":1,"50":1}}],["completion|framethread|framepolicy|scrollpolicy",{"2":{"35":1}}],["com",{"2":{"35":2}}],["commoncpus",{"2":{"35":39}}],["common",{"2":{"35":2}}],["configversion",{"2":{"35":1,"36":3}}],["corenum",{"2":{"26":4,"35":3}}],["copyright",{"2":{"13":1}}],["cpu配置模块",{"2":{"34":1}}],["cpus",{"2":{"32":6,"35":5}}],["cpuset",{"2":{"32":6,"35":5}}],["cpu温度大于等于80度时最大功耗限制在3000mw",{"2":{"29":1}}],["cpu温度大于等于80度小于90度时最大功耗限制在5000mw",{"2":{"28":1}}],["cpu温度大于等于90度时最大功耗限制在4000mw",{"2":{"28":1}}],["cpuload",{"2":{"28":3}}],["cpu频率加速可以在特定条件触发时调高cpu频率提升积极性",{"2":{"28":1}}],["cpu频率加速",{"0":{"28":1}}],["cpu频率提升延迟用于降低cpu频率被提升得过高的几率",{"2":{"27":1}}],["cpu频率提升延迟",{"2":{"27":1}}],["cpu性能冗余",{"2":{"27":1}}],["cpu整体功耗限制会影响cpu频率上限",{"2":{"27":1}}],["cpu整体功耗限制",{"2":{"27":1}}],["cpu最优频率",{"2":{"26":1}}],["cpu功耗最低频率",{"2":{"26":1}}],["cpu相对同频算力值",{"2":{"26":1}}],["cpu4",{"2":{"26":1}}],["cpu0",{"2":{"26":1}}],["cpu混合调频器",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1}}],["cpugovernor模块设定中的所有频率都将会被取近似值",{"2":{"26":1}}],["cpugovernor",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1},"2":{"25":1,"35":1}}],["cc",{"2":{"13":1,"35":6}}],["许可协议",{"2":{"13":1}}],["mtkgpugovernor",{"0":{"37":1},"1":{"38":1,"39":1},"2":{"35":1,"39":1}}],["mm",{"2":{"35":4}}],["maxfreq",{"2":{"39":5}}],["mage|",{"2":{"35":1}}],["mainthread|program",{"2":{"35":1}}],["mainthread|thread",{"2":{"35":1}}],["main",{"2":{"35":7}}],["markdown",{"2":{"9":1,"10":2}}],["moss|okhttp|okio|rx|rx",{"2":{"35":1}}],["moba|",{"2":{"35":1}}],["modes",{"0":{"27":1,"39":1},"1":{"28":1},"2":{"29":2,"35":1,"39":1}}],["modelpower",{"2":{"26":4,"35":3}}],["modelfreq",{"2":{"26":4,"35":3}}],["mrzh|",{"2":{"35":1}}],["ms",{"2":{"27":3,"28":1}}],["mw",{"2":{"26":1,"27":1}}],["mhz",{"2":{"26":3,"38":1,"39":2}}],["minfreq",{"2":{"39":5}}],["minfreqstep",{"2":{"25":1,"35":1}}],["minecraft",{"2":{"35":3}}],["mit",{"2":{"13":1}}],["源码遵循",{"2":{"13":1}}],["转载请附上原文出处链接和声明",{"2":{"13":1}}],["版本",{"2":{"36":1}}],["版本为",{"2":{"9":1}}],["版权协议",{"2":{"13":1}}],["blog|xlog|",{"2":{"35":1}}],["bb",{"2":{"35":4}}],["benchmark",{"2":{"35":2}}],["bigjank",{"2":{"28":2,"29":1,"35":4}}],["boost值用于夸大实际的cpu负载",{"2":{"28":1}}],["boost",{"2":{"28":2,"29":7,"35":28}}],["bool",{"2":{"28":1}}],["burstcapacity",{"2":{"27":1,"29":1,"35":4}}],["by",{"2":{"13":1}}],["background",{"2":{"32":2,"35":2}}],["balancemode",{"2":{"31":1,"32":1,"35":1}}],["balance",{"2":{"29":1,"35":1,"39":1}}],["bashcorepack",{"2":{"9":1}}],["battery",{"2":{"7":1}}],["4600",{"2":{"35":1}}],["4000",{"2":{"35":3}}],["40",{"2":{"29":1,"35":5}}],["4年一次",{"2":{"14":1}}],["4",{"2":{"13":1,"26":1,"35":35,"53":1}}],["文件写入配置模块",{"2":{"34":1}}],["文件写入器",{"0":{"30":1},"1":{"31":1}}],["文章遵循",{"2":{"13":1}}],["文档📃建站",{"0":{"60":1}}],["文档的主体结构来源于原神地图感谢开发者的开源",{"2":{"12":1}}],["文档参考",{"0":{"11":1},"1":{"12":1}}],["文档中支持的",{"2":{"10":1}}],["文档使用",{"2":{"9":1}}],["layer|",{"2":{"35":1}}],["lur|",{"2":{"35":1}}],["ll",{"2":{"35":2}}],["ldxy|",{"2":{"35":1}}],["lglr|",{"2":{"35":1}}],["lt",{"2":{"28":6}}],["log",{"2":{"56":1}}],["lowlatency",{"2":{"28":1,"29":7,"35":28}}],["lowpowerfreq",{"2":{"26":4,"35":3}}],["lock",{"2":{"7":1}}],["license",{"0":{"13":1}}],["组件来源于vue",{"2":{"12":1}}],["大多数vue",{"2":{"12":1}}],["大佬我不会使用你可以教我吗",{"0":{"1":1}}],["附加",{"0":{"12":1}}],["原神地图",{"2":{"11":1}}],["查尔斯的知识库",{"2":{"11":1}}],["语法的能力",{"2":{"10":1}}],["中",{"2":{"10":1}}],["和在",{"2":{"10":1}}],["扩展",{"2":{"10":1}}],["参阅",{"2":{"10":1}}],["编辑内容",{"0":{"10":1}}],["特性",{"2":{"9":1}}],["jobthread|thread",{"2":{"35":1}}],["jdwp|memoryinfra",{"2":{"35":1}}],["jddsaef|",{"2":{"35":1}}],["jj",{"2":{"35":2}}],["jank",{"2":{"28":2,"29":1,"35":4}}],["javascript",{"2":{"9":1}}],["js|mqt",{"2":{"35":1}}],["json信息",{"0":{"36":1}}],["json配置模块",{"2":{"34":1}}],["json",{"2":{"25":1,"26":1,"29":2,"32":1,"35":1,"36":1,"39":1}}],["js",{"2":{"9":1}}],["因为我们在代码中使用了新的",{"2":{"9":1}}],["01",{"2":{"17":1,"18":1}}],["02",{"2":{"14":1,"15":1,"16":1}}],["0",{"2":{"9":2,"13":1,"27":1,"28":2,"29":7,"32":6,"35":53,"39":6,"56":1}}],["v8a",{"2":{"40":1}}],["vlc|",{"2":{"35":1}}],["verlay|",{"2":{"35":1}}],["vv",{"2":{"35":3}}],["v19",{"0":{"33":1}}],["v18",{"2":{"9":1}}],["vue",{"2":{"10":1,"11":1}}],["vitepress",{"2":{"9":1,"10":1,"11":2}}],["downratediff的值不得大于upratethres",{"2":{"39":1}}],["downratediff的值越大降频越缓慢",{"2":{"39":1}}],["downratediff=10",{"2":{"39":1}}],["downratediff",{"2":{"39":5}}],["docs原神地图",{"2":{"12":1}}],["docs",{"2":{"11":1}}],["dimensity1100",{"2":{"36":1}}],["display",{"2":{"35":1}}],["dd",{"2":{"35":3}}],["defaultwork|hippy",{"2":{"35":1}}],["default",{"2":{"35":1}}],["defaultpriority",{"2":{"35":1}}],["defaultcpus",{"2":{"35":1}}],["dev",{"2":{"9":1,"32":6,"35":5}}],["durationtime",{"2":{"28":1,"29":7,"35":28}}],["danger",{"2":{"3":1}}],["io|compute|resource|nativethread",{"2":{"35":1}}],["ispatch|",{"2":{"35":1}}],["iew",{"2":{"35":1}}],["ideo|",{"2":{"35":1}}],["idleratehz",{"2":{"25":1,"35":1,"38":1,"39":1}}],["ixer|",{"2":{"35":1}}],["ii",{"2":{"35":2}}],["init",{"2":{"31":1,"32":1,"35":1}}],["int",{"2":{"26":6,"27":5,"28":3,"36":1,"38":2,"39":4}}],["i",{"2":{"9":1}}],["ignore",{"2":{"7":1}}],["emulated",{"2":{"56":1}}],["eport",{"2":{"35":1}}],["etwork|",{"2":{"35":1}}],["ee",{"2":{"35":1}}],["essage|",{"2":{"35":1}}],["eb",{"2":{"35":1}}],["ecode",{"2":{"35":1}}],["edia|",{"2":{"35":1}}],["ender",{"2":{"35":1}}],["ench",{"2":{"35":1}}],["engine",{"2":{"35":4}}],["enable",{"2":{"9":1,"25":2,"32":1,"35":4,"39":1}}],["extramargin值用于提供额外的性能冗余",{"2":{"28":1}}],["extramargin",{"2":{"28":2,"29":7,"35":28}}],["external",{"2":{"7":2}}],["建议使用",{"2":{"9":1}}],["对于本地开发",{"2":{"9":1}}],["对于简单的编辑",{"2":{"9":1}}],["ss",{"2":{"35":2}}],["sky|com",{"2":{"35":1}}],["sky",{"2":{"35":3}}],["s4na|",{"2":{"35":1}}],["sync|jnisurface|hwui|uithread|ged",{"2":{"35":1}}],["symbol",{"2":{"35":7}}],["system",{"2":{"32":1,"35":1}}],["suni",{"2":{"35":1}}],["snapdragon865",{"2":{"35":1}}],["string",{"2":{"31":2,"36":2}}],["storage",{"2":{"7":2,"56":1}}],["scene需要关闭核心分配",{"2":{"53":1}}],["scene适配等",{"2":{"48":1}}],["scenes",{"0":{"31":1},"2":{"32":1,"35":1}}],["scheduler日志输出路径为",{"2":{"56":1}}],["scheduler",{"2":{"50":1,"56":1}}],["scheduler保持一致",{"2":{"49":1}}],["scheduler的基础上进行了一些优化和简化",{"2":{"47":1}}],["scheduler的衍生版本",{"2":{"46":2}}],["scheduler是一个高性能的调度器",{"2":{"47":1}}],["scheduler进行2次修改",{"0":{"47":1}}],["schedrules",{"2":{"35":1}}],["screenoff",{"2":{"31":1,"32":1,"35":1}}],["screenon",{"2":{"31":1,"32":1,"35":1}}],["swipe",{"2":{"28":2,"29":1,"35":4}}],["saver|referencequeue",{"2":{"35":1}}],["sa",{"2":{"13":1}}],["src",{"2":{"9":1}}],["位于",{"2":{"9":1}}],["格式编写",{"2":{"9":1}}],["站点内容以",{"2":{"9":1}}],["构建",{"2":{"9":1}}],["开发",{"0":{"9":1}}],["worker|apollo",{"2":{"35":1}}],["worker|nativethread|il2cpp|ace",{"2":{"35":1}}],["worker|nativethread|il2cpp|corethread|thread",{"2":{"35":1}}],["worker",{"2":{"35":2}}],["work",{"2":{"35":1}}],["weexjsbridge|libweexjsb|v8",{"2":{"35":1}}],["ww",{"2":{"35":3}}],["w",{"2":{"27":1}}],["wake",{"2":{"7":1}}],["write",{"2":{"7":1}}],["访问敏感目录权限",{"2":{"7":2}}],["preferredfreq为偏好的gpu频率",{"2":{"38":1}}],["preferredfreq",{"2":{"38":1,"39":1}}],["priority",{"2":{"35":39}}],["pp",{"2":{"35":2}}],["pkgname",{"2":{"35":7}}],["pool|minecraft",{"2":{"35":1}}],["pool|signal",{"2":{"35":1}}],["powersavemode",{"2":{"31":1,"32":1,"35":1}}],["powersave",{"2":{"29":2,"35":1,"39":1}}],["powerlimit",{"2":{"27":1,"29":2,"35":4}}],["policy1",{"2":{"26":1}}],["policies",{"0":{"26":1},"2":{"26":1,"35":1}}],["performancemode",{"2":{"31":1,"32":1,"35":1}}],["performance",{"2":{"29":1,"35":1,"39":1}}],["perfmargin使用arrayint即整数数组方式存储参数",{"2":{"27":1}}],["perfmargin",{"2":{"27":1,"28":1,"29":2,"35":4}}],["perfscale",{"2":{"26":4,"35":3}}],["permission",{"2":{"7":4}}],["party",{"2":{"35":1}}],["params",{"0":{"25":1,"38":1},"2":{"25":1,"35":1,"39":1}}],["path",{"2":{"31":2,"32":6,"35":5}}],["pandora",{"2":{"4":1}}],["pnpm",{"2":{"9":3}}],["您在同意此隐私协议之时",{"2":{"6":1}}],["隐私协议变更",{"0":{"8":1}}],["隐私协议",{"0":{"6":1},"1":{"7":1,"8":1}}],["tt",{"2":{"35":1}}],["tgc",{"2":{"35":1}}],["taskgraph|cmpjob|apollo",{"2":{"35":1}}],["taskgraph|rhithread",{"2":{"35":1}}],["tap",{"2":{"28":1,"29":1,"35":4}}],["thread|job",{"2":{"35":2}}],["thread",{"2":{"35":10}}],["threadname",{"2":{"35":39}}],["threadschedopt",{"0":{"44":1},"2":{"35":1}}],["theme",{"2":{"11":1}}],["top",{"2":{"32":1,"35":1}}],["text",{"2":{"31":2,"32":5,"35":5}}],["true",{"2":{"25":1,"29":2,"32":1,"35":11,"39":1}}],["tritium调度器则是在cuprumturbo",{"2":{"47":1}}],["tritium调度是cuprumturbo",{"2":{"46":1}}],["tritium尊重并保护所有使用此调度用户的个人隐私权",{"2":{"6":1}}],["tritium",{"0":{"6":1,"20":1,"46":1},"1":{"7":1,"8":1,"21":1,"22":1,"23":1,"47":1}}],["tip",{"2":{"1":1,"2":1,"4":1,"5":1,"25":1,"32":1}}],["这个简易的gpu调频器可以满足对联发科gpu频率的基础调控",{"2":{"37":1}}],["这次日志更新了什么",{"0":{"5":1}}],["这什么lj调度",{"0":{"3":1}}],["非官方内核",{"0":{"4":1}}],["请务必安装cujankdetector附加模块",{"2":{"53":1}}],["请确保您已阅读相关协议",{"2":{"49":1}}],["请确定版本对应",{"2":{"36":1}}],["请注意不要修改配置文件版本",{"2":{"36":1}}],["请谨慎评估并自主判断信息的准确性和适用性",{"2":{"21":1}}],["请求忽略电池优化",{"2":{"7":1}}],["请关注github",{"2":{"5":1}}],["请立即删除模块或app",{"2":{"3":1}}],["请详细阅读文档",{"2":{"1":1}}],["不会随cpu负载变化而改变",{"2":{"27":1}}],["不如xxx",{"0":{"3":1}}],["不可以",{"2":{"1":1}}],["截图询问",{"2":{"2":1}}],["答",{"2":{"1":1,"2":1,"3":1,"4":1,"5":1}}],["常见问题及其解决方法",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js new file mode 100644 index 0000000..916a7d2 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.CZTu8BL5.js @@ -0,0 +1 @@ +const e='{"documentCount":69,"nextId":69,"documentIds":{"0":"/FAQ/FAQ#常见问题及其解决方法","1":"/FAQ/FAQ#大佬我不会使用你可以教我吗","2":"/FAQ/FAQ#导入cutoolbox报错怎么办","3":"/FAQ/FAQ#这个调度适合我吗","4":"/FAQ/FAQ#这个和当前的-uperf-scene-fas-fas-rs-哪个好用","5":"/FAQ/FAQ#大佬你可以为我定制调度吗","6":"/FAQ/FAQ#这什么lj调度-不如xxx","7":"/FAQ/FAQ#非官方内核-unofficial-可以使用吗","8":"/FAQ/FAQ#这次日志更新了什么","9":"/about#开发","10":"/about#编辑内容","11":"/about#文档参考","12":"/about#附加","13":"/about#license","14":"/agreement#tritium-隐私协议","15":"/agreement#需要获取的权限","16":"/agreement#隐私协议变更","17":"/clown#如你所见我们会记录一些🤡","18":"/clown#我的自由","19":"/clown#反差","20":"/clown#为什么这么多要求🤣🤣","21":"/clown#怎么用😅","22":"/clown#人人皆是垃圾🤔🤔","23":"/disclaimer#tritium-项目免责声明","24":"/disclaimer#目的","25":"/disclaimer#责任限制","26":"/disclaimer#服务变更","27":"/guide/CpuGovernor#cpugovernor-cpu混合调频器","28":"/guide/CpuGovernor#params-调频器参数","29":"/guide/CpuGovernor#policies-策略组","30":"/guide/CpuGovernor#modes-模式参数","31":"/guide/CpuGovernor#freqburst-cpu频率加速","32":"/guide/CpuGovernor#例如","33":"/guide/Customize#cuprumturbo-v18-自定义配置开发文档","34":"/guide/Customize#导航","35":"/guide/Customize#完整config以高通865为例","36":"/guide/FileWriter#filewriter-文件写入器","37":"/guide/FileWriter#scenes-场景触发器","38":"/guide/FileWriter#举个例子","39":"/guide/Json#json信息","40":"/guide/MtkGpuGovernor#mtkgpugovernor-联发科gpu调频器","41":"/guide/MtkGpuGovernor#params-调频器参数","42":"/guide/MtkGpuGovernor#modes-模式参数","43":"/guide/ThreadSchedOpt#threadschedopt-线程调度优化","44":"/guide/download#已适配soc","45":"/guide/download#骁龙-845-855-855-860-865-865-870-888-888-8gen1-8-gen1-7-gen2-8gen2-8gen3-765-765g-768g-778g-778g-782-835","46":"/guide/download#联发科-1000l-800u-820-900-920-1000-1100-1200-1300-8000-8100-8200-9000-8300-9000-9200-9200","47":"/guide/download#可选择下方任意方式下载","48":"/guide/download#下载配置文件并cutoolbox导入使用","49":"/guide/download#github","50":"/guide/download#蓝奏云","51":"/guide/start#✨什么是tritium🤔","52":"/guide/start#tritium","53":"/guide/start#我们为什么选择cuprumturbo-scheduler进行2次修改","54":"/guide/start#其他的调度","55":"/guide/start#相关协议","56":"/guide/start#✨我该如何选择🤔","57":"/guide/start#类似的项目-apodidae","58":"/guide/use#如何使用","59":"/guide/use#使用须知","60":"/guide/use#使用方法1-app导入","61":"/guide/use#使用方法2-模块刷入","62":"/guide/use#检查日志","63":"/join#加入我们","64":"/log#更新日志","65":"/log#日志-🥰🥰","66":"/log#文档📃建站","67":"/md-enhance-guide#上下角标","68":"/md-enhance-guide#语法"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,4],"2":[1,1,4],"3":[1,1,1],"4":[6,1,1],"5":[2,1,4],"6":[2,1,4],"7":[4,1,6],"8":[1,1,4],"9":[1,1,30],"10":[1,1,11],"11":[1,1,7],"12":[1,1,5],"13":[1,1,18],"14":[2,1,6],"15":[1,2,20],"16":[1,2,4],"17":[1,1,6],"18":[1,1,4],"19":[1,1,4],"20":[1,1,4],"21":[1,1,4],"22":[1,1,1],"23":[2,1,1],"24":[1,2,6],"25":[1,2,6],"26":[1,2,6],"27":[2,1,2],"28":[2,2,35],"29":[2,2,56],"30":[2,2,40],"31":[2,4,52],"32":[1,1,44],"33":[3,1,3],"34":[1,1,6],"35":[1,1,293],"36":[2,1,2],"37":[2,2,32],"38":[1,1,35],"39":[1,1,30],"40":[2,1,2],"41":[2,2,21],"42":[2,2,54],"43":[2,1,4],"44":[1,1,1],"45":[22,1,1],"46":[18,1,1],"47":[1,1,3],"48":[1,1,3],"49":[1,1,1],"50":[1,1,1],"51":[1,1,1],"52":[1,1,10],"53":[2,2,10],"54":[1,1,3],"55":[1,1,5],"56":[2,2,6],"57":[1,2,1],"58":[1,1,1],"59":[1,1,14],"60":[2,1,1],"61":[2,1,1],"62":[1,3,15],"63":[1,1,6],"64":[1,1,1],"65":[3,1,4],"66":[2,4,1],"67":[1,1,4],"68":[1,1,18]},"averageFieldLength":[2.028985507246377,1.318840579710145,14.434782608695647],"storedFields":{"0":{"title":"常见问题及其解决方法","titles":[]},"1":{"title":"大佬我不会使用你可以教我吗?","titles":["常见问题及其解决方法"]},"2":{"title":"导入cutoolbox报错怎么办","titles":["常见问题及其解决方法"]},"3":{"title":"这个调度适合我吗","titles":["常见问题及其解决方法"]},"4":{"title":"这个和当前的 uperf scene fas. fas-rs 哪个好用","titles":["常见问题及其解决方法"]},"5":{"title":"大佬你可以为我定制调度吗?","titles":["常见问题及其解决方法"]},"6":{"title":"这什么lj调度,不如xxx","titles":["常见问题及其解决方法"]},"7":{"title":"非官方内核(Unofficial)可以使用吗?","titles":["常见问题及其解决方法"]},"8":{"title":"这次日志更新了什么","titles":["常见问题及其解决方法"]},"9":{"title":"开发","titles":[]},"10":{"title":"编辑内容","titles":[]},"11":{"title":"文档参考","titles":[]},"12":{"title":"附加","titles":["文档参考"]},"13":{"title":"License","titles":[]},"14":{"title":"Tritium 隐私协议","titles":[]},"15":{"title":"需要获取的权限","titles":["Tritium 隐私协议"]},"16":{"title":"隐私协议变更","titles":["Tritium 隐私协议"]},"17":{"title":"如你所见我们会记录一些🤡","titles":[]},"18":{"title":"我的自由","titles":["如你所见我们会记录一些🤡"]},"19":{"title":"反差","titles":["如你所见我们会记录一些🤡"]},"20":{"title":"为什么这么多要求🤣🤣","titles":["如你所见我们会记录一些🤡"]},"21":{"title":"怎么用😅","titles":["如你所见我们会记录一些🤡"]},"22":{"title":"人人皆是垃圾🤔🤔","titles":["如你所见我们会记录一些🤡"]},"23":{"title":"Tritium 项目免责声明","titles":[]},"24":{"title":"目的","titles":["Tritium 项目免责声明"]},"25":{"title":"责任限制","titles":["Tritium 项目免责声明"]},"26":{"title":"服务变更","titles":["Tritium 项目免责声明"]},"27":{"title":"CpuGovernor - CPU混合调频器","titles":[]},"28":{"title":"params - 调频器参数","titles":["CpuGovernor - CPU混合调频器"]},"29":{"title":"policies - 策略组","titles":["CpuGovernor - CPU混合调频器"]},"30":{"title":"modes - 模式参数","titles":["CpuGovernor - CPU混合调频器"]},"31":{"title":"freqBurst - CPU频率加速","titles":["CpuGovernor - CPU混合调频器","modes - 模式参数"]},"32":{"title":"例如","titles":[]},"33":{"title":"CuprumTurbo V18 自定义配置开发文档","titles":[]},"34":{"title":"导航","titles":[]},"35":{"title":"完整config以高通865为例","titles":[]},"36":{"title":"FileWriter - 文件写入器","titles":[]},"37":{"title":"scenes - 场景触发器","titles":["FileWriter - 文件写入器"]},"38":{"title":"举个例子","titles":[]},"39":{"title":"Json信息","titles":[]},"40":{"title":"MtkGpuGovernor - 联发科GPU调频器","titles":[]},"41":{"title":"params - 调频器参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"42":{"title":"modes - 模式参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"43":{"title":"ThreadSchedOpt - 线程调度优化","titles":[]},"44":{"title":"已适配Soc","titles":[]},"45":{"title":"骁龙 845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835","titles":["已适配Soc"]},"46":{"title":"联发科 1000L/800U/820/900/920/1000+/1100/1200/1300/8000/8100/8200/9000/8300/9000+/9200/9200+","titles":["已适配Soc"]},"47":{"title":"可选择下方任意方式下载","titles":[]},"48":{"title":"下载配置文件并cutoolbox导入使用","titles":[]},"49":{"title":"-","titles":[]},"50":{"title":"-","titles":[]},"51":{"title":"✨什么是Tritium🤔","titles":[]},"52":{"title":"Tritium","titles":["✨什么是Tritium🤔"]},"53":{"title":"我们为什么选择CuprumTurbo Scheduler进行2次修改","titles":["✨什么是Tritium🤔","Tritium"]},"54":{"title":"其他的调度","titles":["✨什么是Tritium🤔"]},"55":{"title":"相关协议","titles":["✨什么是Tritium🤔"]},"56":{"title":"✨我该如何选择🤔?","titles":["✨什么是Tritium🤔","相关协议"]},"57":{"title":"类似的项目","titles":["✨什么是Tritium🤔","相关协议"]},"58":{"title":"如何使用","titles":[]},"59":{"title":"使用须知","titles":["如何使用"]},"60":{"title":"使用方法1 -app导入","titles":["如何使用"]},"61":{"title":"使用方法2 -模块刷入","titles":["如何使用"]},"62":{"title":"检查日志","titles":["如何使用","使用方法2 -模块刷入"]},"63":{"title":"加入我们","titles":[]},"64":{"title":"更新日志","titles":[]},"65":{"title":"日志[🥰🥰]","titles":["更新日志"]},"66":{"title":"文档📃建站,","titles":["更新日志","日志[🥰🥰]"]},"67":{"title":"上下角标","titles":[]},"68":{"title":"语法","titles":["上下角标"]}},"dirtCount":0,"index":[["和",{"2":{"68":1}}],["和在",{"2":{"10":1}}],["来转义",{"2":{"68":1}}],["你可以使用",{"2":{"68":1}}],["转义",{"2":{"68":1}}],["转载请附上原文出处链接和声明",{"2":{"13":1}}],["进行下角标标注",{"2":{"68":1}}],["进行上角标标注",{"2":{"68":1}}],["~2~o",{"2":{"68":1}}],["~",{"2":{"68":3}}],["^th^",{"2":{"68":1}}],["^",{"2":{"68":3}}],["语法",{"0":{"68":1}}],["语法的能力",{"2":{"10":1}}],["站点中的",{"2":{"67":1}}],["站点内容以",{"2":{"9":1}}],["上下角标",{"0":{"67":1},"1":{"68":1}}],["🥰🥰",{"0":{"65":1},"1":{"66":1}}],["日志",{"0":{"65":1},"1":{"66":1}}],["更新日志",{"0":{"64":1},"1":{"65":1,"66":1}}],["更加深入soc的适配",{"2":{"53":1}}],["也欢迎加入我们一起实现",{"2":{"63":1}}],["也不会收集和存储任何用户数据",{"2":{"14":1}}],["或者如果您有任何其他有任何好的想法或者设计",{"2":{"63":1}}],["或更高",{"2":{"9":1}}],["为了进一步完善和优化项目",{"2":{"63":1}}],["为什么这么多要求🤣🤣",{"0":{"20":1}}],["加入我们",{"0":{"63":1}}],["加入反馈群聊",{"2":{"2":1}}],["出现daemon",{"2":{"62":1}}],["则cuprumturbo",{"2":{"62":1}}],["检查日志",{"0":{"62":1}}],["模块刷入",{"0":{"61":1},"1":{"62":1}}],["模块是由scene控制",{"2":{"59":1}}],["模式参数",{"0":{"30":1,"42":1},"1":{"31":1}}],["安装软件或者模块之前请务必删除asoulopt",{"2":{"59":1}}],["根据个人喜好需求选择即可",{"2":{"56":1}}],["✨我该如何选择🤔",{"0":{"56":1}}],["✨什么是tritium🤔",{"0":{"51":1},"1":{"52":1,"53":1,"54":1,"55":1,"56":1,"57":1}}],["相关协议",{"0":{"55":1},"1":{"56":1,"57":1}}],["相同且效率更高",{"2":{"37":1}}],["类似的项目",{"0":{"57":1}}],["类似于uperf的app动态配置调节",{"2":{"54":1}}],["类型",{"2":{"29":1,"30":1,"31":1,"37":1,"39":1,"41":1,"42":1}}],["其他的调度",{"0":{"54":1}}],["其他模块",{"2":{"28":1,"39":1}}],["使其在soc上获得个更加优秀的功耗控制和性能表现",{"2":{"53":1}}],["使用方法2",{"0":{"61":1},"1":{"62":1}}],["使用方法1",{"0":{"60":1}}],["使用模块的就没有必要安装软件",{"2":{"59":1}}],["使用软件和模块时请勿开启系统的性能模式开关",{"2":{"59":1}}],["使用须知",{"0":{"59":1}}],["使用最新发布版本时",{"2":{"39":1}}],["使用tritium服务即表示您同意接受并遵守这一免责声明",{"2":{"26":2}}],["使用tritium服务时",{"2":{"24":1}}],["使用",{"2":{"10":1,"68":2}}],["具有非常强的自定义性",{"2":{"53":1}}],["具体信息请查看调度日志",{"2":{"41":1}}],["以更好地适应不同硬件环境",{"2":{"52":1}}],["但它的配置较为复杂",{"2":{"53":1}}],["但我们也对模块进行了一些修改",{"2":{"52":1}}],["但针对不同的soc进行了深度适配和配置参数调整",{"2":{"52":1}}],["但不包括魔改内核",{"2":{"7":1}}],["保留了大部分原有结构",{"2":{"52":1}}],["下载链接🔗",{"2":{"48":1}}],["下载配置文件并cutoolbox导入使用",{"0":{"48":1}}],["欢迎加入我们参与其中~",{"2":{"47":1}}],["联发科",{"0":{"46":1}}],["联发科gpu调频器",{"0":{"40":1},"1":{"41":1,"42":1}}],["骁龙",{"0":{"45":1}}],["已适配soc",{"0":{"44":1},"1":{"45":1,"46":1}}],["暂不建议自行修改此模块的参数",{"2":{"43":1}}],["线程调度优化",{"0":{"43":1}}],["线程配置模块",{"2":{"34":1}}],["由于联发科内核提供的gpu频率数量过多",{"2":{"41":1}}],["由于是按照数组的序号来为策略组编号的",{"2":{"29":1}}],["偏好gpu频率",{"2":{"41":1}}],["空闲时工作频率",{"2":{"41":1}}],["活跃时工作频率",{"2":{"41":1}}],["活跃时间",{"2":{"28":1}}],["作者",{"2":{"39":1}}],["作为包管理器",{"2":{"9":1}}],["名称",{"2":{"39":1}}],["配置文件版本",{"2":{"39":1}}],["配置文件的作者信息",{"2":{"39":1}}],["配置文件的名称",{"2":{"39":1}}],["在这里你可以定义配置文件的名称和作者信息",{"2":{"39":1}}],["而不是相对路径",{"2":{"38":1}}],["而无需提前通知",{"2":{"26":1}}],["应与开发者仓库中的保持一致",{"2":{"39":1}}],["应该是绝对路径",{"2":{"38":1}}],["应当与内核中每个cluster中包含的cpu对应",{"2":{"29":1}}],["举个例子",{"0":{"38":1}}],["需要一定的学习成本",{"2":{"53":1}}],["需要写入的文本",{"2":{"37":1}}],["需要获取的权限",{"0":{"15":1}}],["切换到fast模式时触发",{"2":{"37":1}}],["切换到performance模式时触发",{"2":{"37":1}}],["切换到powersave模式时触发",{"2":{"37":1}}],["切换到balance模式时触发",{"2":{"37":1}}],["屏幕熄灭时触发",{"2":{"37":1}}],["屏幕点亮时触发",{"2":{"37":1}}],["仅执行一次",{"2":{"37":1}}],["调度选取gpu频率时将优先考虑这些频率",{"2":{"41":1}}],["调度初始化时触发",{"2":{"37":1}}],["调频器计算的是满载功耗",{"2":{"30":1}}],["调频器参数",{"0":{"28":1,"41":1}}],["支持的场景如下",{"2":{"37":1}}],["写入的文本是",{"2":{"38":1}}],["写入的目标地址",{"2":{"37":1}}],["写入单个文件的耗时通常不超过1ms",{"2":{"37":1}}],["写入方式与echo",{"2":{"37":1}}],["场景触发器",{"0":{"37":1}}],["queued",{"2":{"35":1}}],["qrzd|",{"2":{"35":1}}],["xecutor|",{"2":{"35":1}}],["kk",{"2":{"35":1}}],["h~2~o",{"2":{"68":1}}],["heaptask|heaptrimmer|finalizer|cleanupreferenc|gc",{"2":{"35":1}}],["heavycpus",{"2":{"35":39}}],["heavyload",{"2":{"31":2,"32":1,"35":4}}],["hh",{"2":{"35":1}}],["hwc",{"2":{"35":1}}],["horeographer",{"2":{"35":1}}],["harrypotter|",{"2":{"35":1}}],["zmq|",{"2":{"35":1}}],["ys",{"2":{"35":1}}],["yuanshen|",{"2":{"35":1}}],["|glp|glt|nativethread|sdlthread|thread",{"2":{"35":1}}],["|firebase|koom|adb",{"2":{"35":1}}],["|fresco|",{"2":{"35":1}}],["|tvkdl",{"2":{"35":1}}],["|timer",{"2":{"35":1}}],["|jit",{"2":{"35":1}}],["|asynctask|thread",{"2":{"35":1}}],["|corethread|thread",{"2":{"35":1}}],["|compositor|crgpumain|crrenderer|viz|gecko",{"2":{"35":1}}],["|cron",{"2":{"35":1}}],["|mali",{"2":{"35":1}}],["|",{"2":{"35":10}}],["9200+",{"0":{"46":1}}],["9200",{"0":{"46":1}}],["920",{"0":{"46":1}}],["95",{"2":{"35":1}}],["9000+",{"0":{"46":1}}],["9000",{"0":{"46":1}}],["900",{"0":{"46":1}}],["90",{"2":{"35":2,"42":1}}],["960",{"2":{"35":1}}],["540",{"2":{"42":2}}],["55",{"2":{"35":1}}],["530",{"2":{"35":1}}],["50",{"2":{"35":1}}],["500",{"2":{"29":2,"35":1}}],["510",{"2":{"35":1}}],["5",{"2":{"35":38,"59":1}}],["8300",{"0":{"46":1}}],["835",{"0":{"45":1}}],["8100",{"0":{"46":1}}],["8200",{"0":{"46":1}}],["820",{"0":{"46":1}}],["8gen3",{"0":{"45":1}}],["8gen2",{"0":{"45":1}}],["8gen1",{"0":{"45":1}}],["8+gen1",{"0":{"45":1}}],["888+",{"0":{"45":1}}],["888",{"0":{"45":1}}],["865",{"0":{"45":1}}],["865+",{"0":{"45":1},"2":{"35":1}}],["860",{"0":{"45":1}}],["855+",{"0":{"45":1}}],["855",{"0":{"45":1}}],["845",{"0":{"45":1}}],["890",{"2":{"42":1}}],["8",{"2":{"35":7}}],["870",{"0":{"45":1},"2":{"35":1}}],["80",{"2":{"32":2,"35":1,"42":1}}],["800u",{"0":{"46":1}}],["8000",{"0":{"46":1},"2":{"32":1}}],["800",{"2":{"32":2,"35":1}}],["nn",{"2":{"35":1}}],["nim|",{"2":{"35":1}}],["netease",{"2":{"35":1}}],["neox",{"2":{"35":2}}],["null",{"2":{"35":39}}],["name",{"2":{"35":1,"39":2}}],["none",{"2":{"32":1,"35":4}}],["now",{"2":{"13":1}}],["node",{"2":{"9":1}}],["完整config以高通865为例",{"0":{"35":1}}],["gpu降频差值",{"2":{"42":1}}],["gpu升频阈值",{"2":{"42":1}}],["gpu频率下限",{"2":{"42":1}}],["gpu频率上限",{"2":{"42":1}}],["gpu配置模块",{"2":{"34":1}}],["gt请务必开启",{"2":{"59":1}}],["gt",{"2":{"37":1}}],["glide",{"2":{"35":1}}],["glthread|",{"2":{"35":1}}],["game",{"2":{"35":2}}],["g78na|",{"2":{"35":1}}],["g93na|",{"2":{"35":1}}],["genshinimpact",{"2":{"35":1}}],["genshin",{"2":{"35":2}}],["gesture",{"2":{"31":2,"32":1,"35":4}}],["导航",{"0":{"34":1}}],["导入cutoolbox报错怎么办",{"0":{"2":1}}],["本项目及其衍生项目完全免费",{"2":{"63":1}}],["本文档来自于上游开发者我们只是对其字段进行通俗理解",{"2":{"33":1}}],["本平台提供的tritium项目调度服务仅用于一般性信息交流和参考学习目的",{"2":{"24":1}}],["自定义配置开发文档",{"0":{"33":1}}],["+",{"2":{"31":2}}],["=",{"2":{"31":2}}],["计算公式如下",{"2":{"31":2}}],["适用于检测到掉帧等需要迅速提升cpu频率的场景",{"2":{"31":1}}],["触发的优先级为none",{"2":{"31":1}}],["触发条件包含tap",{"2":{"31":1}}],["时触发",{"2":{"31":1}}],["严重掉帧",{"2":{"31":1}}],["掉帧",{"2":{"31":1}}],["重负载",{"2":{"31":1}}],["手势操作",{"2":{"31":1}}],["滑动屏幕",{"2":{"31":1}}],["点击屏幕",{"2":{"31":1}}],["分别在",{"2":{"31":1}}],["额外性能冗余",{"2":{"31":1}}],["是否降低延迟",{"2":{"31":1}}],["频率加速值",{"2":{"31":1}}],["频率加速持续时间",{"2":{"31":1}}],["频率加速容量",{"2":{"30":1}}],["foreground",{"2":{"35":1,"38":1}}],["filewriter",{"0":{"36":1},"1":{"37":1},"2":{"35":1,"38":1}}],["fmod",{"2":{"35":4}}],["futuremark",{"2":{"35":1}}],["false",{"2":{"32":5,"35":21}}],["fastmode",{"2":{"35":1,"37":1,"38":1}}],["fast",{"2":{"32":1,"35":1,"42":1}}],["fas",{"0":{"4":2}}],["freqburst",{"0":{"31":1},"2":{"32":1,"35":4}}],["直到容量耗尽时恢复功耗限制",{"2":{"30":1}}],["当然你也可以选择",{"2":{"56":1}}],["当然大多数与cuprumturbo",{"2":{"55":1}}],["当然我们不可能比开发者更懂这些参数",{"2":{"33":1}}],["当开始使用tritium时",{"2":{"55":1}}],["当gpu负载为95时提升gpu频率",{"2":{"42":1}}],["当gpu负载为85时gpu频率不变",{"2":{"42":1}}],["当gpu负载为75时降低gpu频率",{"2":{"42":1}}],["当gpu负载为0时调频器按照idleratehz频率工作",{"2":{"41":1}}],["当gpu负载减少的差值大于downratediff时降低频率",{"2":{"42":1}}],["当gpu负载大于upratethres时提升频率",{"2":{"42":1}}],["当负载非0时调频器按照activeratehz频率工作",{"2":{"41":1}}],["当某个节点写入文本时",{"2":{"38":1}}],["当触发指定场景时将会自动向文件中写入预设的文本",{"2":{"37":1}}],["当触发cpu频率加速时调频器将会忽略powerlimit",{"2":{"30":1}}],["当cpu温度小于80度时将不限制最大功耗",{"2":{"31":1,"32":1}}],["当cpu温度超过该值时将限制cpu功耗在powerlimit以内并忽略频率加速直到温度降低",{"2":{"30":1}}],["当要求调频器降低延迟时调频器将会以最快的速度提升cpu频率",{"2":{"31":1}}],["当更高优先级的加速触发时将覆盖低优先级的加速",{"2":{"31":1}}],["当实时功耗低于功耗限制值时将会逐渐恢复burstcapacity",{"2":{"30":1}}],["每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频",{"2":{"30":1}}],["每个策略组中的cpu频率将会同步控制",{"2":{"29":1}}],["数组的序号对应策略组编号",{"2":{"30":1}}],["容量恢复时间",{"2":{"30":1}}],["°c",{"2":{"30":1}}],["onitor",{"2":{"35":1}}],["onmyoji|",{"2":{"35":1}}],["og|",{"2":{"35":1}}],["ogger|",{"2":{"35":1}}],["ork|",{"2":{"35":1}}],["odec|",{"2":{"35":1}}],["ookie|",{"2":{"35":1}}],["ool|",{"2":{"35":1}}],["oo",{"2":{"35":1}}],["overheattemp",{"2":{"30":1,"32":2,"35":4}}],["optimalfreq",{"2":{"29":4,"35":3}}],["optimizations",{"2":{"15":1}}],["范围",{"2":{"30":1,"31":2,"42":2}}],["最终取值将为1450",{"2":{"29":1}}],["最小频率差值为生成cpu频率表的关键参数",{"2":{"28":1}}],["设置upratethres=90",{"2":{"42":1}}],["设置得过小将会导致调频速度过慢",{"2":{"28":1}}],["设定频率为1500",{"2":{"29":1}}],["处于modelfreq时cpu的满载功耗",{"2":{"29":1}}],["单位",{"2":{"29":4,"30":5,"31":1,"41":1,"42":2}}],["定义",{"2":{"29":1,"30":1,"31":1,"37":1,"39":1,"41":1,"42":1}}],["字段会验证调度版本",{"2":{"39":1}}],["字段",{"2":{"29":1,"30":1,"31":1,"37":1,"39":1,"41":1,"42":1}}],["字段为是否启用",{"2":{"28":1}}],["782",{"0":{"45":1}}],["778g+",{"0":{"45":1}}],["778g",{"0":{"45":1}}],["770",{"2":{"42":2}}],["768g",{"0":{"45":1}}],["765g",{"0":{"45":1}}],["765",{"0":{"45":1}}],["7+gen2",{"0":{"45":1}}],["70",{"2":{"35":1,"42":2}}],["700",{"2":{"29":1,"35":1}}],["7",{"2":{"29":1,"35":11,"38":2}}],["所以策略组的排序应与cluster的排序一致",{"2":{"29":1}}],["策略组中包含的cpu核心数量",{"2":{"29":1}}],["策略组",{"0":{"29":1}}],["过热温度为触发调频器温度控制的阈值",{"2":{"30":1}}],["过热温度",{"2":{"30":1}}],["过大将会导致调频不够精细",{"2":{"28":1}}],["过低将导致调频器无法应对瞬时负载",{"2":{"28":1}}],["四种负载",{"2":{"28":1}}],["6",{"2":{"35":34}}],["65",{"2":{"35":1}}],["660",{"2":{"42":2}}],["66",{"2":{"28":1}}],["600",{"2":{"35":2}}],["60",{"2":{"28":1,"32":1,"35":3,"42":1}}],["例如下面",{"2":{"38":1}}],["例如",{"0":{"32":1},"2":{"42":1}}],["例如cpu频率表中有1200",{"2":{"29":1}}],["例如sdm845为4+4设计",{"2":{"29":1}}],["例如100hz时只能获得0",{"2":{"28":1}}],["例如vk",{"2":{"7":1}}],["总时间",{"2":{"28":1}}],["35",{"2":{"35":1}}],["390",{"2":{"35":1}}],["320",{"2":{"29":2,"35":1}}],["360",{"2":{"29":1,"35":2}}],["3",{"2":{"29":2,"35":24,"38":4,"59":1}}],["33",{"2":{"28":1}}],["33ms记录一次",{"2":{"28":1}}],["300",{"2":{"35":4}}],["3000",{"2":{"32":1}}],["30",{"2":{"28":1,"35":3,"42":1}}],["即可在app内查看日志",{"2":{"62":1}}],["即数组中的每个json元素对应一个文件写入任务",{"2":{"37":1}}],["即数组中的每个json元素对应一个策略组",{"2":{"29":1}}],["即policy0",{"2":{"29":1}}],["即3",{"2":{"28":1}}],["即视为您已经同意本隐私权政策全部内容",{"2":{"14":1}}],["通常linux内核频率为300hz",{"2":{"28":1}}],["通常情况下",{"2":{"16":1}}],["工作频率是cpu混合调频器的重要参数",{"2":{"28":1}}],["atch",{"2":{"35":1}}],["apodidae",{"2":{"56":1}}],["app导入",{"0":{"60":1}}],["app",{"2":{"35":1,"38":1}}],["apptypes",{"2":{"35":1}}],["apm",{"2":{"35":1}}],["apture",{"2":{"35":1}}],["amera",{"2":{"35":1}}],["ava",{"2":{"35":1}}],["aa",{"2":{"35":2}}],["auncher",{"2":{"35":1}}],["author",{"2":{"35":1,"39":2}}],["andle|",{"2":{"35":1}}],["android",{"2":{"15":4,"62":1}}],["anim|",{"2":{"35":1}}],["acturalmargin",{"2":{"31":1}}],["activedelay",{"2":{"28":1,"35":1}}],["activeratehz",{"2":{"28":1,"35":1,"41":1,"42":1}}],["arrayint",{"2":{"30":1,"41":1}}],["此调频器将只会选取部分gpu频率",{"2":{"41":1}}],["此调入并不具备任何联网传输数据的功能",{"2":{"14":1}}],["此字段将会用于验证调度与该配置是否兼容",{"2":{"39":1}}],["此模块未使用标准的规则编写",{"2":{"43":1}}],["此模块通过智能分类线程来实现较为合理的线程调度策略",{"2":{"43":1}}],["此模块通过在各种不同场景下选择合适的cpu频率以改善使用体验",{"2":{"27":1}}],["此模块用于在触发某些场景时自动写入文件",{"2":{"36":1}}],["此项配置类型为arrayjson",{"2":{"29":1,"37":1}}],["修订或终止tritium服务的权利",{"2":{"26":1}}],["服务变更",{"0":{"26":1}}],["可选择下方任意方式下载",{"0":{"47":1}}],["可能不具有实时性和个性化的特点",{"2":{"25":1}}],["可以使用吗",{"0":{"7":1}}],["可以",{"2":{"5":1,"7":1}}],["并理解tritium的回应基于先前测试的数据",{"2":{"25":1}}],["并终止本项目使用",{"2":{"6":1}}],["用户在使用本服务前应审慎考虑并理解免责声明的内容",{"2":{"26":1}}],["用户在使用tritium服务的同时应当遵守适用法律法规",{"2":{"25":1}}],["用于降低部分场景下卡顿的几率",{"2":{"31":1}}],["用于生成cpu功耗模型的cpu频率",{"2":{"29":1}}],["用于确保后台服务保活",{"2":{"15":1}}],["用于确保cutoolbox后台服务在设备休眠时仍能正常运行",{"2":{"15":1}}],["用于写入数据到存储设备",{"2":{"15":1}}],["用于读取存储设备上的文件和数据",{"2":{"15":1}}],["误解或问题承担责任",{"2":{"25":1}}],["责任限制",{"0":{"25":1}}],["专业建议",{"2":{"24":1}}],["任何由tritium生成的内容不构成法律",{"2":{"24":1}}],["目标路径为",{"2":{"38":1}}],["目的",{"0":{"24":1}}],["目录下",{"2":{"9":1}}],["项目免责声明",{"0":{"23":1},"1":{"24":1,"25":1,"26":1}}],["人人皆是垃圾🤔🤔",{"0":{"22":1}}],["怎么用😅",{"0":{"21":1}}],["1会被渲染为",{"2":{"68":1}}],["19^th^",{"2":{"68":1}}],["19",{"2":{"68":1}}],["1300",{"0":{"46":1},"2":{"39":1}}],["16",{"2":{"35":5}}],["16000",{"2":{"35":1}}],["1100",{"0":{"46":1},"2":{"35":2}}],["15",{"2":{"35":6}}],["1500",{"2":{"35":1}}],["10",{"2":{"32":9,"35":18,"39":1,"42":3}}],["1000+",{"0":{"46":1}}],["1000l",{"0":{"46":1}}],["10000",{"2":{"35":1}}],["1000",{"2":{"32":1,"35":2}}],["100",{"2":{"28":1,"29":1,"30":1,"31":4,"32":2,"35":7,"42":2}}],["100即为cpu负载百分比",{"2":{"28":1}}],["1750",{"2":{"29":1}}],["1700",{"2":{"29":1}}],["1700三个频率",{"2":{"29":1}}],["1",{"2":{"29":1,"35":21,"59":1}}],["1400",{"2":{"29":1,"35":2}}],["1450",{"2":{"29":1}}],["12",{"2":{"35":16,"65":1}}],["12000",{"2":{"35":1}}],["1200",{"0":{"46":1},"2":{"29":1,"35":1,"39":1}}],["1234567注意",{"2":{"39":1}}],["12345678910111213warning",{"2":{"32":1}}],["123456789101112131415161718192021222324252627282930313233343536373839",{"2":{"42":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572",{"2":{"35":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061",{"2":{"32":1}}],["12345678910111213141516171819202122232425262728293031323334",{"2":{"38":1}}],["1234567891011121314151617181920212223242526",{"2":{"29":1}}],["123456789101112提示",{"2":{"28":1}}],["123此项目要求",{"2":{"9":1}}],["1880",{"2":{"35":1}}],["1800",{"2":{"29":1,"35":2}}],["18",{"2":{"19":1}}],["反差",{"0":{"19":1}}],["我的自由",{"0":{"18":1}}],["我们诚招各位小伙伴加入团队一起完成项目",{"2":{"63":1}}],["我们为什么选择cuprumturbo",{"0":{"53":1}}],["我们绝大多数模板来自于上游仓库",{"2":{"52":1}}],["我们致力于优化其性能",{"2":{"52":1}}],["我们保留随时更改",{"2":{"26":1}}],["我们不对因使用tritium服务而导致的任何直接或间接损失",{"2":{"25":1}}],["我们不会削减您按照本隐私政策所应享有的权利",{"2":{"16":1}}],["我们的隐私政策将不定时更新",{"2":{"16":1}}],["难得",{"2":{"17":1}}],["2",{"2":{"35":20,"59":1}}],["25",{"2":{"35":1}}],["280",{"2":{"35":1}}],["2800",{"2":{"35":1}}],["2840",{"2":{"35":1}}],["20",{"2":{"32":3,"35":17,"42":1}}],["200",{"2":{"28":1,"32":3,"35":6}}],["20000",{"2":{"35":1}}],["2000",{"2":{"28":1,"29":1,"32":2,"35":2}}],["2024",{"2":{"17":1,"18":1,"19":1,"20":1,"21":1}}],["2023",{"2":{"13":1,"65":1}}],["2420",{"2":{"35":1}}],["24",{"2":{"21":1,"65":1}}],["2600",{"2":{"29":2}}],["26",{"2":{"20":1}}],["21",{"2":{"18":1}}],["29",{"2":{"17":1}}],["如何使用",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1}}],["如果为模块",{"2":{"62":1}}],["如果为app导入使用",{"2":{"62":1}}],["如果有extreme",{"2":{"59":1}}],["如果您有兴趣参与本项目的开发和维护",{"2":{"47":1}}],["如果实时功耗超过powerlimit就会消耗burstcapacity",{"2":{"30":1}}],["如果工作频率过高将会导致调频器的开销增加且无法获得有效的cpu负载",{"2":{"28":1}}],["如你所见我们会记录一些🤡",{"0":{"17":1},"1":{"18":1,"19":1,"20":1,"21":1,"22":1}}],["如可选链",{"2":{"9":1}}],["后台进程保活权限",{"2":{"15":1}}],["layer|",{"2":{"35":1}}],["lur|",{"2":{"35":1}}],["ll",{"2":{"35":2}}],["ldxy|",{"2":{"35":1}}],["lglr|",{"2":{"35":1}}],["lt",{"2":{"31":6}}],["log",{"2":{"62":1}}],["lowlatency",{"2":{"31":1,"32":7,"35":28}}],["lowpowerfreq",{"2":{"29":4,"35":3}}],["lock",{"2":{"15":1}}],["license",{"0":{"13":1}}],["worker|apollo",{"2":{"35":1}}],["worker|nativethread|il2cpp|ace",{"2":{"35":1}}],["worker|nativethread|il2cpp|corethread|thread",{"2":{"35":1}}],["worker",{"2":{"35":2}}],["work",{"2":{"35":1}}],["weexjsbridge|libweexjsb|v8",{"2":{"35":1}}],["ww",{"2":{"35":3}}],["w",{"2":{"30":1}}],["wake",{"2":{"15":1}}],["write",{"2":{"15":1}}],["访问敏感目录权限",{"2":{"15":2}}],["emulated",{"2":{"62":1}}],["eport",{"2":{"35":1}}],["etwork|",{"2":{"35":1}}],["ee",{"2":{"35":1}}],["essage|",{"2":{"35":1}}],["eb",{"2":{"35":1}}],["ecode",{"2":{"35":1}}],["edia|",{"2":{"35":1}}],["ender",{"2":{"35":1}}],["ench",{"2":{"35":1}}],["engine",{"2":{"35":4}}],["enable",{"2":{"9":1,"28":2,"35":4,"38":1,"42":1}}],["extramargin值用于提供额外的性能冗余",{"2":{"31":1}}],["extramargin",{"2":{"31":2,"32":7,"35":28}}],["external",{"2":{"15":2}}],["您在同意此隐私协议之时",{"2":{"14":1}}],["隐私协议变更",{"0":{"16":1}}],["隐私协议",{"0":{"14":1},"1":{"15":1,"16":1}}],["top",{"2":{"35":1,"38":1}}],["text",{"2":{"35":5,"37":2,"38":5}}],["tt",{"2":{"35":1}}],["tgc",{"2":{"35":1}}],["taskgraph|cmpjob|apollo",{"2":{"35":1}}],["taskgraph|rhithread",{"2":{"35":1}}],["tap",{"2":{"31":1,"32":1,"35":4}}],["thread|job",{"2":{"35":2}}],["thread",{"2":{"35":10}}],["threadname",{"2":{"35":39}}],["threadschedopt",{"0":{"43":1},"2":{"35":1}}],["theme",{"2":{"11":1}}],["true",{"2":{"28":1,"32":2,"35":11,"38":1,"42":1}}],["tritium调度器则是在cuprumturbo",{"2":{"53":1}}],["tritium调度是cuprumturbo",{"2":{"52":1}}],["tritium尊重并保护所有使用此调度用户的个人隐私权",{"2":{"14":1}}],["tritium",{"0":{"14":1,"23":1,"52":1},"1":{"15":1,"16":1,"24":1,"25":1,"26":1,"53":1},"2":{"48":1}}],["tip",{"2":{"28":1,"38":1,"68":1}}],["残梦",{"2":{"13":1}}],["旧忆",{"2":{"13":1}}],["©",{"2":{"13":1}}],["ct",{"2":{"62":1}}],["chenzyadb",{"2":{"39":1}}],["cheduler|",{"2":{"35":1}}],["chronos",{"2":{"35":1}}],["chrome",{"2":{"35":1}}],["catcher|profile",{"2":{"35":1}}],["cript",{"2":{"35":1}}],["cuprumturbo",{"0":{"33":1},"2":{"52":1,"53":1,"56":1}}],["completion|framethread|framepolicy|scrollpolicy",{"2":{"35":1}}],["com",{"2":{"35":2}}],["commoncpus",{"2":{"35":39}}],["common",{"2":{"35":2}}],["configversion",{"2":{"35":1,"39":3}}],["corenum",{"2":{"29":4,"35":3}}],["copyright",{"2":{"13":1}}],["cpus",{"2":{"35":5,"38":6}}],["cpuset",{"2":{"35":5,"38":6}}],["cpu配置模块",{"2":{"34":1}}],["cpu温度大于等于80度时最大功耗限制在3000mw",{"2":{"32":1}}],["cpu温度大于等于80度小于90度时最大功耗限制在5000mw",{"2":{"31":1}}],["cpu温度大于等于90度时最大功耗限制在4000mw",{"2":{"31":1}}],["cpuload",{"2":{"31":3}}],["cpu频率加速可以在特定条件触发时调高cpu频率提升积极性",{"2":{"31":1}}],["cpu频率加速",{"0":{"31":1}}],["cpu频率提升延迟用于降低cpu频率被提升得过高的几率",{"2":{"30":1}}],["cpu频率提升延迟",{"2":{"30":1}}],["cpu性能冗余",{"2":{"30":1}}],["cpu整体功耗限制会影响cpu频率上限",{"2":{"30":1}}],["cpu整体功耗限制",{"2":{"30":1}}],["cpu最优频率",{"2":{"29":1}}],["cpu功耗最低频率",{"2":{"29":1}}],["cpu相对同频算力值",{"2":{"29":1}}],["cpu4",{"2":{"29":1}}],["cpu0",{"2":{"29":1}}],["cpu混合调频器",{"0":{"27":1},"1":{"28":1,"29":1,"30":1,"31":1}}],["cpugovernor模块设定中的所有频率都将会被取近似值",{"2":{"29":1}}],["cpugovernor",{"0":{"27":1},"1":{"28":1,"29":1,"30":1,"31":1},"2":{"28":1,"35":1}}],["cc",{"2":{"13":1,"35":6}}],["许可协议",{"2":{"13":1}}],["mdh",{"2":{"68":1}}],["mtkgpugovernor",{"0":{"40":1},"1":{"41":1,"42":1},"2":{"35":1,"42":1}}],["mm",{"2":{"35":4}}],["maxfreq",{"2":{"42":5}}],["mage|",{"2":{"35":1}}],["mainthread|program",{"2":{"35":1}}],["mainthread|thread",{"2":{"35":1}}],["main",{"2":{"35":7}}],["markdown",{"2":{"9":1,"10":2,"67":1}}],["moss|okhttp|okio|rx|rx",{"2":{"35":1}}],["moba|",{"2":{"35":1}}],["modes",{"0":{"30":1,"42":1},"1":{"31":1},"2":{"32":2,"35":1,"42":1}}],["modelpower",{"2":{"29":4,"35":3}}],["modelfreq",{"2":{"29":4,"35":3}}],["mrzh|",{"2":{"35":1}}],["ms",{"2":{"30":3,"31":1}}],["mw",{"2":{"29":1,"30":1}}],["mhz",{"2":{"29":3,"41":1,"42":2}}],["minfreq",{"2":{"42":5}}],["minfreqstep",{"2":{"28":1,"35":1}}],["minecraft",{"2":{"35":3}}],["mit",{"2":{"13":1}}],["源码遵循",{"2":{"13":1}}],["版本",{"2":{"39":1}}],["版本为",{"2":{"9":1}}],["版权协议",{"2":{"13":1}}],["blog|xlog|",{"2":{"35":1}}],["bb",{"2":{"35":4}}],["benchmark",{"2":{"35":2}}],["bigjank",{"2":{"31":2,"32":1,"35":4}}],["boost值用于夸大实际的cpu负载",{"2":{"31":1}}],["boost",{"2":{"31":2,"32":7,"35":28}}],["bool",{"2":{"31":1}}],["burstcapacity",{"2":{"30":1,"32":1,"35":4}}],["background",{"2":{"35":2,"38":2}}],["balancemode",{"2":{"35":1,"37":1,"38":1}}],["balance",{"2":{"32":1,"35":1,"42":1}}],["battery",{"2":{"15":1}}],["bashcorepack",{"2":{"9":1}}],["by",{"2":{"13":1}}],["4600",{"2":{"35":1}}],["4000",{"2":{"35":3}}],["40",{"2":{"32":1,"35":5}}],["4年一次",{"2":{"17":1}}],["4",{"2":{"13":1,"29":1,"35":35,"59":1}}],["文件支持上下角标",{"2":{"67":1}}],["文件写入器",{"0":{"36":1},"1":{"37":1}}],["文件写入配置模块",{"2":{"34":1}}],["文章遵循",{"2":{"13":1}}],["文档📃建站",{"0":{"66":1}}],["文档的主体结构来源于原神地图感谢开发者的开源",{"2":{"12":1}}],["文档参考",{"0":{"11":1},"1":{"12":1}}],["文档中支持的",{"2":{"10":1}}],["文档使用",{"2":{"9":1}}],["组件来源于vue",{"2":{"12":1}}],["大多数vue",{"2":{"12":1}}],["大佬你可以为我定制调度吗",{"0":{"5":1}}],["大佬我不会使用你可以教我吗",{"0":{"1":1}}],["附加",{"0":{"12":1}}],["原神地图",{"2":{"11":1}}],["查尔斯的知识库",{"2":{"11":1}}],["downratediff的值不得大于upratethres",{"2":{"42":1}}],["downratediff的值越大降频越缓慢",{"2":{"42":1}}],["downratediff=10",{"2":{"42":1}}],["downratediff",{"2":{"42":5}}],["docs原神地图",{"2":{"12":1}}],["docs",{"2":{"11":1}}],["dimensity1100",{"2":{"39":1}}],["display",{"2":{"35":1}}],["dd",{"2":{"35":3}}],["defaultwork|hippy",{"2":{"35":1}}],["default",{"2":{"35":1}}],["defaultpriority",{"2":{"35":1}}],["defaultcpus",{"2":{"35":1}}],["dev",{"2":{"9":1,"35":5,"38":6}}],["durationtime",{"2":{"31":1,"32":7,"35":28}}],["中",{"2":{"10":1}}],["扩展",{"2":{"10":1}}],["参阅",{"2":{"10":1}}],["编辑内容",{"0":{"10":1}}],["特性",{"2":{"9":1}}],["jobthread|thread",{"2":{"35":1}}],["jdwp|memoryinfra",{"2":{"35":1}}],["jddsaef|",{"2":{"35":1}}],["jj",{"2":{"35":2}}],["jank",{"2":{"31":2,"32":1,"35":4}}],["javascript",{"2":{"9":1}}],["js|mqt",{"2":{"35":1}}],["json信息",{"0":{"39":1}}],["json配置模块",{"2":{"34":1}}],["json",{"2":{"28":1,"29":1,"32":2,"35":1,"38":1,"39":1,"42":1}}],["js",{"2":{"9":1}}],["因为我们在代码中使用了新的",{"2":{"9":1}}],["01",{"2":{"20":1,"21":1}}],["02",{"2":{"17":1,"18":1,"19":1}}],["0",{"2":{"9":2,"13":1,"30":1,"31":2,"32":7,"35":53,"38":6,"42":6,"62":1}}],["vlc|",{"2":{"35":1}}],["verlay|",{"2":{"35":1}}],["vv",{"2":{"35":3}}],["v18",{"0":{"33":1}}],["v16",{"2":{"9":1}}],["vue",{"2":{"10":1,"11":1}}],["vitepress",{"2":{"9":1,"10":1,"11":2}}],["init",{"2":{"35":1,"37":1,"38":1}}],["int",{"2":{"29":6,"30":5,"31":3,"39":1,"41":2,"42":4}}],["io|compute|resource|nativethread",{"2":{"35":1}}],["ispatch|",{"2":{"35":1}}],["iew",{"2":{"35":1}}],["ideo|",{"2":{"35":1}}],["idleratehz",{"2":{"28":1,"35":1,"41":1,"42":1}}],["ixer|",{"2":{"35":1}}],["ii",{"2":{"35":2}}],["ignore",{"2":{"15":1}}],["i",{"2":{"9":1}}],["preferredfreq为偏好的gpu频率",{"2":{"41":1}}],["preferredfreq",{"2":{"41":1,"42":1}}],["priority",{"2":{"35":39}}],["pp",{"2":{"35":2}}],["pkgname",{"2":{"35":7}}],["pool|minecraft",{"2":{"35":1}}],["pool|signal",{"2":{"35":1}}],["powersavemode",{"2":{"35":1,"37":1,"38":1}}],["powersave",{"2":{"32":2,"35":1,"42":1}}],["powerlimit",{"2":{"30":1,"32":2,"35":4}}],["policy1",{"2":{"29":1}}],["policies",{"0":{"29":1},"2":{"29":1,"35":1}}],["performancemode",{"2":{"35":1,"37":1,"38":1}}],["performance",{"2":{"32":1,"35":1,"42":1}}],["perfmargin使用arrayint即整数数组方式存储参数",{"2":{"30":1}}],["perfmargin",{"2":{"30":1,"31":1,"32":2,"35":4}}],["perfscale",{"2":{"29":4,"35":3}}],["permission",{"2":{"15":4}}],["path",{"2":{"35":5,"37":2,"38":6}}],["party",{"2":{"35":1}}],["params",{"0":{"28":1,"41":1},"2":{"28":1,"35":1,"42":1}}],["pandora",{"2":{"7":1}}],["pnpm",{"2":{"9":3}}],["建议使用",{"2":{"9":1}}],["对于本地开发",{"2":{"9":1}}],["对于简单的编辑",{"2":{"9":1}}],["string",{"2":{"37":2,"39":2}}],["storage",{"2":{"15":2,"62":1}}],["ss",{"2":{"35":2}}],["system",{"2":{"35":1,"38":1}}],["sync|jnisurface|hwui|uithread|ged",{"2":{"35":1}}],["symbol",{"2":{"35":7}}],["scheduler日志输出路径为",{"2":{"62":1}}],["scheduler",{"2":{"56":1,"62":1}}],["scheduler保持一致",{"2":{"55":1}}],["scheduler的基础上进行了一些优化和简化",{"2":{"53":1}}],["scheduler的衍生版本",{"2":{"52":2}}],["scheduler是一个高性能的调度器",{"2":{"53":1}}],["scheduler进行2次修改",{"0":{"53":1}}],["schedrules",{"2":{"35":1}}],["screenoff",{"2":{"35":1,"37":1,"38":1}}],["screenon",{"2":{"35":1,"37":1,"38":1}}],["scene需要关闭核心分配",{"2":{"59":1}}],["scene适配等",{"2":{"54":1}}],["scenes",{"0":{"37":1},"2":{"35":1,"38":1}}],["scene",{"0":{"4":1}}],["sky|com",{"2":{"35":1}}],["sky",{"2":{"35":3}}],["s4na|",{"2":{"35":1}}],["suni",{"2":{"35":1}}],["snapdragon865",{"2":{"35":1}}],["swipe",{"2":{"31":2,"32":1,"35":4}}],["saver|referencequeue",{"2":{"35":1}}],["sa",{"2":{"13":1}}],["src",{"2":{"9":1}}],["位于",{"2":{"9":1}}],["格式编写",{"2":{"9":1}}],["构建",{"2":{"9":1}}],["开发",{"0":{"9":1}}],["running即为调度正常运行",{"2":{"62":1}}],["rule",{"2":{"35":1}}],["racker|",{"2":{"35":1}}],["rash|",{"2":{"35":1}}],["raster|",{"2":{"35":1}}],["ridge|",{"2":{"35":1}}],["rr",{"2":{"35":2}}],["restricted",{"2":{"35":1,"38":2}}],["rendering",{"2":{"35":1}}],["renderthread|gamethread|rhithread",{"2":{"35":1}}],["recovertime即为容量从耗尽到完全恢复所需的时间",{"2":{"30":1}}],["recovertime",{"2":{"30":1,"32":1,"35":4}}],["request",{"2":{"15":1}}],["read",{"2":{"15":1}}],["release|gpu",{"2":{"35":1}}],["release",{"2":{"8":1}}],["rs",{"0":{"4":1}}],["ugly|bugly|logthread",{"2":{"35":1}}],["udio|",{"2":{"35":1}}],["ui|",{"2":{"35":1}}],["unreal",{"2":{"35":2}}],["unitymain",{"2":{"35":1}}],["unitymain|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"35":1}}],["unitygfx|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"35":1}}],["unitygfx",{"2":{"35":1}}],["unity",{"2":{"35":5}}],["unofficial",{"0":{"7":1}}],["upratethres的值越小升频越积极",{"2":{"42":1}}],["upratethres",{"2":{"42":5}}],["upratelatency",{"2":{"30":1,"32":2,"35":4}}],["uperf",{"0":{"4":1}}],["非官方内核",{"0":{"7":1}}],["请务必安装cujankdetector模块",{"2":{"59":1}}],["请确保您已阅读相关协议",{"2":{"55":1}}],["请确定版本对应",{"2":{"39":1}}],["请注意不要修改配置文件版本",{"2":{"39":1}}],["请谨慎评估并自主判断信息的准确性和适用性",{"2":{"24":1}}],["请求忽略电池优化",{"2":{"15":1}}],["请关注github",{"2":{"8":1}}],["请立即删除模块或app",{"2":{"6":1}}],["请详细阅读文档",{"2":{"1":1}}],["这次日志更新了什么",{"0":{"8":1}}],["这什么lj调度",{"0":{"6":1}}],["这个简易的gpu调频器可以满足对联发科gpu频率的基础调控",{"2":{"40":1}}],["这个和当前的",{"0":{"4":1}}],["这个调度适合我吗",{"0":{"3":1}}],["不会随cpu负载变化而改变",{"2":{"30":1}}],["不如xxx",{"0":{"6":1}}],["不过需要支付等同的精力和时间的费用",{"2":{"5":1}}],["不可以",{"2":{"1":1}}],["哪个好用",{"0":{"4":1}}],["截图询问",{"2":{"2":1}}],["答",{"2":{"1":1,"2":1,"5":1,"6":1,"7":1,"8":1}}],["常见问题及其解决方法",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js new file mode 100644 index 0000000..60d0d49 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/@localSearchIndexroot.D4cttdlN.js @@ -0,0 +1 @@ +const e='{"documentCount":68,"nextId":68,"documentIds":{"0":"/FAQ/FAQ#常见问题及其解决方法","1":"/FAQ/FAQ#模块和app怎么选","2":"/FAQ/FAQ#大佬我不会使用你可以教我吗","3":"/FAQ/FAQ#导入cutoolbox报错怎么办","4":"/FAQ/FAQ#这什么lj调度-不如xxx","5":"/FAQ/FAQ#非官方内核-unofficial-可以使用吗","6":"/FAQ/FAQ#这次日志更新了什么","7":"/about#开发","8":"/about#编辑内容","9":"/about#文档参考","10":"/about#附加","11":"/about#license","12":"/agreement#tritium-隐私协议","13":"/agreement#需要获取的权限","14":"/agreement#隐私协议变更","15":"/clown#如你所见我们会记录一些🤡","16":"/clown#我的自由","17":"/clown#反差","18":"/clown#为什么这么多要求🤣🤣","19":"/clown#怎么用😅","20":"/clown#人人皆是垃圾🤔🤔","21":"/disclaimer#tritium-项目免责声明","22":"/disclaimer#目的","23":"/disclaimer#责任限制","24":"/disclaimer#服务变更","25":"/guide/CpuGovernor#cpugovernor-cpu混合调频器","26":"/guide/CpuGovernor#params-调频器参数","27":"/guide/CpuGovernor#policies-策略组","28":"/guide/CpuGovernor#modes-模式参数","29":"/guide/CpuGovernor#freqburst-cpu频率加速","30":"/guide/CpuGovernor#例如","31":"/guide/FileWriter#filewriter-文件写入器","32":"/guide/FileWriter#scenes-场景触发器","33":"/guide/FileWriter#举个例子","34":"/guide/Customize#cuprumturbo-v19-自定义配置开发文档","35":"/guide/Customize#导航","36":"/guide/Customize#完整config以高通865为例","37":"/guide/Json#json信息","38":"/guide/ThreadSchedOpt#threadschedopt-线程调度优化","39":"/guide/MtkGpuGovernor#mtkgpugovernor-联发科gpu调频器","40":"/guide/MtkGpuGovernor#params-调频器参数","41":"/guide/MtkGpuGovernor#modes-模式参数","42":"/guide/download#兼容状态","43":"/guide/download#下载配置文件或模块刷入使用-建议一并安装附加模块","44":"/guide/download#下载cutoolbox","45":"/guide/download#下载附加模块","46":"/guide/download#下载tritium-box","47":"/guide/start#✨什么是tritium🤔","48":"/guide/start#tritium","49":"/guide/start#我们为什么选择cuprumturbo-scheduler进行2次修改","50":"/guide/start#其他的调度","51":"/guide/start#相关协议","52":"/guide/start#✨我该如何选择🤔","53":"/guide/start#类似的项目-apodidae","54":"/join#加入我们","55":"/guide/use#如何使用","56":"/guide/use#使用须知","57":"/guide/use#使用方法1-app导入","58":"/guide/use#使用方法2-模块刷入","59":"/guide/use#使用方法3-tritium-box","60":"/guide/use#检查日志","61":"/log#更新日志","62":"/log#日志-🥰🥰","63":"/log#v4-8-2日志","64":"/log#v4-8-1日志","65":"/log#贡献","66":"/log#使用项目","67":"/log#文档📃建站"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,1],"1":[2,1,9],"2":[2,1,5],"3":[1,1,5],"4":[2,1,5],"5":[4,1,7],"6":[1,1,5],"7":[1,1,30],"8":[1,1,11],"9":[1,1,7],"10":[1,1,5],"11":[1,1,18],"12":[2,1,6],"13":[1,2,20],"14":[1,2,4],"15":[1,1,6],"16":[1,1,4],"17":[1,1,4],"18":[1,1,4],"19":[1,1,4],"20":[1,1,1],"21":[2,1,1],"22":[1,2,6],"23":[1,2,6],"24":[1,2,6],"25":[2,1,2],"26":[2,2,35],"27":[2,2,56],"28":[2,2,40],"29":[2,4,52],"30":[1,1,44],"31":[2,1,2],"32":[2,2,32],"33":[1,1,35],"34":[3,1,3],"35":[1,1,6],"36":[1,1,293],"37":[1,1,30],"38":[2,1,4],"39":[2,1,2],"40":[2,2,21],"41":[2,2,54],"42":[1,1,54],"43":[3,1,2],"44":[1,1,2],"45":[1,1,6],"46":[2,1,6],"47":[1,1,1],"48":[1,1,10],"49":[2,2,10],"50":[1,1,3],"51":[1,1,5],"52":[2,2,6],"53":[1,2,1],"54":[1,1,6],"55":[1,1,1],"56":[1,1,23],"57":[2,1,1],"58":[2,1,1],"59":[3,1,5],"60":[1,4,15],"61":[1,1,1],"62":[3,1,5],"63":[3,1,8],"64":[3,1,7],"65":[2,1,12],"66":[1,1,8],"67":[2,2,1]},"averageFieldLength":[1.5588235294117647,1.3088235294117645,16.044117647058822],"storedFields":{"0":{"title":"常见问题及其解决方法","titles":[]},"1":{"title":"模块和app怎么选?","titles":["常见问题及其解决方法"]},"2":{"title":"大佬我不会使用你可以教我吗?","titles":["常见问题及其解决方法"]},"3":{"title":"导入cutoolbox报错怎么办","titles":["常见问题及其解决方法"]},"4":{"title":"这什么lj调度,不如xxx","titles":["常见问题及其解决方法"]},"5":{"title":"非官方内核(Unofficial)可以使用吗?","titles":["常见问题及其解决方法"]},"6":{"title":"这次日志更新了什么","titles":["常见问题及其解决方法"]},"7":{"title":"开发","titles":[]},"8":{"title":"编辑内容","titles":[]},"9":{"title":"文档参考","titles":[]},"10":{"title":"附加","titles":["文档参考"]},"11":{"title":"License","titles":[]},"12":{"title":"Tritium 隐私协议","titles":[]},"13":{"title":"需要获取的权限","titles":["Tritium 隐私协议"]},"14":{"title":"隐私协议变更","titles":["Tritium 隐私协议"]},"15":{"title":"如你所见我们会记录一些🤡","titles":[]},"16":{"title":"我的自由","titles":["如你所见我们会记录一些🤡"]},"17":{"title":"反差","titles":["如你所见我们会记录一些🤡"]},"18":{"title":"为什么这么多要求🤣🤣","titles":["如你所见我们会记录一些🤡"]},"19":{"title":"怎么用😅","titles":["如你所见我们会记录一些🤡"]},"20":{"title":"人人皆是垃圾🤔🤔","titles":["如你所见我们会记录一些🤡"]},"21":{"title":"Tritium 项目免责声明","titles":[]},"22":{"title":"目的","titles":["Tritium 项目免责声明"]},"23":{"title":"责任限制","titles":["Tritium 项目免责声明"]},"24":{"title":"服务变更","titles":["Tritium 项目免责声明"]},"25":{"title":"CpuGovernor - CPU混合调频器","titles":[]},"26":{"title":"params - 调频器参数","titles":["CpuGovernor - CPU混合调频器"]},"27":{"title":"policies - 策略组","titles":["CpuGovernor - CPU混合调频器"]},"28":{"title":"modes - 模式参数","titles":["CpuGovernor - CPU混合调频器"]},"29":{"title":"freqBurst - CPU频率加速","titles":["CpuGovernor - CPU混合调频器","modes - 模式参数"]},"30":{"title":"例如","titles":[]},"31":{"title":"FileWriter - 文件写入器","titles":[]},"32":{"title":"scenes - 场景触发器","titles":["FileWriter - 文件写入器"]},"33":{"title":"举个例子","titles":[]},"34":{"title":"CuprumTurbo V19 自定义配置开发文档","titles":[]},"35":{"title":"导航","titles":[]},"36":{"title":"完整config以高通865为例","titles":[]},"37":{"title":"Json信息","titles":[]},"38":{"title":"ThreadSchedOpt - 线程调度优化","titles":[]},"39":{"title":"MtkGpuGovernor - 联发科GPU调频器","titles":[]},"40":{"title":"params - 调频器参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"41":{"title":"modes - 模式参数","titles":["MtkGpuGovernor - 联发科GPU调频器"]},"42":{"title":"兼容状态","titles":[]},"43":{"title":"下载配置文件或模块刷入使用(建议一并安装附加模块)","titles":[]},"44":{"title":"下载cutoolbox","titles":[]},"45":{"title":"下载附加模块","titles":[]},"46":{"title":"下载Tritium box","titles":[]},"47":{"title":"✨什么是Tritium🤔","titles":[]},"48":{"title":"Tritium","titles":["✨什么是Tritium🤔"]},"49":{"title":"我们为什么选择CuprumTurbo Scheduler进行2次修改","titles":["✨什么是Tritium🤔","Tritium"]},"50":{"title":"其他的调度","titles":["✨什么是Tritium🤔"]},"51":{"title":"相关协议","titles":["✨什么是Tritium🤔"]},"52":{"title":"✨我该如何选择🤔?","titles":["✨什么是Tritium🤔","相关协议"]},"53":{"title":"类似的项目","titles":["✨什么是Tritium🤔","相关协议"]},"54":{"title":"加入我们","titles":[]},"55":{"title":"如何使用","titles":[]},"56":{"title":"使用须知","titles":["如何使用"]},"57":{"title":"使用方法1 -app导入","titles":["如何使用"]},"58":{"title":"使用方法2 -模块刷入","titles":["如何使用"]},"59":{"title":"使用方法3 -Tritium box","titles":["如何使用"]},"60":{"title":"检查日志","titles":["如何使用","使用方法3 -Tritium box"]},"61":{"title":"更新日志","titles":[]},"62":{"title":"日志[🥰🥰]","titles":["更新日志"]},"63":{"title":"V4.8.2日志","titles":["更新日志"]},"64":{"title":"V4.8.1日志","titles":["更新日志"]},"65":{"title":"贡献:","titles":["更新日志"]},"66":{"title":"使用项目","titles":["更新日志"]},"67":{"title":"文档📃建站,","titles":["更新日志","使用项目"]}},"dirtCount":0,"index":[["贡献",{"0":{"65":1}}],["改进性能jank",{"2":{"64":1}}],["升频延迟",{"2":{"64":1}}],["优化性能模式的性能冗余",{"2":{"64":1}}],["优化mtk平台的gpu参数",{"2":{"64":1}}],["现快进到存档",{"2":{"63":1}}],["现使用tritium",{"2":{"63":1}}],["存在未知bug",{"2":{"63":1}}],["解决了部分人不看文档并且不会使用导入配置的bug",{"2":{"63":1}}],["重大更新",{"2":{"63":1}}],["重负载",{"2":{"29":1}}],["🥰🥰",{"0":{"62":1}}],["日志",{"0":{"62":1}}],["更新日志",{"0":{"61":1},"1":{"62":1,"63":1,"64":1,"65":1,"66":1,"67":1},"2":{"62":1}}],["更加深入soc的适配",{"2":{"49":1}}],["出现daemon",{"2":{"60":1}}],["则cuprumturbo",{"2":{"60":1}}],["检查日志",{"0":{"60":1}}],["保证调度的体验",{"2":{"56":1}}],["保持均衡即可",{"2":{"56":1}}],["保留了大部分原有结构",{"2":{"48":1}}],["安装软件或者模块之前请务必并卸载asoulopt模块",{"2":{"56":1}}],["也欢迎加入我们一起实现",{"2":{"54":1}}],["也不会收集和存储任何用户数据",{"2":{"12":1}}],["或者如果您有任何其他有任何好的想法或者设计",{"2":{"54":1}}],["或更高",{"2":{"7":1}}],["为了进一步完善和优化项目",{"2":{"54":1}}],["为什么这么多要求🤣🤣",{"0":{"18":1}}],["加入我们",{"0":{"54":1}}],["加入反馈群聊",{"2":{"3":1}}],["根据个人喜好需求选择即可",{"2":{"52":1}}],["✨我该如何选择🤔",{"0":{"52":1}}],["✨什么是tritium🤔",{"0":{"47":1},"1":{"48":1,"49":1,"50":1,"51":1,"52":1,"53":1}}],["相关协议",{"0":{"51":1},"1":{"52":1,"53":1}}],["相同且效率更高",{"2":{"32":1}}],["类似的项目",{"0":{"53":1}}],["类似于uperf的app动态配置调节",{"2":{"50":1}}],["类型",{"2":{"27":1,"28":1,"29":1,"32":1,"37":1,"40":1,"41":1}}],["其他的调度",{"0":{"50":1}}],["其他模块",{"2":{"26":1,"37":1}}],["使其在soc上获得个更加优秀的功耗控制和性能表现",{"2":{"49":1}}],["使用项目",{"0":{"66":1},"1":{"67":1}}],["使用方法3",{"0":{"59":1},"1":{"60":1}}],["使用方法2",{"0":{"58":1}}],["使用方法1",{"0":{"57":1}}],["使用软件和模块时请勿开启系统的性能模式开关",{"2":{"56":1}}],["使用须知",{"0":{"56":1}}],["使用最新发布版本时",{"2":{"37":1}}],["使用tritium服务即表示您同意接受并遵守这一免责声明",{"2":{"24":2}}],["使用tritium服务时",{"2":{"22":1}}],["使用",{"2":{"8":1}}],["具有非常强的自定义性",{"2":{"49":1}}],["具体信息请查看调度日志",{"2":{"40":1}}],["以更好地适应不同硬件环境",{"2":{"48":1}}],["但它的配置较为复杂",{"2":{"49":1}}],["但我们也对模块进行了一些修改",{"2":{"48":1}}],["但针对不同的soc进行了深度适配和配置参数调整",{"2":{"48":1}}],["但不包括魔改内核",{"2":{"5":1}}],["开箱即用",{"2":{"46":1,"59":1}}],["开发",{"0":{"7":1}}],["适合小白新手使用",{"2":{"46":1,"59":1}}],["适用于检测到掉帧等需要迅速提升cpu频率的场景",{"2":{"29":1}}],["再者github拉去压缩后刷入",{"2":{"45":1}}],["下载tritium",{"0":{"46":1}}],["下载附加模块",{"0":{"45":1}}],["下载cutoolbox",{"0":{"44":1}}],["下载配置文件或模块刷入使用",{"0":{"43":1}}],["建议一并安装附加模块",{"0":{"43":1}}],["建议一并下载附加模块",{"2":{"42":1,"56":1}}],["建议使用",{"2":{"7":1}}],["zip为app导入方式",{"2":{"42":1,"56":1}}],["zmq|",{"2":{"36":1}}],["欢迎加入我们参与其中~",{"2":{"42":1}}],["天玑",{"2":{"42":1}}],["骁龙",{"2":{"42":1}}],["仅代表本调度",{"2":{"42":1}}],["仅执行一次",{"2":{"32":1}}],["注意授予自启动和root权限",{"2":{"46":1,"59":1}}],["注",{"2":{"42":1}}],["后续也可能会增加",{"2":{"42":1}}],["后台进程保活权限",{"2":{"13":1}}],["支持的soc列表",{"2":{"42":1}}],["支持的场景如下",{"2":{"32":1}}],["支持安卓6",{"2":{"42":1}}],["兼容状态",{"0":{"42":1}}],["由于无人反馈使用状态",{"2":{"63":1}}],["由于联发科内核提供的gpu频率数量过多",{"2":{"40":1}}],["由于是按照数组的序号来为策略组编号的",{"2":{"27":1}}],["偏好gpu频率",{"2":{"40":1}}],["空闲时工作频率",{"2":{"40":1}}],["活跃时工作频率",{"2":{"40":1}}],["活跃时间",{"2":{"26":1}}],["联发科gpu调频器",{"0":{"39":1},"1":{"40":1,"41":1}}],["暂不建议自行修改此模块的参数",{"2":{"38":1}}],["线程调度优化",{"0":{"38":1}}],["线程配置模块",{"2":{"35":1}}],["作者",{"2":{"37":1}}],["作为包管理器",{"2":{"7":1}}],["名称",{"2":{"37":1}}],["配置文件版本",{"2":{"37":1}}],["配置文件的作者信息",{"2":{"37":1}}],["配置文件的名称",{"2":{"37":1}}],["在这里你可以定义配置文件的名称和作者信息",{"2":{"37":1}}],["queued",{"2":{"36":1}}],["qrzd|",{"2":{"36":1}}],["xecutor|",{"2":{"36":1}}],["kk",{"2":{"36":1}}],["running即为调度正常运行",{"2":{"60":1}}],["rule",{"2":{"36":1}}],["racker|",{"2":{"36":1}}],["rash|",{"2":{"36":1}}],["raster|",{"2":{"36":1}}],["ridge|",{"2":{"36":1}}],["rr",{"2":{"36":2}}],["rendering",{"2":{"36":1}}],["renderthread|gamethread|rhithread",{"2":{"36":1}}],["restricted",{"2":{"33":2,"36":1}}],["recovertime即为容量从耗尽到完全恢复所需的时间",{"2":{"28":1}}],["recovertime",{"2":{"28":1,"30":1,"36":4}}],["request",{"2":{"13":1}}],["read",{"2":{"13":1}}],["release|gpu",{"2":{"36":1}}],["release",{"2":{"6":1}}],["heaptask|heaptrimmer|finalizer|cleanupreferenc|gc",{"2":{"36":1}}],["heavycpus",{"2":{"36":39}}],["heavyload",{"2":{"29":2,"30":1,"36":4}}],["hh",{"2":{"36":1}}],["hwc",{"2":{"36":1}}],["horeographer",{"2":{"36":1}}],["harrypotter|",{"2":{"36":1}}],["ys",{"2":{"36":1}}],["yuanshen|",{"2":{"36":1}}],["|glp|glt|nativethread|sdlthread|thread",{"2":{"36":1}}],["|firebase|koom|adb",{"2":{"36":1}}],["|fresco|",{"2":{"36":1}}],["|tvkdl",{"2":{"36":1}}],["|timer",{"2":{"36":1}}],["|jit",{"2":{"36":1}}],["|asynctask|thread",{"2":{"36":1}}],["|corethread|thread",{"2":{"36":1}}],["|compositor|crgpumain|crrenderer|viz|gecko",{"2":{"36":1}}],["|cron",{"2":{"36":1}}],["|mali",{"2":{"36":1}}],["|",{"2":{"36":10}}],["9200+",{"2":{"42":1}}],["9200",{"2":{"42":1}}],["95",{"2":{"36":1}}],["90",{"2":{"36":2,"41":1}}],["960",{"2":{"36":1}}],["540",{"2":{"41":2}}],["55",{"2":{"36":1}}],["530",{"2":{"36":1}}],["50",{"2":{"36":1}}],["500",{"2":{"27":2,"36":1}}],["510",{"2":{"36":1}}],["5",{"2":{"36":38,"56":1}}],["8100",{"2":{"42":1}}],["835",{"2":{"42":1}}],["8gen3",{"2":{"42":1}}],["8gen2",{"2":{"42":1}}],["8gen1",{"2":{"42":1}}],["8+gen1",{"2":{"42":1}}],["888+",{"2":{"42":1}}],["888",{"2":{"42":1}}],["865",{"2":{"42":1}}],["865+",{"2":{"36":1,"42":1}}],["860",{"2":{"42":1}}],["855+",{"2":{"42":1}}],["855",{"2":{"42":1}}],["845",{"2":{"42":1}}],["890",{"2":{"41":1}}],["8",{"0":{"63":1,"64":1},"2":{"36":7,"65":2}}],["870",{"2":{"36":1,"42":1}}],["80",{"2":{"30":2,"36":1,"41":1}}],["8000",{"2":{"30":1,"42":1}}],["800",{"2":{"30":2,"36":1}}],["nightrainmilkyway",{"2":{"65":1}}],["nim|",{"2":{"36":1}}],["nn",{"2":{"36":1}}],["netease",{"2":{"36":1}}],["neox",{"2":{"36":2}}],["null",{"2":{"36":39}}],["name",{"2":{"36":1,"37":2}}],["none",{"2":{"30":1,"36":4}}],["now",{"2":{"11":1}}],["node",{"2":{"7":1}}],["完整config以高通865为例",{"0":{"36":1}}],["导航",{"0":{"35":1}}],["导入cutoolbox报错怎么办",{"0":{"3":1}}],["本项目及其衍生项目完全免费",{"2":{"54":1}}],["本文档来自于上游开发者我们只是对其字段进行通俗理解",{"2":{"34":1}}],["本平台提供的tritium项目调度服务仅用于一般性信息交流和参考学习目的",{"2":{"22":1}}],["自定义配置开发文档",{"0":{"34":1}}],["而不是相对路径",{"2":{"33":1}}],["而无需提前通知",{"2":{"24":1}}],["应与开发者仓库中的保持一致",{"2":{"37":1}}],["应该是绝对路径",{"2":{"33":1}}],["应当与内核中每个cluster中包含的cpu对应",{"2":{"27":1}}],["举个例子",{"0":{"33":1}}],["需要一定的学习成本",{"2":{"49":1}}],["需要解压后导入app使用",{"2":{"42":1,"56":1}}],["需要写入的文本",{"2":{"32":1}}],["需要获取的权限",{"0":{"13":1}}],["切换到fast模式时触发",{"2":{"32":1}}],["切换到performance模式时触发",{"2":{"32":1}}],["切换到powersave模式时触发",{"2":{"32":1}}],["切换到balance模式时触发",{"2":{"32":1}}],["屏幕熄灭时触发",{"2":{"32":1}}],["屏幕点亮时触发",{"2":{"32":1}}],["调度选取gpu频率时将优先考虑这些频率",{"2":{"40":1}}],["调度初始化时触发",{"2":{"32":1}}],["调频器计算的是满载功耗",{"2":{"28":1}}],["调频器参数",{"0":{"26":1,"40":1}}],["写入的文本是",{"2":{"33":1}}],["写入的目标地址",{"2":{"32":1}}],["写入单个文件的耗时通常不超过1ms",{"2":{"32":1}}],["写入方式与echo",{"2":{"32":1}}],["github",{"2":{"43":1,"44":1,"45":1,"46":1}}],["gpu降频差值",{"2":{"41":1}}],["gpu升频阈值",{"2":{"41":1}}],["gpu频率下限",{"2":{"41":1}}],["gpu频率上限",{"2":{"41":1}}],["gpu配置模块",{"2":{"35":1}}],["glide",{"2":{"36":1}}],["glthread|",{"2":{"36":1}}],["game",{"2":{"36":2}}],["g78na|",{"2":{"36":1}}],["g93na|",{"2":{"36":1}}],["genshinimpact",{"2":{"36":1}}],["genshin",{"2":{"36":2}}],["gesture",{"2":{"29":2,"30":1,"36":4}}],["gt",{"2":{"32":1,"65":1}}],["场景触发器",{"0":{"32":1}}],["full",{"2":{"65":1}}],["futuremark",{"2":{"36":1}}],["fmod",{"2":{"36":4}}],["foreground",{"2":{"33":1,"36":1}}],["filewriter",{"0":{"31":1},"1":{"32":1},"2":{"33":1,"36":1}}],["fastmode",{"2":{"32":1,"33":1,"36":1}}],["fast",{"2":{"30":1,"36":1,"41":1}}],["false",{"2":{"30":5,"36":21}}],["freqburst",{"0":{"29":1},"2":{"30":1,"36":4}}],["+",{"2":{"29":2}}],["=",{"2":{"29":2}}],["计算公式如下",{"2":{"29":2}}],["触发的优先级为none",{"2":{"29":1}}],["触发条件包含tap",{"2":{"29":1}}],["时触发",{"2":{"29":1}}],["严重掉帧",{"2":{"29":1}}],["掉帧",{"2":{"29":1}}],["手势操作",{"2":{"29":1}}],["滑动屏幕",{"2":{"29":1}}],["点击屏幕",{"2":{"29":1}}],["分别在",{"2":{"29":1}}],["额外性能冗余",{"2":{"29":1}}],["是否降低延迟",{"2":{"29":1}}],["频率加速值",{"2":{"29":1}}],["频率加速持续时间",{"2":{"29":1}}],["频率加速容量",{"2":{"28":1}}],["直到容量耗尽时恢复功耗限制",{"2":{"28":1}}],["当然你也可以选择",{"2":{"52":1}}],["当然大多数与cuprumturbo",{"2":{"51":1}}],["当然我们不可能比开发者更懂这些参数",{"2":{"34":1}}],["当开始使用tritium时",{"2":{"51":1}}],["当gpu负载为95时提升gpu频率",{"2":{"41":1}}],["当gpu负载为85时gpu频率不变",{"2":{"41":1}}],["当gpu负载为75时降低gpu频率",{"2":{"41":1}}],["当gpu负载为0时调频器按照idleratehz频率工作",{"2":{"40":1}}],["当gpu负载减少的差值大于downratediff时降低频率",{"2":{"41":1}}],["当gpu负载大于upratethres时提升频率",{"2":{"41":1}}],["当负载非0时调频器按照activeratehz频率工作",{"2":{"40":1}}],["当某个节点写入文本时",{"2":{"33":1}}],["当触发指定场景时将会自动向文件中写入预设的文本",{"2":{"32":1}}],["当触发cpu频率加速时调频器将会忽略powerlimit",{"2":{"28":1}}],["当cpu温度小于80度时将不限制最大功耗",{"2":{"29":1,"30":1}}],["当cpu温度超过该值时将限制cpu功耗在powerlimit以内并忽略频率加速直到温度降低",{"2":{"28":1}}],["当要求调频器降低延迟时调频器将会以最快的速度提升cpu频率",{"2":{"29":1}}],["当更高优先级的加速触发时将覆盖低优先级的加速",{"2":{"29":1}}],["当实时功耗低于功耗限制值时将会逐渐恢复burstcapacity",{"2":{"28":1}}],["每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频",{"2":{"28":1}}],["每个策略组中的cpu频率将会同步控制",{"2":{"27":1}}],["数组的序号对应策略组编号",{"2":{"28":1}}],["容量恢复时间",{"2":{"28":1}}],["°c",{"2":{"28":1}}],["onitor",{"2":{"36":1}}],["onmyoji|",{"2":{"36":1}}],["og|",{"2":{"36":1}}],["ogger|",{"2":{"36":1}}],["ork|",{"2":{"36":1}}],["odec|",{"2":{"36":1}}],["ookie|",{"2":{"36":1}}],["ool|",{"2":{"36":1}}],["oo",{"2":{"36":1}}],["overheattemp",{"2":{"28":1,"30":2,"36":4}}],["optimalfreq",{"2":{"27":4,"36":3}}],["optimizations",{"2":{"13":1}}],["upratethres的值越小升频越积极",{"2":{"41":1}}],["upratethres",{"2":{"41":5}}],["upratelatency",{"2":{"28":1,"30":2,"36":4}}],["ugly|bugly|logthread",{"2":{"36":1}}],["udio|",{"2":{"36":1}}],["ui|",{"2":{"36":1}}],["unreal",{"2":{"36":2}}],["unitymain",{"2":{"36":1}}],["unitymain|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"36":1}}],["unitygfx|unitymulti|unitypreload|unitychoreograp|unitycceograp",{"2":{"36":1}}],["unitygfx",{"2":{"36":1}}],["unity",{"2":{"36":5}}],["unofficial",{"0":{"5":1}}],["范围",{"2":{"28":1,"29":2,"41":2}}],["模块刷入",{"0":{"58":1}}],["模块刷入需要下载模块刷入即可",{"2":{"42":1,"56":1}}],["模块是由scene控制",{"2":{"56":1}}],["模块需要拆包app获取或者群文件",{"2":{"45":1}}],["模块和",{"2":{"1":1,"42":1,"56":1}}],["模块和app是2种不同的选择",{"2":{"1":1,"42":1,"56":1}}],["模块和app怎么选",{"0":{"1":1}}],["模式参数",{"0":{"28":1,"41":1},"1":{"29":1}}],["最终取值将为1450",{"2":{"27":1}}],["最小频率差值为生成cpu频率表的关键参数",{"2":{"26":1}}],["设置upratethres=90",{"2":{"41":1}}],["设置得过小将会导致调频速度过慢",{"2":{"26":1}}],["设定频率为1500",{"2":{"27":1}}],["处于modelfreq时cpu的满载功耗",{"2":{"27":1}}],["单位",{"2":{"27":4,"28":5,"29":1,"40":1,"41":2}}],["定义",{"2":{"27":1,"28":1,"29":1,"32":1,"37":1,"40":1,"41":1}}],["字段会验证调度版本",{"2":{"37":1}}],["字段",{"2":{"27":1,"28":1,"29":1,"32":1,"37":1,"40":1,"41":1}}],["字段为是否启用",{"2":{"26":1}}],["7+gen3",{"2":{"42":1}}],["7+gen2",{"2":{"42":1}}],["782",{"2":{"42":1}}],["778g+",{"2":{"42":1}}],["778g",{"2":{"42":1}}],["770",{"2":{"41":2}}],["768g",{"2":{"42":1}}],["765g",{"2":{"42":1}}],["765",{"2":{"42":1}}],["70",{"2":{"36":1,"41":2}}],["700",{"2":{"27":1,"36":1}}],["7",{"2":{"27":1,"33":2,"36":11}}],["所以策略组的排序应与cluster的排序一致",{"2":{"27":1}}],["策略组中包含的cpu核心数量",{"2":{"27":1}}],["策略组",{"0":{"27":1}}],["过热温度为触发调频器温度控制的阈值",{"2":{"28":1}}],["过热温度",{"2":{"28":1}}],["过大将会导致调频不够精细",{"2":{"26":1}}],["过低将导致调频器无法应对瞬时负载",{"2":{"26":1}}],["四种负载",{"2":{"26":1}}],["6",{"2":{"36":34}}],["65",{"2":{"36":1}}],["660",{"2":{"41":2}}],["66",{"2":{"26":1}}],["600",{"2":{"36":2}}],["60",{"2":{"26":1,"30":1,"36":3,"41":1}}],["例如下面",{"2":{"33":1}}],["例如",{"0":{"30":1},"2":{"41":1}}],["例如cpu频率表中有1200",{"2":{"27":1}}],["例如sdm845为4+4设计",{"2":{"27":1}}],["例如100hz时只能获得0",{"2":{"26":1}}],["例如vk",{"2":{"5":1}}],["总时间",{"2":{"26":1}}],["35",{"2":{"36":1}}],["390",{"2":{"36":1}}],["320",{"2":{"27":2,"36":1}}],["360",{"2":{"27":1,"36":2}}],["3",{"2":{"27":2,"33":4,"36":24}}],["33",{"2":{"26":1}}],["33ms记录一次",{"2":{"26":1}}],["300",{"2":{"36":4}}],["3000",{"2":{"30":1}}],["30",{"2":{"26":1,"36":3,"41":1}}],["即可在app内查看日志",{"2":{"60":1}}],["即数组中的每个json元素对应一个文件写入任务",{"2":{"32":1}}],["即数组中的每个json元素对应一个策略组",{"2":{"27":1}}],["即policy0",{"2":{"27":1}}],["即3",{"2":{"26":1}}],["即视为您已经同意本隐私权政策全部内容",{"2":{"12":1}}],["通常linux内核频率为300hz",{"2":{"26":1}}],["通常情况下",{"2":{"14":1}}],["工作频率是cpu混合调频器的重要参数",{"2":{"26":1}}],["arm64",{"2":{"42":1}}],["arrayint",{"2":{"28":1,"40":1}}],["atch",{"2":{"36":1}}],["apodidae",{"2":{"52":1}}],["apm",{"2":{"36":1}}],["apture",{"2":{"36":1}}],["app导入",{"0":{"57":1}}],["app最低支持安卓9",{"2":{"42":1}}],["apptypes",{"2":{"36":1}}],["app",{"2":{"33":1,"36":1}}],["amera",{"2":{"36":1}}],["ava",{"2":{"36":1}}],["aa",{"2":{"36":2}}],["auncher",{"2":{"36":1}}],["author",{"2":{"36":1,"37":2}}],["andle|",{"2":{"36":1}}],["android",{"2":{"13":4,"60":1}}],["anim|",{"2":{"36":1}}],["acturalmargin",{"2":{"29":1}}],["activedelay",{"2":{"26":1,"36":1}}],["activeratehz",{"2":{"26":1,"36":1,"40":1,"41":1}}],["此调频器将只会选取部分gpu频率",{"2":{"40":1}}],["此调入并不具备任何联网传输数据的功能",{"2":{"12":1}}],["此字段将会用于验证调度与该配置是否兼容",{"2":{"37":1}}],["此模块app已经内置",{"2":{"45":1}}],["此模块未使用标准的规则编写",{"2":{"38":1}}],["此模块通过智能分类线程来实现较为合理的线程调度策略",{"2":{"38":1}}],["此模块通过在各种不同场景下选择合适的cpu频率以改善使用体验",{"2":{"25":1}}],["此模块用于在触发某些场景时自动写入文件",{"2":{"31":1}}],["此项配置类型为arrayjson",{"2":{"27":1,"32":1}}],["修订或终止tritium服务的权利",{"2":{"24":1}}],["服务变更",{"0":{"24":1}}],["可能不具有实时性和个性化的特点",{"2":{"23":1}}],["可以",{"2":{"5":1}}],["可以使用吗",{"0":{"5":1}}],["并不代表原ct",{"2":{"42":1}}],["并理解tritium的回应基于先前测试的数据",{"2":{"23":1}}],["并终止本项目使用",{"2":{"4":1}}],["用户在使用本服务前应审慎考虑并理解免责声明的内容",{"2":{"24":1}}],["用户在使用tritium服务的同时应当遵守适用法律法规",{"2":{"23":1}}],["用于降低部分场景下卡顿的几率",{"2":{"29":1}}],["用于生成cpu功耗模型的cpu频率",{"2":{"27":1}}],["用于确保后台服务保活",{"2":{"13":1}}],["用于确保cutoolbox后台服务在设备休眠时仍能正常运行",{"2":{"13":1}}],["用于写入数据到存储设备",{"2":{"13":1}}],["用于读取存储设备上的文件和数据",{"2":{"13":1}}],["误解或问题承担责任",{"2":{"23":1}}],["责任限制",{"0":{"23":1}}],["专业建议",{"2":{"22":1}}],["任何由tritium生成的内容不构成法律",{"2":{"22":1}}],["目前支持架构",{"2":{"42":1}}],["目标路径为",{"2":{"33":1}}],["目的",{"0":{"22":1}}],["目录下",{"2":{"7":1}}],["项目免责声明",{"0":{"21":1},"1":{"22":1,"23":1,"24":1}}],["人人皆是垃圾🤔🤔",{"0":{"20":1}}],["怎么用😅",{"0":{"19":1}}],["1日志",{"0":{"64":1}}],["11",{"2":{"62":1}}],["1100",{"2":{"36":2}}],["1300",{"2":{"37":1}}],["16",{"2":{"36":5}}],["16000",{"2":{"36":1}}],["15",{"2":{"36":6}}],["1500",{"2":{"36":1}}],["10",{"2":{"30":9,"36":18,"37":1,"41":3,"62":1}}],["1000+",{"2":{"42":1}}],["10000",{"2":{"36":1}}],["1000",{"2":{"30":1,"36":2}}],["100",{"2":{"26":1,"27":1,"28":1,"29":4,"30":2,"36":7,"41":2}}],["100即为cpu负载百分比",{"2":{"26":1}}],["1750",{"2":{"27":1}}],["1700",{"2":{"27":1}}],["1700三个频率",{"2":{"27":1}}],["1",{"2":{"27":1,"36":21,"56":1,"65":1}}],["14的arm64设备",{"2":{"42":1}}],["1400",{"2":{"27":1,"36":2}}],["1450",{"2":{"27":1}}],["12",{"2":{"36":16,"66":1}}],["12000",{"2":{"36":1}}],["1200",{"2":{"27":1,"36":1,"37":1}}],["123",{"2":{"64":1}}],["1234567注意",{"2":{"37":1}}],["12345678910111213warning",{"2":{"30":1}}],["123456789101112131415161718192021222324252627282930313233343536373839",{"2":{"41":1}}],["123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572",{"2":{"36":1}}],["12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061",{"2":{"30":1}}],["12345678910111213141516171819202122232425262728293031323334",{"2":{"33":1}}],["1234567891011121314151617181920212223242526",{"2":{"27":1}}],["123456789101112提示",{"2":{"26":1}}],["123此项目要求",{"2":{"7":1}}],["1880",{"2":{"36":1}}],["1800",{"2":{"27":1,"36":2}}],["18",{"2":{"17":1}}],["反差",{"0":{"17":1}}],["我的自由",{"0":{"16":1}}],["我们诚招各位小伙伴加入团队一起完成项目",{"2":{"54":1}}],["我们为什么选择cuprumturbo",{"0":{"49":1}}],["我们绝大多数模板来自于上游仓库",{"2":{"48":1}}],["我们致力于优化其性能",{"2":{"48":1}}],["我们保留随时更改",{"2":{"24":1}}],["我们不对因使用tritium服务而导致的任何直接或间接损失",{"2":{"23":1}}],["我们不会削减您按照本隐私政策所应享有的权利",{"2":{"14":1}}],["我们的隐私政策将不定时更新",{"2":{"14":1}}],["难得",{"2":{"15":1}}],["2日志",{"0":{"63":1}}],["2",{"2":{"36":20,"56":1,"65":1}}],["25",{"2":{"36":1}}],["280",{"2":{"36":1}}],["2800",{"2":{"36":1}}],["2840",{"2":{"36":1}}],["20",{"2":{"30":3,"36":17,"41":1}}],["200",{"2":{"26":1,"30":3,"36":6}}],["20000",{"2":{"36":1}}],["2000",{"2":{"26":1,"27":1,"30":2,"36":2}}],["2024",{"2":{"15":1,"16":1,"17":1,"18":1,"19":1,"62":1}}],["2023",{"2":{"11":1,"66":1}}],["2420",{"2":{"36":1}}],["24",{"2":{"19":1,"66":1}}],["2600",{"2":{"27":2}}],["26",{"2":{"18":1}}],["21",{"2":{"16":1}}],["29",{"2":{"15":1}}],["如何使用",{"0":{"55":1},"1":{"56":1,"57":1,"58":1,"59":1,"60":1}}],["如果为模块",{"2":{"60":1}}],["如果为app导入使用",{"2":{"60":1}}],["如果您有兴趣参与本项目的开发和维护",{"2":{"42":1}}],["如果实时功耗超过powerlimit就会消耗burstcapacity",{"2":{"28":1}}],["如果工作频率过高将会导致调频器的开销增加且无法获得有效的cpu负载",{"2":{"26":1}}],["如你所见我们会记录一些🤡",{"0":{"15":1},"1":{"16":1,"17":1,"18":1,"19":1,"20":1}}],["如可选链",{"2":{"7":1}}],["layer|",{"2":{"36":1}}],["lur|",{"2":{"36":1}}],["ll",{"2":{"36":2}}],["ldxy|",{"2":{"36":1}}],["lglr|",{"2":{"36":1}}],["lt",{"2":{"29":6}}],["log",{"2":{"60":1}}],["lowlatency",{"2":{"29":1,"30":7,"36":28}}],["lowpowerfreq",{"2":{"27":4,"36":3}}],["lock",{"2":{"13":1}}],["license",{"0":{"11":1}}],["worker|apollo",{"2":{"36":1}}],["worker|nativethread|il2cpp|ace",{"2":{"36":1}}],["worker|nativethread|il2cpp|corethread|thread",{"2":{"36":1}}],["worker",{"2":{"36":2}}],["work",{"2":{"36":1}}],["weexjsbridge|libweexjsb|v8",{"2":{"36":1}}],["ww",{"2":{"36":3}}],["w",{"2":{"28":1}}],["wake",{"2":{"13":1}}],["write",{"2":{"13":1}}],["访问敏感目录权限",{"2":{"13":2}}],["emulated",{"2":{"60":1}}],["eport",{"2":{"36":1}}],["etwork|",{"2":{"36":1}}],["ee",{"2":{"36":1}}],["essage|",{"2":{"36":1}}],["eb",{"2":{"36":1}}],["ecode",{"2":{"36":1}}],["edia|",{"2":{"36":1}}],["ender",{"2":{"36":1}}],["ench",{"2":{"36":1}}],["engine",{"2":{"36":4}}],["enable",{"2":{"7":1,"26":2,"33":1,"36":4,"41":1}}],["extramargin值用于提供额外的性能冗余",{"2":{"29":1}}],["extramargin",{"2":{"29":2,"30":7,"36":28}}],["external",{"2":{"13":2}}],["您在同意此隐私协议之时",{"2":{"12":1}}],["隐私协议变更",{"0":{"14":1}}],["隐私协议",{"0":{"12":1},"1":{"13":1,"14":1}}],["残梦",{"2":{"11":1}}],["旧忆",{"2":{"11":1}}],["©",{"2":{"11":1}}],["许可协议",{"2":{"11":1}}],["mtkgpugovernor",{"0":{"39":1},"1":{"40":1,"41":1},"2":{"36":1,"41":1}}],["mm",{"2":{"36":4}}],["moss|okhttp|okio|rx|rx",{"2":{"36":1}}],["moba|",{"2":{"36":1}}],["modes",{"0":{"28":1,"41":1},"1":{"29":1},"2":{"30":2,"36":1,"41":1}}],["modelpower",{"2":{"27":4,"36":3}}],["modelfreq",{"2":{"27":4,"36":3}}],["mrzh|",{"2":{"36":1}}],["ms",{"2":{"28":3,"29":1}}],["mw",{"2":{"27":1,"28":1}}],["mhz",{"2":{"27":3,"40":1,"41":2}}],["minfreq",{"2":{"41":5}}],["minfreqstep",{"2":{"26":1,"36":1}}],["minecraft",{"2":{"36":3}}],["mit",{"2":{"11":1}}],["maxfreq",{"2":{"41":5}}],["mage|",{"2":{"36":1}}],["magisk",{"2":{"1":1,"42":1,"56":1}}],["mainthread|program",{"2":{"36":1}}],["mainthread|thread",{"2":{"36":1}}],["main",{"2":{"36":7}}],["markdown",{"2":{"7":1,"8":2}}],["源码遵循",{"2":{"11":1}}],["转载请附上原文出处链接和声明",{"2":{"11":1}}],["版本",{"2":{"37":1}}],["版本为",{"2":{"7":1}}],["版权协议",{"2":{"11":1}}],["ss",{"2":{"36":2}}],["sky|com",{"2":{"36":1}}],["sky",{"2":{"36":3}}],["s4na|",{"2":{"36":1}}],["sync|jnisurface|hwui|uithread|ged",{"2":{"36":1}}],["symbol",{"2":{"36":7}}],["system",{"2":{"33":1,"36":1}}],["suni",{"2":{"36":1,"65":1}}],["snapdragon865",{"2":{"36":1}}],["string",{"2":{"32":2,"37":2}}],["storage",{"2":{"13":2,"60":1}}],["scene需要关闭核心分配",{"2":{"56":1}}],["scene适配等",{"2":{"50":1}}],["scenes",{"0":{"32":1},"2":{"33":1,"36":1}}],["scheduler日志输出路径为",{"2":{"60":1}}],["scheduler",{"2":{"52":1,"60":1,"66":1}}],["scheduler保持一致",{"2":{"51":1}}],["scheduler的基础上进行了一些优化和简化",{"2":{"49":1}}],["scheduler的衍生版本",{"2":{"48":2}}],["scheduler是一个高性能的调度器",{"2":{"49":1}}],["scheduler进行2次修改",{"0":{"49":1}}],["schedrules",{"2":{"36":1}}],["screenoff",{"2":{"32":1,"33":1,"36":1}}],["screenon",{"2":{"32":1,"33":1,"36":1}}],["swipe",{"2":{"29":2,"30":1,"36":4}}],["saver|referencequeue",{"2":{"36":1}}],["sa",{"2":{"11":1}}],["src",{"2":{"7":1}}],["box非必要不建议",{"2":{"63":1}}],["box",{"0":{"46":1,"59":1},"1":{"60":1},"2":{"66":1}}],["boost值用于夸大实际的cpu负载",{"2":{"29":1}}],["boost",{"2":{"29":2,"30":7,"36":28}}],["bool",{"2":{"29":1}}],["blog|xlog|",{"2":{"36":1}}],["bb",{"2":{"36":4}}],["benchmark",{"2":{"36":2}}],["bigjank情况下的boost值",{"2":{"64":1}}],["bigjank",{"2":{"29":2,"30":1,"36":4}}],["burstcapacity",{"2":{"28":1,"30":1,"36":4}}],["background",{"2":{"33":2,"36":2}}],["balancemode",{"2":{"32":1,"33":1,"36":1}}],["balance",{"2":{"30":1,"36":1,"41":1}}],["battery",{"2":{"13":1}}],["bashcorepack",{"2":{"7":1}}],["by",{"2":{"11":1}}],["4600",{"2":{"36":1}}],["4000",{"2":{"36":3}}],["40",{"2":{"30":1,"36":5}}],["4年一次",{"2":{"15":1}}],["4",{"2":{"11":1,"27":1,"36":35,"56":1}}],["ct",{"2":{"60":1}}],["changelog",{"2":{"65":1}}],["chenzyadb",{"2":{"37":1,"65":1}}],["cheduler|",{"2":{"36":1}}],["chronos",{"2":{"36":1}}],["chrome",{"2":{"36":1}}],["catcher|profile",{"2":{"36":1}}],["cript",{"2":{"36":1}}],["cuprumturbo",{"0":{"34":1},"2":{"48":1,"49":1,"52":1,"66":1}}],["cutoolbox",{"2":{"1":1,"42":1,"56":1}}],["code",{"2":{"65":1}}],["config",{"2":{"42":1,"56":1}}],["configversion",{"2":{"36":1,"37":3}}],["completion|framethread|framepolicy|scrollpolicy",{"2":{"36":1}}],["com",{"2":{"36":2}}],["commoncpus",{"2":{"36":39}}],["common",{"2":{"36":2}}],["corenum",{"2":{"27":4,"36":3}}],["copyright",{"2":{"11":1}}],["cpu配置模块",{"2":{"35":1}}],["cpus",{"2":{"33":6,"36":5}}],["cpuset",{"2":{"33":6,"36":5}}],["cpu温度大于等于80度时最大功耗限制在3000mw",{"2":{"30":1}}],["cpu温度大于等于80度小于90度时最大功耗限制在5000mw",{"2":{"29":1}}],["cpu温度大于等于90度时最大功耗限制在4000mw",{"2":{"29":1}}],["cpuload",{"2":{"29":3}}],["cpu频率加速可以在特定条件触发时调高cpu频率提升积极性",{"2":{"29":1}}],["cpu频率加速",{"0":{"29":1}}],["cpu频率提升延迟用于降低cpu频率被提升得过高的几率",{"2":{"28":1}}],["cpu频率提升延迟",{"2":{"28":1}}],["cpu性能冗余",{"2":{"28":1}}],["cpu整体功耗限制会影响cpu频率上限",{"2":{"28":1}}],["cpu整体功耗限制",{"2":{"28":1}}],["cpu最优频率",{"2":{"27":1}}],["cpu功耗最低频率",{"2":{"27":1}}],["cpu相对同频算力值",{"2":{"27":1}}],["cpu4",{"2":{"27":1}}],["cpu0",{"2":{"27":1}}],["cpu混合调频器",{"0":{"25":1},"1":{"26":1,"27":1,"28":1,"29":1}}],["cpugovernor模块设定中的所有频率都将会被取近似值",{"2":{"27":1}}],["cpugovernor",{"0":{"25":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"26":1,"36":1}}],["cc",{"2":{"11":1,"36":6}}],["文件写入配置模块",{"2":{"35":1}}],["文件写入器",{"0":{"31":1},"1":{"32":1}}],["文章遵循",{"2":{"11":1}}],["文档📃建站",{"0":{"67":1}}],["文档的主体结构来源于原神地图感谢开发者的开源",{"2":{"10":1}}],["文档参考",{"0":{"9":1},"1":{"10":1}}],["文档中支持的",{"2":{"8":1}}],["文档使用",{"2":{"7":1}}],["组件来源于vue",{"2":{"10":1}}],["大多数vue",{"2":{"10":1}}],["大佬我不会使用你可以教我吗",{"0":{"2":1}}],["附加",{"0":{"10":1}}],["原神地图",{"2":{"9":1}}],["查尔斯的知识库",{"2":{"9":1}}],["tt",{"2":{"36":1}}],["tgc",{"2":{"36":1}}],["taskgraph|cmpjob|apollo",{"2":{"36":1}}],["taskgraph|rhithread",{"2":{"36":1}}],["tap",{"2":{"29":1,"30":1,"36":4}}],["thread|job",{"2":{"36":2}}],["thread",{"2":{"36":10}}],["threadname",{"2":{"36":39}}],["threadschedopt",{"0":{"38":1},"2":{"36":1}}],["theme",{"2":{"9":1}}],["top",{"2":{"33":1,"36":1}}],["text",{"2":{"32":2,"33":5,"36":5}}],["true",{"2":{"26":1,"30":2,"33":1,"36":11,"41":1}}],["tritium调度器则是在cuprumturbo",{"2":{"49":1}}],["tritium调度是cuprumturbo",{"2":{"48":1}}],["tritium尊重并保护所有使用此调度用户的个人隐私权",{"2":{"12":1}}],["tritium",{"0":{"12":1,"21":1,"48":1,"59":1},"1":{"13":1,"14":1,"22":1,"23":1,"24":1,"49":1,"60":1},"2":{"66":2}}],["tip",{"2":{"2":1,"3":1,"5":1,"6":1,"26":1,"33":1,"45":1,"46":1,"59":1}}],["语法的能力",{"2":{"8":1}}],["中",{"2":{"8":1}}],["和在",{"2":{"8":1}}],["扩展",{"2":{"8":1}}],["参阅",{"2":{"8":1}}],["编辑内容",{"0":{"8":1}}],["特性",{"2":{"7":1}}],["jobthread|thread",{"2":{"36":1}}],["jdwp|memoryinfra",{"2":{"36":1}}],["jddsaef|",{"2":{"36":1}}],["jj",{"2":{"36":2}}],["jank",{"2":{"29":2,"30":1,"36":4}}],["javascript",{"2":{"7":1}}],["js|mqt",{"2":{"36":1}}],["json信息",{"0":{"37":1}}],["json配置模块",{"2":{"35":1}}],["json",{"2":{"26":1,"27":1,"30":2,"33":1,"36":1,"37":1,"41":1}}],["js",{"2":{"7":1}}],["因为我们在代码中使用了新的",{"2":{"7":1}}],["01",{"2":{"18":1,"19":1}}],["02",{"2":{"15":1,"16":1,"17":1}}],["0",{"2":{"7":2,"11":1,"28":1,"29":2,"30":7,"33":6,"36":53,"41":6,"60":1}}],["v4",{"0":{"63":1,"64":1},"2":{"65":2}}],["v8a",{"2":{"42":1}}],["vlc|",{"2":{"36":1}}],["verlay|",{"2":{"36":1}}],["vv",{"2":{"36":3}}],["v19",{"0":{"34":1}}],["v18",{"2":{"7":1}}],["vue",{"2":{"8":1,"9":1}}],["vitepress",{"2":{"7":1,"8":1,"9":2}}],["downratediff的值不得大于upratethres",{"2":{"41":1}}],["downratediff的值越大降频越缓慢",{"2":{"41":1}}],["downratediff=10",{"2":{"41":1}}],["downratediff",{"2":{"41":5}}],["docs原神地图",{"2":{"10":1}}],["docs",{"2":{"9":1}}],["dimensity1100",{"2":{"37":1}}],["display",{"2":{"36":1}}],["dd",{"2":{"36":3}}],["defaultwork|hippy",{"2":{"36":1}}],["default",{"2":{"36":1}}],["defaultpriority",{"2":{"36":1}}],["defaultcpus",{"2":{"36":1}}],["dev",{"2":{"7":1,"33":6,"36":5}}],["durationtime",{"2":{"29":1,"30":7,"36":28}}],["danger",{"2":{"1":1,"4":1,"42":1,"56":1}}],["io|compute|resource|nativethread",{"2":{"36":1}}],["ispatch|",{"2":{"36":1}}],["iew",{"2":{"36":1}}],["ideo|",{"2":{"36":1}}],["idleratehz",{"2":{"26":1,"36":1,"40":1,"41":1}}],["ixer|",{"2":{"36":1}}],["ii",{"2":{"36":2}}],["init",{"2":{"32":1,"33":1,"36":1}}],["int",{"2":{"27":6,"28":5,"29":3,"37":1,"40":2,"41":4}}],["ignore",{"2":{"13":1}}],["i",{"2":{"7":1}}],["preferredfreq为偏好的gpu频率",{"2":{"40":1}}],["preferredfreq",{"2":{"40":1,"41":1}}],["priority",{"2":{"36":39}}],["pp",{"2":{"36":2}}],["pkgname",{"2":{"36":7}}],["pool|minecraft",{"2":{"36":1}}],["pool|signal",{"2":{"36":1}}],["powersavemode",{"2":{"32":1,"33":1,"36":1}}],["powersave",{"2":{"30":2,"36":1,"41":1}}],["powerlimit",{"2":{"28":1,"30":2,"36":4}}],["policy1",{"2":{"27":1}}],["policies",{"0":{"27":1},"2":{"27":1,"36":1}}],["performancemode",{"2":{"32":1,"33":1,"36":1}}],["performance",{"2":{"30":1,"36":1,"41":1}}],["perfmargin使用arrayint即整数数组方式存储参数",{"2":{"28":1}}],["perfmargin",{"2":{"28":1,"29":1,"30":2,"36":4}}],["perfscale",{"2":{"27":4,"36":3}}],["permission",{"2":{"13":4}}],["party",{"2":{"36":1}}],["params",{"0":{"26":1,"40":1},"2":{"26":1,"36":1,"41":1}}],["path",{"2":{"32":2,"33":6,"36":5}}],["pandora",{"2":{"5":1}}],["pnpm",{"2":{"7":3}}],["对于本地开发",{"2":{"7":1}}],["对于简单的编辑",{"2":{"7":1}}],["位于",{"2":{"7":1}}],["格式编写",{"2":{"7":1}}],["站点内容以",{"2":{"7":1}}],["构建",{"2":{"7":1}}],["这个简易的gpu调频器可以满足对联发科gpu频率的基础调控",{"2":{"39":1}}],["这次日志更新了什么",{"0":{"6":1}}],["这什么lj调度",{"0":{"4":1}}],["非官方内核",{"0":{"5":1}}],["不会随cpu负载变化而改变",{"2":{"28":1}}],["不如xxx",{"0":{"4":1}}],["不可以",{"2":{"2":1}}],["截图询问",{"2":{"3":1}}],["请务必安装cujankdetector附加模块",{"2":{"56":1}}],["请确保您已阅读相关协议",{"2":{"51":1}}],["请确定版本对应",{"2":{"37":1}}],["请注意不要修改配置文件版本",{"2":{"37":1}}],["请谨慎评估并自主判断信息的准确性和适用性",{"2":{"22":1}}],["请求忽略电池优化",{"2":{"13":1}}],["请关注github",{"2":{"6":1}}],["请立即删除模块或app",{"2":{"4":1}}],["请详细阅读文档",{"2":{"2":1}}],["请仔细阅读文档",{"2":{"1":1}}],["只能使用其中一种",{"2":{"1":1,"42":1,"56":1}}],["答",{"2":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1}}],["常见问题及其解决方法",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js new file mode 100644 index 0000000..dbced1e --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.BfsfGEYa.js @@ -0,0 +1,7 @@ +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as ne,h as ve,ai as Xe,aj as Rt,ak as Ct,q as Ve,al as Mt,d as At,D as we,am as et,an as Lt,ao as Dt,s as zt,ap as Pt,v as Me,P as de,O as xe,aq as jt,ar as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,as as Ut,at as qt,au as Gt,c as Y,n as tt,e as Se,C as st,F as nt,a as he,t as fe,av as Ht,aw as it,a2 as Qt,a8 as Yt,ae as Zt,ax as Xt,_ as es}from"./framework.BXE2pAXj.js";import{u as ts,c as ss}from"./theme.CpLOZU2l.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.CZTu8BL5.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ke=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&re.call(e,ke)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=re.call(i,ke);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Fe(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Ne(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,$e.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ke)===!1?!1:$e(t,e)},ws=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ws)===!1?!1:Oe(t,e)};/*! +* focus-trap 7.6.0 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function xs(a,e,t){return(e=_s(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Es=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},me=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Is=function(e){return me(e)&&!e.shiftKey},ks=function(e){return me(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},pe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?g-1:0),E=1;E=0)d=s.activeElement;else{var u=i.tabbableGroups[0],g=u&&u.firstTabbableNode;d=g||h("fallbackFocus")}if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},p=function(){if(i.containerGroups=i.containers.map(function(d){var u=bs(d,r.tabbableOptions),g=ys(d,r.tabbableOptions),_=u.length>0?u[0]:void 0,E=u.length>0?u[u.length-1]:void 0,N=g.find(function(f){return ae(f)}),F=g.slice().reverse().find(function(f){return ae(f)}),m=!!u.find(function(f){return ie(f)>0});return{container:d,tabbableNodes:u,focusableNodes:g,posTabIndexesFound:m,firstTabbableNode:_,lastTabbableNode:E,firstDomTabbableNode:N,lastDomTabbableNode:F,nextTabbableNode:function(I){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=u.indexOf(I);return C<0?A?g.slice(g.indexOf(I)+1).find(function(M){return ae(M)}):g.slice(0,g.indexOf(I)).reverse().find(function(M){return ae(M)}):u[C+(A?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var u=d.activeElement;if(u)return u.shadowRoot&&u.shadowRoot.activeElement!==null?b(u.shadowRoot):u},y=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){y(v());return}d.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=d,Es(d)&&d.select()}},x=function(d){var u=h("setReturnFocus",d);return u||(u===!1?!1:d)},w=function(d){var u=d.target,g=d.event,_=d.isBackward,E=_===void 0?!1:_;u=u||_e(g),p();var N=null;if(i.tabbableGroups.length>0){var F=c(u,g),m=F>=0?i.containerGroups[F]:void 0;if(F<0)E?N=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:N=i.tabbableGroups[0].firstTabbableNode;else if(E){var f=ut(i.tabbableGroups,function(T){var P=T.firstTabbableNode;return u===P});if(f<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u,!1))&&(f=F),f>=0){var I=f===0?i.tabbableGroups.length-1:f-1,A=i.tabbableGroups[I];N=ie(u)>=0?A.lastTabbableNode:A.lastDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u,!1))}else{var C=ut(i.tabbableGroups,function(T){var P=T.lastTabbableNode;return u===P});if(C<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u))&&(C=F),C>=0){var M=C===i.tabbableGroups.length-1?0:C+1,j=i.tabbableGroups[M];N=ie(u)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u))}}else N=h("fallbackFocus");return N},O=function(d){var u=_e(d);if(!(c(u,d)>=0)){if(pe(r.clickOutsideDeactivates,d)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}pe(r.allowOutsideClick,d)||d.preventDefault()}},R=function(d){var u=_e(d),g=c(u,d)>=0;if(g||u instanceof Document)g&&(i.mostRecentlyFocusedNode=u);else{d.stopImmediatePropagation();var _,E=!0;if(i.mostRecentlyFocusedNode)if(ie(i.mostRecentlyFocusedNode)>0){var N=c(i.mostRecentlyFocusedNode),F=i.containerGroups[N].tabbableNodes;if(F.length>0){var m=F.findIndex(function(f){return f===i.mostRecentlyFocusedNode});m>=0&&(r.isKeyForward(i.recentNavEvent)?m+1=0&&(_=F[m-1],E=!1))}}else i.containerGroups.some(function(f){return f.tabbableNodes.some(function(I){return ie(I)>0})})||(E=!1);else E=!1;E&&(_=w({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),y(_||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},K=function(d){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var g=w({event:d,isBackward:u});g&&(me(d)&&d.preventDefault(),y(g))},G=function(d){(r.isKeyForward(d)||r.isKeyBackward(d))&&K(d,r.isKeyBackward(d))},W=function(d){Ts(d)&&pe(r.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},V=function(d){var u=_e(d);c(u,d)>=0||pe(r.clickOutsideDeactivates,d)||pe(r.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},$=function(){if(i.active)return lt.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?ct(function(){y(v())}):y(v()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",O,{capture:!0,passive:!1}),s.addEventListener("touchstart",O,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",G,{capture:!0,passive:!1}),s.addEventListener("keydown",W),o},ge=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",O,!0),s.removeEventListener("touchstart",O,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",G,!0),s.removeEventListener("keydown",W),o},L=function(d){var u=d.some(function(g){var _=Array.from(g.removedNodes);return _.some(function(E){return E===i.mostRecentlyFocusedNode})});u&&y(v())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(L):void 0,J=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){H.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var u=l(d,"onActivate"),g=l(d,"onPostActivate"),_=l(d,"checkCanFocusTrap");_||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,u==null||u();var E=function(){_&&p(),$(),J(),g==null||g()};return _?(_(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(d){if(!i.active)return this;var u=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,ge(),i.active=!1,i.paused=!1,J(),lt.deactivateTrap(n,o);var g=l(u,"onDeactivate"),_=l(u,"onPostDeactivate"),E=l(u,"checkCanReturnFocus"),N=l(u,"returnFocus","returnFocusOnDeactivate");g==null||g();var F=function(){ct(function(){N&&y(x(i.nodeFocusedBeforeActivation)),_==null||_()})};return N&&E?(E(x(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(d){if(i.paused||!i.active)return this;var u=l(d,"onPause"),g=l(d,"onPostPause");return i.paused=!0,u==null||u(),ge(),J(),g==null||g(),this},unpause:function(d){if(!i.paused||!i.active)return this;var u=l(d,"onUnpause"),g=l(d,"onPostUnpause");return i.paused=!1,u==null||u(),p(),$(),J(),g==null||g(),this},updateContainerElements:function(d){var u=[].concat(d).filter(Boolean);return i.containers=u.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),J(),this}},o.updateContainerElements(e),o};function Os(a,e={}){let t;const{immediate:s,...n}=e,r=ne(!1),i=ne(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)},v=ve(()=>{const p=Xe(a);return(Array.isArray(p)?p:[p]).map(b=>{const y=Xe(b);return typeof y=="string"?y:Rt(y)}).filter(Ct)});return Ve(v,p=>{p.length&&(t=Fs(p,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Mt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class le{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{le.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new le(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,v=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let Rs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new le(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return le.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=v+p,e.nodes.forEach((b,y)=>{y>=o&&(e.nodes[y].start>0&&y!==o&&(e.nodes[y].start-=h),e.nodes[y].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vs(l[i],v),(v,p)=>{e.lastIndex=p,n(v)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,v),p=>{v++,s++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=le.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Cs(a){const e=new Rs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Ie(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{c(s.next(h))}catch(v){i(v)}}function l(h){try{c(s.throw(h))}catch(v){i(v)}}function c(h){h.done?r(h.value):n(h.value).then(o,l)}c((s=s.apply(a,[])).next())})}const Ms="ENTRIES",xt="KEYS",St="VALUES",z="";class Le{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=oe(this._path);if(oe(t)===z)return{done:!1,value:this.result()};const s=e.get(oe(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=oe(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>oe(e)).filter(e=>e!==z).join("")}value(){return oe(this._path).node.get(z)}result(){switch(this._type){case St:return this.value();case xt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const oe=a=>a[a.length-1],As=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===z){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let v=0;vt)continue e}_t(a.get(c),e,t,s,n,h,i,o+c)}};class Z{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Re(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Je(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new Z(o,e)}}return new Z(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ls(this._tree,e)}entries(){return new Le(this,Ms)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return As(this._tree,e,t)}get(e){const t=Be(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=Be(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Le(this,xt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,De(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Le(this,St)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Z;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return Z.from(Object.entries(e))}}const Re=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Re(a.get(s),e.slice(s.length),t);return t.push([a,e]),Re(void 0,"",t)},Be=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return Be(a.get(t),e.slice(t.length))},De=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Re(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;Tt(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Je(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&Tt(a.slice(0,-1),s,n)}},Tt=(a,e,t)=>{if(a.length===0)return;const[s,n]=Je(a);s.set(n+e,t),s.delete(n)},Je=a=>a[a.length-1],Ue="or",It="and",Ds="and_not";class ce{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?je:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Pe),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},$s),e.autoSuggestOptions||{})}),this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ke,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const l=this.addDocumentId(o);this.saveStoredFields(l,e);for(const c of r){const h=t(e,c);if(h==null)continue;const v=s(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.addFieldLength(l,p,this._documentCount-1,b);for(const y of v){const x=n(y,c);if(Array.isArray(x))for(const w of x)this.addTerm(p,l,w);else x&&this.addTerm(p,l,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const l=this._idToShortId.get(o);if(l==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const c of r){const h=n(e,c);if(h==null)continue;const v=t(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.removeFieldLength(l,p,this._documentCount,b);for(const y of v){const x=s(y,c);if(Array.isArray(x))for(const w of x)this.removeTerm(p,l,w);else x&&this.removeTerm(p,l,x)}}this._storedFields.delete(l),this._documentIds.delete(l),this._idToShortId.delete(o),this._fieldLength.delete(l),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ke,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Ie(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||We.batchSize,r=e.batchWait||We.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[v]of h)this._documentIds.has(v)||(h.size<=1?l.delete(c):h.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(c=>setTimeout(c,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||je.minDirtCount,s=s||je.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:l}]of s){const c=o.length||1,h={id:this._documentIds.get(r),score:i*c,terms:Object.keys(l),queryTerms:o,match:l};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===ce.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Ie(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(Pe.hasOwnProperty(e))return ze(Pe,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=Ee(n),l._fieldLength=Ee(r),l._storedFields=Ee(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const v=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),v.set(parseInt(p,10),Ee(b))}l._index.set(c,v)}return l}static loadJSAsync(e,t){return Ie(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=yield Te(n),l._fieldLength=yield Te(r),l._storedFields=yield Te(i);for(const[h,v]of l._documentIds)l._idToShortId.set(v,h);let c=0;for(const[h,v]of s){const p=new Map;for(const b of Object.keys(v)){let y=v[b];o===1&&(y=y.ds),p.set(parseInt(b,10),yield Te(y))}++c%1e3===0&&(yield kt(0)),l._index.set(h,p)}return l})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new ce(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new Z,c}executeQuery(e,t={}){if(e===ce.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),b=e.queries.map(y=>this.executeQuery(y,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Vs(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((x,w)=>Object.assign(Object.assign({},x),{[w]:ze(s.boost,w)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}=Object.assign(Object.assign({},dt.weights),i),v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,n,r,l);let b,y;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const x=e.fuzzy===!0?.2:e.fuzzy,w=x<1?Math.min(o,Math.round(e.term.length*x)):x;w&&(y=this._index.fuzzyGet(e.term,w))}if(b)for(const[x,w]of b){const O=x.length-e.term.length;if(!O)continue;y==null||y.delete(x);const R=h*x.length/(x.length+.3*O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}if(y)for(const x of y.keys()){const[w,O]=y.get(x);if(!O)continue;const R=c*x.length/(x.length+O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Ue){if(e.length===0)return new Map;const s=t.toLowerCase(),n=zs[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const v=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let y=b.size;const x=this._avgFieldLength[p];for(const w of b.keys()){if(!this._documentIds.has(w)){this.removeTerm(p,w,t),y-=1;continue}const O=o?o(this._documentIds.get(w),t,this._storedFields.get(w)):1;if(!O)continue;const R=b.get(w),K=this._fieldLength.get(w)[p],G=js(R,y,this._documentCount,K,x,l),W=s*n*v*O*G,V=c.get(w);if(V){V.score+=W,Bs(V.terms,e);const $=ze(V.match,t);$?$.push(h):V.match[t]=[h]}else c.set(w,{score:W,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,zs={[Ue]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[It]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Ds]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ps={k:1.2,b:.7,d:.5},js=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Vs=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},Pe={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ws),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Ue,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ps},$s={combineWith:It,prefix:(a,e,t)=>e===t.length-1},We={batchSize:1e3,batchWait:10},Ke={minDirtFactor:.1,minDirtCount:20},je=Object.assign(Object.assign({},We),Ke),Bs=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,Ee=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Te=a=>Ie(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield kt(0));return e}),kt=a=>new Promise(e=>setTimeout(e,a)),Ws=/[\n\r\p{Z}\p{P}]+/u;class Ks{constructor(e=10){Ce(this,"max");Ce(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const Js=["aria-owns"],Us={class:"shell"},qs=["title"],Gs={class:"search-actions before"},Hs=["title"],Qs=["aria-activedescendant","aria-controls","placeholder"],Ys={class:"search-actions"},Zs=["title"],Xs=["disabled","title"],en=["id","role","aria-labelledby"],tn=["id","aria-selected"],sn=["href","aria-label","onMouseenter","onFocusin"],nn={class:"titles"},rn=["innerHTML"],an={class:"title main"},on=["innerHTML"],ln={key:0,class:"excerpt-wrapper"},cn={key:0,class:"excerpt",inert:""},un=["innerHTML"],dn={key:0,class:"no-results"},hn={class:"search-keyboard-shortcuts"},fn=["aria-label"],pn=["aria-label"],vn=["aria-label"],mn=["aria-label"],gn=At({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var N,F;const t=e,s=we(),n=we(),r=we(ns),i=ts(),{activate:o}=Os(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=et(async()=>{var m,f,I,A,C,M,j,T,P;return it(ce.loadJSON((I=await((f=(m=r.value)[l.value])==null?void 0:f.call(m)))==null?void 0:I.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((A=c.value.search)==null?void 0:A.provider)==="local"&&((M=(C=c.value.search.options)==null?void 0:C.miniSearch)==null?void 0:M.searchOptions)},...((j=c.value.search)==null?void 0:j.provider)==="local"&&((P=(T=c.value.search.options)==null?void 0:T.miniSearch)==null?void 0:P.options)}))}),p=ve(()=>{var m,f;return((m=c.value.search)==null?void 0:m.provider)==="local"&&((f=c.value.search.options)==null?void 0:f.disableQueryPersistence)===!0}).value?ne(""):Lt("vitepress:local-search-filter",""),b=Dt("vitepress:local-search-detailed-list",((N=c.value.search)==null?void 0:N.provider)==="local"&&((F=c.value.search.options)==null?void 0:F.detailedView)===!0),y=ve(()=>{var m,f,I;return((m=c.value.search)==null?void 0:m.provider)==="local"&&(((f=c.value.search.options)==null?void 0:f.disableDetailedView)===!0||((I=c.value.search.options)==null?void 0:I.detailedView)===!1)}),x=ve(()=>{var f,I,A,C,M,j,T;const m=((f=c.value.search)==null?void 0:f.options)??c.value.algolia;return((M=(C=(A=(I=m==null?void 0:m.locales)==null?void 0:I[l.value])==null?void 0:A.translations)==null?void 0:C.button)==null?void 0:M.buttonText)||((T=(j=m==null?void 0:m.translations)==null?void 0:j.button)==null?void 0:T.buttonText)||"Search"});zt(()=>{y.value&&(b.value=!1)});const w=we([]),O=ne(!1);Ve(p,()=>{O.value=!1});const R=et(async()=>{if(n.value)return it(new Cs(n.value))},null),K=new Ks(16);Pt(()=>[h.value,p.value,b.value],async([m,f,I],A,C)=>{var X,be,qe,Ge;(A==null?void 0:A[0])!==m&&K.clear();let M=!1;if(C(()=>{M=!0}),!m)return;w.value=m.search(f).slice(0,16),O.value=!0;const j=I?await Promise.all(w.value.map(B=>G(B.id))):[];if(M)return;for(const{id:B,mod:ee}of j){const te=B.slice(0,B.indexOf("#"));let Q=K.get(te);if(Q)continue;Q=new Map,K.set(te,Q);const U=ee.default??ee;if(U!=null&&U.render||U!=null&&U.setup){const se=Qt(U);se.config.warnHandler=()=>{},se.provide(Yt,i),Object.defineProperties(se.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");se.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ue=>{var Ze;const ye=(Ze=ue.querySelector("a"))==null?void 0:Ze.getAttribute("href"),Qe=(ye==null?void 0:ye.startsWith("#"))&&ye.slice(1);if(!Qe)return;let Ye="";for(;(ue=ue.nextElementSibling)&&!/^h[1-6]$/i.test(ue.tagName);)Ye+=ue.outerHTML;Q.set(Qe,Ye)}),se.unmount()}if(M)return}const T=new Set;if(w.value=w.value.map(B=>{const[ee,te]=B.id.split("#"),Q=K.get(ee),U=(Q==null?void 0:Q.get(te))??"";for(const se in B.match)T.add(se);return{...B,text:U}}),await de(),M)return;await new Promise(B=>{var ee;(ee=R.value)==null||ee.unmark({done:()=>{var te;(te=R.value)==null||te.markRegExp(E(T),{done:B})}})});const P=((X=s.value)==null?void 0:X.querySelectorAll(".result .excerpt"))??[];for(const B of P)(be=B.querySelector('mark[data-markjs="true"]'))==null||be.scrollIntoView({block:"center"});(Ge=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ge.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function G(m){const f=Zt(m.slice(0,m.indexOf("#")));try{if(!f)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(f)}}catch(I){return console.error(I),{id:m,mod:{}}}}const W=ne(),V=ve(()=>{var m;return((m=p.value)==null?void 0:m.length)<=0});function $(m=!0){var f,I;(f=W.value)==null||f.focus(),m&&((I=W.value)==null||I.select())}Me(()=>{$()});function ge(m){m.pointerType==="mouse"&&$()}const L=ne(-1),H=ne(!1);Ve(w,m=>{L.value=m.length?0:-1,J()});function J(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}xe("ArrowUp",m=>{m.preventDefault(),L.value--,L.value<0&&(L.value=w.value.length-1),H.value=!0,J()}),xe("ArrowDown",m=>{m.preventDefault(),L.value++,L.value>=w.value.length&&(L.value=0),H.value=!0,J()});const k=jt();xe("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const f=w.value[L.value];if(m.target instanceof HTMLInputElement&&!f){m.preventDefault();return}f&&(k.go(f.id),t("close"))}),xe("Escape",()=>{t("close")});const u=ss({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Me(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const g=$t(Bt?document.body:null);Me(()=>{de(()=>{g.value=!0,de().then(()=>o())})}),Wt(()=>{g.value=!1});function _(){p.value="",de().then(()=>$(!1))}function E(m){return new RegExp([...m].sort((f,I)=>I.length-f.length).map(f=>`(${Xt(f)})`).join("|"),"gi")}return(m,f)=>{var I,A,C,M,j;return q(),Kt(Ht,{to:"body"},[S("div",{ref_key:"el",ref:s,role:"button","aria-owns":(I=w.value)!=null&&I.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[S("div",{class:"backdrop",onClick:f[0]||(f[0]=T=>m.$emit("close"))}),S("div",Us,[S("form",{class:"search-bar",onPointerup:f[4]||(f[4]=T=>ge(T)),onSubmit:f[5]||(f[5]=Jt(()=>{},["prevent"]))},[S("label",{title:x.value,id:"localsearch-label",for:"localsearch-input"},f[8]||(f[8]=[S("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)]),8,qs),S("div",Gs,[S("button",{class:"back-button",title:D(u)("modal.backButtonTitle"),onClick:f[1]||(f[1]=T=>m.$emit("close"))},f[9]||(f[9]=[S("span",{class:"vpi-arrow-left local-search-icon"},null,-1)]),8,Hs)]),Ut(S("input",{ref_key:"searchInput",ref:W,"onUpdate:modelValue":f[2]||(f[2]=T=>Gt(p)?p.value=T:null),"aria-activedescendant":L.value>-1?"localsearch-item-"+L.value:void 0,"aria-autocomplete":"both","aria-controls":(A=w.value)!=null&&A.length?"localsearch-list":void 0,"aria-labelledby":"localsearch-label",autocapitalize:"off",autocomplete:"off",autocorrect:"off",class:"search-input",id:"localsearch-input",enterkeyhint:"go",maxlength:"64",placeholder:x.value,spellcheck:"false",type:"search"},null,8,Qs),[[qt,D(p)]]),S("div",Ys,[y.value?Se("",!0):(q(),Y("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(b)}]),type:"button",title:D(u)("modal.displayDetails"),onClick:f[3]||(f[3]=T=>L.value>-1&&(b.value=!D(b)))},f[10]||(f[10]=[S("span",{class:"vpi-layout-list local-search-icon"},null,-1)]),10,Zs)),S("button",{class:"clear-button",type:"reset",disabled:V.value,title:D(u)("modal.resetButtonTitle"),onClick:_},f[11]||(f[11]=[S("span",{class:"vpi-delete local-search-icon"},null,-1)]),8,Xs)])],32),S("ul",{ref_key:"resultsEl",ref:n,id:(C=w.value)!=null&&C.length?"localsearch-list":void 0,role:(M=w.value)!=null&&M.length?"listbox":void 0,"aria-labelledby":(j=w.value)!=null&&j.length?"localsearch-label":void 0,class:"results",onMousemove:f[7]||(f[7]=T=>H.value=!1)},[(q(!0),Y(nt,null,st(w.value,(T,P)=>(q(),Y("li",{key:T.id,id:"localsearch-item-"+P,"aria-selected":L.value===P?"true":"false",role:"option"},[S("a",{href:T.id,class:tt(["result",{selected:L.value===P}]),"aria-label":[...T.titles,T.title].join(" > "),onMouseenter:X=>!H.value&&(L.value=P),onFocusin:X=>L.value=P,onClick:f[6]||(f[6]=X=>m.$emit("close"))},[S("div",null,[S("div",nn,[f[13]||(f[13]=S("span",{class:"title-icon"},"#",-1)),(q(!0),Y(nt,null,st(T.titles,(X,be)=>(q(),Y("span",{key:be,class:"title"},[S("span",{class:"text",innerHTML:X},null,8,rn),f[12]||(f[12]=S("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),S("span",an,[S("span",{class:"text",innerHTML:T.title},null,8,on)])]),D(b)?(q(),Y("div",ln,[T.text?(q(),Y("div",cn,[S("div",{class:"vp-doc",innerHTML:T.text},null,8,un)])):Se("",!0),f[14]||(f[14]=S("div",{class:"excerpt-gradient-bottom"},null,-1)),f[15]||(f[15]=S("div",{class:"excerpt-gradient-top"},null,-1))])):Se("",!0)])],42,sn)],8,tn))),128)),D(p)&&!w.value.length&&O.value?(q(),Y("li",dn,[he(fe(D(u)("modal.noResultsText"))+' "',1),S("strong",null,fe(D(p)),1),f[16]||(f[16]=he('" '))])):Se("",!0)],40,en),S("div",hn,[S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.navigateUpKeyAriaLabel")},f[17]||(f[17]=[S("span",{class:"vpi-arrow-up navigate-icon"},null,-1)]),8,fn),S("kbd",{"aria-label":D(u)("modal.footer.navigateDownKeyAriaLabel")},f[18]||(f[18]=[S("span",{class:"vpi-arrow-down navigate-icon"},null,-1)]),8,pn),he(" "+fe(D(u)("modal.footer.navigateText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.selectKeyAriaLabel")},f[19]||(f[19]=[S("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)]),8,vn),he(" "+fe(D(u)("modal.footer.selectText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.closeKeyAriaLabel")},"esc",8,mn),he(" "+fe(D(u)("modal.footer.closeText")),1)])])])],8,Js)])}}}),_n=es(gn,[["__scopeId","data-v-0a77d701"]]);export{_n as default}; diff --git a/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js new file mode 100644 index 0000000..bcd9c14 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.Cp6fLGT7.js @@ -0,0 +1,7 @@ +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as ne,h as ve,ai as Xe,aj as Rt,ak as Ct,q as Ve,al as Mt,d as At,D as we,am as et,an as Lt,ao as Dt,s as zt,ap as Pt,v as Me,P as de,O as xe,aq as jt,ar as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,as as Ut,at as qt,au as Gt,c as Y,n as tt,e as Se,C as st,F as nt,a as he,t as fe,av as Ht,aw as it,a2 as Qt,a8 as Yt,ae as Zt,ax as Xt,_ as es}from"./framework.BXE2pAXj.js";import{u as ts,c as ss}from"./theme.8NM9hdXq.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.63uIO9Js.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ke=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&re.call(e,ke)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=re.call(i,ke);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Fe(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Ne(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,$e.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ke)===!1?!1:$e(t,e)},ws=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ws)===!1?!1:Oe(t,e)};/*! +* focus-trap 7.6.0 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function xs(a,e,t){return(e=_s(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Es=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},me=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Is=function(e){return me(e)&&!e.shiftKey},ks=function(e){return me(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},pe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?g-1:0),E=1;E=0)d=s.activeElement;else{var u=i.tabbableGroups[0],g=u&&u.firstTabbableNode;d=g||h("fallbackFocus")}if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},p=function(){if(i.containerGroups=i.containers.map(function(d){var u=bs(d,r.tabbableOptions),g=ys(d,r.tabbableOptions),_=u.length>0?u[0]:void 0,E=u.length>0?u[u.length-1]:void 0,N=g.find(function(f){return ae(f)}),F=g.slice().reverse().find(function(f){return ae(f)}),m=!!u.find(function(f){return ie(f)>0});return{container:d,tabbableNodes:u,focusableNodes:g,posTabIndexesFound:m,firstTabbableNode:_,lastTabbableNode:E,firstDomTabbableNode:N,lastDomTabbableNode:F,nextTabbableNode:function(I){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=u.indexOf(I);return C<0?A?g.slice(g.indexOf(I)+1).find(function(M){return ae(M)}):g.slice(0,g.indexOf(I)).reverse().find(function(M){return ae(M)}):u[C+(A?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var u=d.activeElement;if(u)return u.shadowRoot&&u.shadowRoot.activeElement!==null?b(u.shadowRoot):u},y=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){y(v());return}d.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=d,Es(d)&&d.select()}},x=function(d){var u=h("setReturnFocus",d);return u||(u===!1?!1:d)},w=function(d){var u=d.target,g=d.event,_=d.isBackward,E=_===void 0?!1:_;u=u||_e(g),p();var N=null;if(i.tabbableGroups.length>0){var F=c(u,g),m=F>=0?i.containerGroups[F]:void 0;if(F<0)E?N=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:N=i.tabbableGroups[0].firstTabbableNode;else if(E){var f=ut(i.tabbableGroups,function(T){var P=T.firstTabbableNode;return u===P});if(f<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u,!1))&&(f=F),f>=0){var I=f===0?i.tabbableGroups.length-1:f-1,A=i.tabbableGroups[I];N=ie(u)>=0?A.lastTabbableNode:A.lastDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u,!1))}else{var C=ut(i.tabbableGroups,function(T){var P=T.lastTabbableNode;return u===P});if(C<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u))&&(C=F),C>=0){var M=C===i.tabbableGroups.length-1?0:C+1,j=i.tabbableGroups[M];N=ie(u)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u))}}else N=h("fallbackFocus");return N},O=function(d){var u=_e(d);if(!(c(u,d)>=0)){if(pe(r.clickOutsideDeactivates,d)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}pe(r.allowOutsideClick,d)||d.preventDefault()}},R=function(d){var u=_e(d),g=c(u,d)>=0;if(g||u instanceof Document)g&&(i.mostRecentlyFocusedNode=u);else{d.stopImmediatePropagation();var _,E=!0;if(i.mostRecentlyFocusedNode)if(ie(i.mostRecentlyFocusedNode)>0){var N=c(i.mostRecentlyFocusedNode),F=i.containerGroups[N].tabbableNodes;if(F.length>0){var m=F.findIndex(function(f){return f===i.mostRecentlyFocusedNode});m>=0&&(r.isKeyForward(i.recentNavEvent)?m+1=0&&(_=F[m-1],E=!1))}}else i.containerGroups.some(function(f){return f.tabbableNodes.some(function(I){return ie(I)>0})})||(E=!1);else E=!1;E&&(_=w({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),y(_||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},K=function(d){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var g=w({event:d,isBackward:u});g&&(me(d)&&d.preventDefault(),y(g))},G=function(d){(r.isKeyForward(d)||r.isKeyBackward(d))&&K(d,r.isKeyBackward(d))},W=function(d){Ts(d)&&pe(r.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},V=function(d){var u=_e(d);c(u,d)>=0||pe(r.clickOutsideDeactivates,d)||pe(r.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},$=function(){if(i.active)return lt.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?ct(function(){y(v())}):y(v()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",O,{capture:!0,passive:!1}),s.addEventListener("touchstart",O,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",G,{capture:!0,passive:!1}),s.addEventListener("keydown",W),o},ge=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",O,!0),s.removeEventListener("touchstart",O,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",G,!0),s.removeEventListener("keydown",W),o},L=function(d){var u=d.some(function(g){var _=Array.from(g.removedNodes);return _.some(function(E){return E===i.mostRecentlyFocusedNode})});u&&y(v())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(L):void 0,J=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){H.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var u=l(d,"onActivate"),g=l(d,"onPostActivate"),_=l(d,"checkCanFocusTrap");_||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,u==null||u();var E=function(){_&&p(),$(),J(),g==null||g()};return _?(_(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(d){if(!i.active)return this;var u=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,ge(),i.active=!1,i.paused=!1,J(),lt.deactivateTrap(n,o);var g=l(u,"onDeactivate"),_=l(u,"onPostDeactivate"),E=l(u,"checkCanReturnFocus"),N=l(u,"returnFocus","returnFocusOnDeactivate");g==null||g();var F=function(){ct(function(){N&&y(x(i.nodeFocusedBeforeActivation)),_==null||_()})};return N&&E?(E(x(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(d){if(i.paused||!i.active)return this;var u=l(d,"onPause"),g=l(d,"onPostPause");return i.paused=!0,u==null||u(),ge(),J(),g==null||g(),this},unpause:function(d){if(!i.paused||!i.active)return this;var u=l(d,"onUnpause"),g=l(d,"onPostUnpause");return i.paused=!1,u==null||u(),p(),$(),J(),g==null||g(),this},updateContainerElements:function(d){var u=[].concat(d).filter(Boolean);return i.containers=u.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),J(),this}},o.updateContainerElements(e),o};function Os(a,e={}){let t;const{immediate:s,...n}=e,r=ne(!1),i=ne(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)},v=ve(()=>{const p=Xe(a);return(Array.isArray(p)?p:[p]).map(b=>{const y=Xe(b);return typeof y=="string"?y:Rt(y)}).filter(Ct)});return Ve(v,p=>{p.length&&(t=Fs(p,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Mt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class le{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{le.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new le(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,v=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let Rs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new le(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return le.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=v+p,e.nodes.forEach((b,y)=>{y>=o&&(e.nodes[y].start>0&&y!==o&&(e.nodes[y].start-=h),e.nodes[y].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vs(l[i],v),(v,p)=>{e.lastIndex=p,n(v)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,v),p=>{v++,s++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=le.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Cs(a){const e=new Rs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Ie(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{c(s.next(h))}catch(v){i(v)}}function l(h){try{c(s.throw(h))}catch(v){i(v)}}function c(h){h.done?r(h.value):n(h.value).then(o,l)}c((s=s.apply(a,[])).next())})}const Ms="ENTRIES",xt="KEYS",St="VALUES",z="";class Le{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=oe(this._path);if(oe(t)===z)return{done:!1,value:this.result()};const s=e.get(oe(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=oe(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>oe(e)).filter(e=>e!==z).join("")}value(){return oe(this._path).node.get(z)}result(){switch(this._type){case St:return this.value();case xt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const oe=a=>a[a.length-1],As=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===z){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let v=0;vt)continue e}_t(a.get(c),e,t,s,n,h,i,o+c)}};class Z{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Re(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Je(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new Z(o,e)}}return new Z(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ls(this._tree,e)}entries(){return new Le(this,Ms)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return As(this._tree,e,t)}get(e){const t=Be(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=Be(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Le(this,xt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,De(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Le(this,St)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Z;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return Z.from(Object.entries(e))}}const Re=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Re(a.get(s),e.slice(s.length),t);return t.push([a,e]),Re(void 0,"",t)},Be=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return Be(a.get(t),e.slice(t.length))},De=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Re(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;Tt(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Je(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&Tt(a.slice(0,-1),s,n)}},Tt=(a,e,t)=>{if(a.length===0)return;const[s,n]=Je(a);s.set(n+e,t),s.delete(n)},Je=a=>a[a.length-1],Ue="or",It="and",Ds="and_not";class ce{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?je:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Pe),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},$s),e.autoSuggestOptions||{})}),this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ke,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const l=this.addDocumentId(o);this.saveStoredFields(l,e);for(const c of r){const h=t(e,c);if(h==null)continue;const v=s(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.addFieldLength(l,p,this._documentCount-1,b);for(const y of v){const x=n(y,c);if(Array.isArray(x))for(const w of x)this.addTerm(p,l,w);else x&&this.addTerm(p,l,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const l=this._idToShortId.get(o);if(l==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const c of r){const h=n(e,c);if(h==null)continue;const v=t(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.removeFieldLength(l,p,this._documentCount,b);for(const y of v){const x=s(y,c);if(Array.isArray(x))for(const w of x)this.removeTerm(p,l,w);else x&&this.removeTerm(p,l,x)}}this._storedFields.delete(l),this._documentIds.delete(l),this._idToShortId.delete(o),this._fieldLength.delete(l),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ke,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Ie(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||We.batchSize,r=e.batchWait||We.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[v]of h)this._documentIds.has(v)||(h.size<=1?l.delete(c):h.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(c=>setTimeout(c,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||je.minDirtCount,s=s||je.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:l}]of s){const c=o.length||1,h={id:this._documentIds.get(r),score:i*c,terms:Object.keys(l),queryTerms:o,match:l};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===ce.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Ie(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(Pe.hasOwnProperty(e))return ze(Pe,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=Ee(n),l._fieldLength=Ee(r),l._storedFields=Ee(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const v=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),v.set(parseInt(p,10),Ee(b))}l._index.set(c,v)}return l}static loadJSAsync(e,t){return Ie(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=yield Te(n),l._fieldLength=yield Te(r),l._storedFields=yield Te(i);for(const[h,v]of l._documentIds)l._idToShortId.set(v,h);let c=0;for(const[h,v]of s){const p=new Map;for(const b of Object.keys(v)){let y=v[b];o===1&&(y=y.ds),p.set(parseInt(b,10),yield Te(y))}++c%1e3===0&&(yield kt(0)),l._index.set(h,p)}return l})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new ce(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new Z,c}executeQuery(e,t={}){if(e===ce.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),b=e.queries.map(y=>this.executeQuery(y,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Vs(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((x,w)=>Object.assign(Object.assign({},x),{[w]:ze(s.boost,w)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}=Object.assign(Object.assign({},dt.weights),i),v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,n,r,l);let b,y;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const x=e.fuzzy===!0?.2:e.fuzzy,w=x<1?Math.min(o,Math.round(e.term.length*x)):x;w&&(y=this._index.fuzzyGet(e.term,w))}if(b)for(const[x,w]of b){const O=x.length-e.term.length;if(!O)continue;y==null||y.delete(x);const R=h*x.length/(x.length+.3*O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}if(y)for(const x of y.keys()){const[w,O]=y.get(x);if(!O)continue;const R=c*x.length/(x.length+O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Ue){if(e.length===0)return new Map;const s=t.toLowerCase(),n=zs[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const v=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let y=b.size;const x=this._avgFieldLength[p];for(const w of b.keys()){if(!this._documentIds.has(w)){this.removeTerm(p,w,t),y-=1;continue}const O=o?o(this._documentIds.get(w),t,this._storedFields.get(w)):1;if(!O)continue;const R=b.get(w),K=this._fieldLength.get(w)[p],G=js(R,y,this._documentCount,K,x,l),W=s*n*v*O*G,V=c.get(w);if(V){V.score+=W,Bs(V.terms,e);const $=ze(V.match,t);$?$.push(h):V.match[t]=[h]}else c.set(w,{score:W,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,zs={[Ue]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[It]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Ds]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ps={k:1.2,b:.7,d:.5},js=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Vs=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},Pe={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ws),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Ue,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ps},$s={combineWith:It,prefix:(a,e,t)=>e===t.length-1},We={batchSize:1e3,batchWait:10},Ke={minDirtFactor:.1,minDirtCount:20},je=Object.assign(Object.assign({},We),Ke),Bs=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,Ee=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Te=a=>Ie(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield kt(0));return e}),kt=a=>new Promise(e=>setTimeout(e,a)),Ws=/[\n\r\p{Z}\p{P}]+/u;class Ks{constructor(e=10){Ce(this,"max");Ce(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const Js=["aria-owns"],Us={class:"shell"},qs=["title"],Gs={class:"search-actions before"},Hs=["title"],Qs=["aria-activedescendant","aria-controls","placeholder"],Ys={class:"search-actions"},Zs=["title"],Xs=["disabled","title"],en=["id","role","aria-labelledby"],tn=["id","aria-selected"],sn=["href","aria-label","onMouseenter","onFocusin"],nn={class:"titles"},rn=["innerHTML"],an={class:"title main"},on=["innerHTML"],ln={key:0,class:"excerpt-wrapper"},cn={key:0,class:"excerpt",inert:""},un=["innerHTML"],dn={key:0,class:"no-results"},hn={class:"search-keyboard-shortcuts"},fn=["aria-label"],pn=["aria-label"],vn=["aria-label"],mn=["aria-label"],gn=At({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var N,F;const t=e,s=we(),n=we(),r=we(ns),i=ts(),{activate:o}=Os(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=et(async()=>{var m,f,I,A,C,M,j,T,P;return it(ce.loadJSON((I=await((f=(m=r.value)[l.value])==null?void 0:f.call(m)))==null?void 0:I.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((A=c.value.search)==null?void 0:A.provider)==="local"&&((M=(C=c.value.search.options)==null?void 0:C.miniSearch)==null?void 0:M.searchOptions)},...((j=c.value.search)==null?void 0:j.provider)==="local"&&((P=(T=c.value.search.options)==null?void 0:T.miniSearch)==null?void 0:P.options)}))}),p=ve(()=>{var m,f;return((m=c.value.search)==null?void 0:m.provider)==="local"&&((f=c.value.search.options)==null?void 0:f.disableQueryPersistence)===!0}).value?ne(""):Lt("vitepress:local-search-filter",""),b=Dt("vitepress:local-search-detailed-list",((N=c.value.search)==null?void 0:N.provider)==="local"&&((F=c.value.search.options)==null?void 0:F.detailedView)===!0),y=ve(()=>{var m,f,I;return((m=c.value.search)==null?void 0:m.provider)==="local"&&(((f=c.value.search.options)==null?void 0:f.disableDetailedView)===!0||((I=c.value.search.options)==null?void 0:I.detailedView)===!1)}),x=ve(()=>{var f,I,A,C,M,j,T;const m=((f=c.value.search)==null?void 0:f.options)??c.value.algolia;return((M=(C=(A=(I=m==null?void 0:m.locales)==null?void 0:I[l.value])==null?void 0:A.translations)==null?void 0:C.button)==null?void 0:M.buttonText)||((T=(j=m==null?void 0:m.translations)==null?void 0:j.button)==null?void 0:T.buttonText)||"Search"});zt(()=>{y.value&&(b.value=!1)});const w=we([]),O=ne(!1);Ve(p,()=>{O.value=!1});const R=et(async()=>{if(n.value)return it(new Cs(n.value))},null),K=new Ks(16);Pt(()=>[h.value,p.value,b.value],async([m,f,I],A,C)=>{var X,be,qe,Ge;(A==null?void 0:A[0])!==m&&K.clear();let M=!1;if(C(()=>{M=!0}),!m)return;w.value=m.search(f).slice(0,16),O.value=!0;const j=I?await Promise.all(w.value.map(B=>G(B.id))):[];if(M)return;for(const{id:B,mod:ee}of j){const te=B.slice(0,B.indexOf("#"));let Q=K.get(te);if(Q)continue;Q=new Map,K.set(te,Q);const U=ee.default??ee;if(U!=null&&U.render||U!=null&&U.setup){const se=Qt(U);se.config.warnHandler=()=>{},se.provide(Yt,i),Object.defineProperties(se.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");se.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ue=>{var Ze;const ye=(Ze=ue.querySelector("a"))==null?void 0:Ze.getAttribute("href"),Qe=(ye==null?void 0:ye.startsWith("#"))&&ye.slice(1);if(!Qe)return;let Ye="";for(;(ue=ue.nextElementSibling)&&!/^h[1-6]$/i.test(ue.tagName);)Ye+=ue.outerHTML;Q.set(Qe,Ye)}),se.unmount()}if(M)return}const T=new Set;if(w.value=w.value.map(B=>{const[ee,te]=B.id.split("#"),Q=K.get(ee),U=(Q==null?void 0:Q.get(te))??"";for(const se in B.match)T.add(se);return{...B,text:U}}),await de(),M)return;await new Promise(B=>{var ee;(ee=R.value)==null||ee.unmark({done:()=>{var te;(te=R.value)==null||te.markRegExp(E(T),{done:B})}})});const P=((X=s.value)==null?void 0:X.querySelectorAll(".result .excerpt"))??[];for(const B of P)(be=B.querySelector('mark[data-markjs="true"]'))==null||be.scrollIntoView({block:"center"});(Ge=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ge.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function G(m){const f=Zt(m.slice(0,m.indexOf("#")));try{if(!f)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(f)}}catch(I){return console.error(I),{id:m,mod:{}}}}const W=ne(),V=ve(()=>{var m;return((m=p.value)==null?void 0:m.length)<=0});function $(m=!0){var f,I;(f=W.value)==null||f.focus(),m&&((I=W.value)==null||I.select())}Me(()=>{$()});function ge(m){m.pointerType==="mouse"&&$()}const L=ne(-1),H=ne(!1);Ve(w,m=>{L.value=m.length?0:-1,J()});function J(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}xe("ArrowUp",m=>{m.preventDefault(),L.value--,L.value<0&&(L.value=w.value.length-1),H.value=!0,J()}),xe("ArrowDown",m=>{m.preventDefault(),L.value++,L.value>=w.value.length&&(L.value=0),H.value=!0,J()});const k=jt();xe("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const f=w.value[L.value];if(m.target instanceof HTMLInputElement&&!f){m.preventDefault();return}f&&(k.go(f.id),t("close"))}),xe("Escape",()=>{t("close")});const u=ss({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Me(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const g=$t(Bt?document.body:null);Me(()=>{de(()=>{g.value=!0,de().then(()=>o())})}),Wt(()=>{g.value=!1});function _(){p.value="",de().then(()=>$(!1))}function E(m){return new RegExp([...m].sort((f,I)=>I.length-f.length).map(f=>`(${Xt(f)})`).join("|"),"gi")}return(m,f)=>{var I,A,C,M,j;return q(),Kt(Ht,{to:"body"},[S("div",{ref_key:"el",ref:s,role:"button","aria-owns":(I=w.value)!=null&&I.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[S("div",{class:"backdrop",onClick:f[0]||(f[0]=T=>m.$emit("close"))}),S("div",Us,[S("form",{class:"search-bar",onPointerup:f[4]||(f[4]=T=>ge(T)),onSubmit:f[5]||(f[5]=Jt(()=>{},["prevent"]))},[S("label",{title:x.value,id:"localsearch-label",for:"localsearch-input"},f[8]||(f[8]=[S("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)]),8,qs),S("div",Gs,[S("button",{class:"back-button",title:D(u)("modal.backButtonTitle"),onClick:f[1]||(f[1]=T=>m.$emit("close"))},f[9]||(f[9]=[S("span",{class:"vpi-arrow-left local-search-icon"},null,-1)]),8,Hs)]),Ut(S("input",{ref_key:"searchInput",ref:W,"onUpdate:modelValue":f[2]||(f[2]=T=>Gt(p)?p.value=T:null),"aria-activedescendant":L.value>-1?"localsearch-item-"+L.value:void 0,"aria-autocomplete":"both","aria-controls":(A=w.value)!=null&&A.length?"localsearch-list":void 0,"aria-labelledby":"localsearch-label",autocapitalize:"off",autocomplete:"off",autocorrect:"off",class:"search-input",id:"localsearch-input",enterkeyhint:"go",maxlength:"64",placeholder:x.value,spellcheck:"false",type:"search"},null,8,Qs),[[qt,D(p)]]),S("div",Ys,[y.value?Se("",!0):(q(),Y("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(b)}]),type:"button",title:D(u)("modal.displayDetails"),onClick:f[3]||(f[3]=T=>L.value>-1&&(b.value=!D(b)))},f[10]||(f[10]=[S("span",{class:"vpi-layout-list local-search-icon"},null,-1)]),10,Zs)),S("button",{class:"clear-button",type:"reset",disabled:V.value,title:D(u)("modal.resetButtonTitle"),onClick:_},f[11]||(f[11]=[S("span",{class:"vpi-delete local-search-icon"},null,-1)]),8,Xs)])],32),S("ul",{ref_key:"resultsEl",ref:n,id:(C=w.value)!=null&&C.length?"localsearch-list":void 0,role:(M=w.value)!=null&&M.length?"listbox":void 0,"aria-labelledby":(j=w.value)!=null&&j.length?"localsearch-label":void 0,class:"results",onMousemove:f[7]||(f[7]=T=>H.value=!1)},[(q(!0),Y(nt,null,st(w.value,(T,P)=>(q(),Y("li",{key:T.id,id:"localsearch-item-"+P,"aria-selected":L.value===P?"true":"false",role:"option"},[S("a",{href:T.id,class:tt(["result",{selected:L.value===P}]),"aria-label":[...T.titles,T.title].join(" > "),onMouseenter:X=>!H.value&&(L.value=P),onFocusin:X=>L.value=P,onClick:f[6]||(f[6]=X=>m.$emit("close"))},[S("div",null,[S("div",nn,[f[13]||(f[13]=S("span",{class:"title-icon"},"#",-1)),(q(!0),Y(nt,null,st(T.titles,(X,be)=>(q(),Y("span",{key:be,class:"title"},[S("span",{class:"text",innerHTML:X},null,8,rn),f[12]||(f[12]=S("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),S("span",an,[S("span",{class:"text",innerHTML:T.title},null,8,on)])]),D(b)?(q(),Y("div",ln,[T.text?(q(),Y("div",cn,[S("div",{class:"vp-doc",innerHTML:T.text},null,8,un)])):Se("",!0),f[14]||(f[14]=S("div",{class:"excerpt-gradient-bottom"},null,-1)),f[15]||(f[15]=S("div",{class:"excerpt-gradient-top"},null,-1))])):Se("",!0)])],42,sn)],8,tn))),128)),D(p)&&!w.value.length&&O.value?(q(),Y("li",dn,[he(fe(D(u)("modal.noResultsText"))+' "',1),S("strong",null,fe(D(p)),1),f[16]||(f[16]=he('" '))])):Se("",!0)],40,en),S("div",hn,[S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.navigateUpKeyAriaLabel")},f[17]||(f[17]=[S("span",{class:"vpi-arrow-up navigate-icon"},null,-1)]),8,fn),S("kbd",{"aria-label":D(u)("modal.footer.navigateDownKeyAriaLabel")},f[18]||(f[18]=[S("span",{class:"vpi-arrow-down navigate-icon"},null,-1)]),8,pn),he(" "+fe(D(u)("modal.footer.navigateText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.selectKeyAriaLabel")},f[19]||(f[19]=[S("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)]),8,vn),he(" "+fe(D(u)("modal.footer.selectText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.closeKeyAriaLabel")},"esc",8,mn),he(" "+fe(D(u)("modal.footer.closeText")),1)])])])],8,Js)])}}}),_n=es(gn,[["__scopeId","data-v-0a77d701"]]);export{_n as default}; diff --git a/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js new file mode 100644 index 0000000..f76f216 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js @@ -0,0 +1,7 @@ +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as ne,h as ve,ai as Xe,aj as Rt,ak as Ct,q as Ve,al as Mt,d as At,D as we,am as et,an as Lt,ao as Dt,s as zt,ap as Pt,v as Me,P as de,O as xe,aq as jt,ar as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,as as Ut,at as qt,au as Gt,c as Y,n as tt,e as Se,C as st,F as nt,a as he,t as fe,av as Ht,aw as it,a2 as Qt,a8 as Yt,ae as Zt,ax as Xt,_ as es}from"./framework.BXE2pAXj.js";import{u as ts,c as ss}from"./theme.DtwH47Qa.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.D4cttdlN.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],ke=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(ke));return t&&re.call(e,ke)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=re.call(i,ke);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Fe(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Ne(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,$e.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ke)===!1?!1:$e(t,e)},ws=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,ws)===!1?!1:Oe(t,e)};/*! +* focus-trap 7.6.0 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function xs(a,e,t){return(e=_s(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function at(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(a);e&&(s=s.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),t.push.apply(t,s)}return t}function ot(a){for(var e=1;e0){var s=e[e.length-1];s!==t&&s.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var s=e.indexOf(t);s!==-1&&e.splice(s,1),e.length>0&&e[e.length-1].unpause()}},Es=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Ts=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},me=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Is=function(e){return me(e)&&!e.shiftKey},ks=function(e){return me(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ut=function(e,t){var s=-1;return e.every(function(n,r){return t(n)?(s=r,!1):!0}),s},pe=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n1?g-1:0),E=1;E=0)d=s.activeElement;else{var u=i.tabbableGroups[0],g=u&&u.firstTabbableNode;d=g||h("fallbackFocus")}if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},p=function(){if(i.containerGroups=i.containers.map(function(d){var u=bs(d,r.tabbableOptions),g=ys(d,r.tabbableOptions),_=u.length>0?u[0]:void 0,E=u.length>0?u[u.length-1]:void 0,N=g.find(function(f){return ae(f)}),F=g.slice().reverse().find(function(f){return ae(f)}),m=!!u.find(function(f){return ie(f)>0});return{container:d,tabbableNodes:u,focusableNodes:g,posTabIndexesFound:m,firstTabbableNode:_,lastTabbableNode:E,firstDomTabbableNode:N,lastDomTabbableNode:F,nextTabbableNode:function(I){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,C=u.indexOf(I);return C<0?A?g.slice(g.indexOf(I)+1).find(function(M){return ae(M)}):g.slice(0,g.indexOf(I)).reverse().find(function(M){return ae(M)}):u[C+(A?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var u=d.activeElement;if(u)return u.shadowRoot&&u.shadowRoot.activeElement!==null?b(u.shadowRoot):u},y=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){y(v());return}d.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=d,Es(d)&&d.select()}},x=function(d){var u=h("setReturnFocus",d);return u||(u===!1?!1:d)},w=function(d){var u=d.target,g=d.event,_=d.isBackward,E=_===void 0?!1:_;u=u||_e(g),p();var N=null;if(i.tabbableGroups.length>0){var F=c(u,g),m=F>=0?i.containerGroups[F]:void 0;if(F<0)E?N=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:N=i.tabbableGroups[0].firstTabbableNode;else if(E){var f=ut(i.tabbableGroups,function(T){var P=T.firstTabbableNode;return u===P});if(f<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u,!1))&&(f=F),f>=0){var I=f===0?i.tabbableGroups.length-1:f-1,A=i.tabbableGroups[I];N=ie(u)>=0?A.lastTabbableNode:A.lastDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u,!1))}else{var C=ut(i.tabbableGroups,function(T){var P=T.lastTabbableNode;return u===P});if(C<0&&(m.container===u||Ae(u,r.tabbableOptions)&&!ae(u,r.tabbableOptions)&&!m.nextTabbableNode(u))&&(C=F),C>=0){var M=C===i.tabbableGroups.length-1?0:C+1,j=i.tabbableGroups[M];N=ie(u)>=0?j.firstTabbableNode:j.firstDomTabbableNode}else me(g)||(N=m.nextTabbableNode(u))}}else N=h("fallbackFocus");return N},O=function(d){var u=_e(d);if(!(c(u,d)>=0)){if(pe(r.clickOutsideDeactivates,d)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}pe(r.allowOutsideClick,d)||d.preventDefault()}},R=function(d){var u=_e(d),g=c(u,d)>=0;if(g||u instanceof Document)g&&(i.mostRecentlyFocusedNode=u);else{d.stopImmediatePropagation();var _,E=!0;if(i.mostRecentlyFocusedNode)if(ie(i.mostRecentlyFocusedNode)>0){var N=c(i.mostRecentlyFocusedNode),F=i.containerGroups[N].tabbableNodes;if(F.length>0){var m=F.findIndex(function(f){return f===i.mostRecentlyFocusedNode});m>=0&&(r.isKeyForward(i.recentNavEvent)?m+1=0&&(_=F[m-1],E=!1))}}else i.containerGroups.some(function(f){return f.tabbableNodes.some(function(I){return ie(I)>0})})||(E=!1);else E=!1;E&&(_=w({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),y(_||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},K=function(d){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var g=w({event:d,isBackward:u});g&&(me(d)&&d.preventDefault(),y(g))},G=function(d){(r.isKeyForward(d)||r.isKeyBackward(d))&&K(d,r.isKeyBackward(d))},W=function(d){Ts(d)&&pe(r.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},V=function(d){var u=_e(d);c(u,d)>=0||pe(r.clickOutsideDeactivates,d)||pe(r.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},$=function(){if(i.active)return lt.activateTrap(n,o),i.delayInitialFocusTimer=r.delayInitialFocus?ct(function(){y(v())}):y(v()),s.addEventListener("focusin",R,!0),s.addEventListener("mousedown",O,{capture:!0,passive:!1}),s.addEventListener("touchstart",O,{capture:!0,passive:!1}),s.addEventListener("click",V,{capture:!0,passive:!1}),s.addEventListener("keydown",G,{capture:!0,passive:!1}),s.addEventListener("keydown",W),o},ge=function(){if(i.active)return s.removeEventListener("focusin",R,!0),s.removeEventListener("mousedown",O,!0),s.removeEventListener("touchstart",O,!0),s.removeEventListener("click",V,!0),s.removeEventListener("keydown",G,!0),s.removeEventListener("keydown",W),o},L=function(d){var u=d.some(function(g){var _=Array.from(g.removedNodes);return _.some(function(E){return E===i.mostRecentlyFocusedNode})});u&&y(v())},H=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(L):void 0,J=function(){H&&(H.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){H.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var u=l(d,"onActivate"),g=l(d,"onPostActivate"),_=l(d,"checkCanFocusTrap");_||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=s.activeElement,u==null||u();var E=function(){_&&p(),$(),J(),g==null||g()};return _?(_(i.containers.concat()).then(E,E),this):(E(),this)},deactivate:function(d){if(!i.active)return this;var u=ot({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,ge(),i.active=!1,i.paused=!1,J(),lt.deactivateTrap(n,o);var g=l(u,"onDeactivate"),_=l(u,"onPostDeactivate"),E=l(u,"checkCanReturnFocus"),N=l(u,"returnFocus","returnFocusOnDeactivate");g==null||g();var F=function(){ct(function(){N&&y(x(i.nodeFocusedBeforeActivation)),_==null||_()})};return N&&E?(E(x(i.nodeFocusedBeforeActivation)).then(F,F),this):(F(),this)},pause:function(d){if(i.paused||!i.active)return this;var u=l(d,"onPause"),g=l(d,"onPostPause");return i.paused=!0,u==null||u(),ge(),J(),g==null||g(),this},unpause:function(d){if(!i.paused||!i.active)return this;var u=l(d,"onUnpause"),g=l(d,"onPostUnpause");return i.paused=!1,u==null||u(),p(),$(),J(),g==null||g(),this},updateContainerElements:function(d){var u=[].concat(d).filter(Boolean);return i.containers=u.map(function(g){return typeof g=="string"?s.querySelector(g):g}),i.active&&p(),J(),this}},o.updateContainerElements(e),o};function Os(a,e={}){let t;const{immediate:s,...n}=e,r=ne(!1),i=ne(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)},v=ve(()=>{const p=Xe(a);return(Array.isArray(p)?p:[p]).map(b=>{const y=Xe(b);return typeof y=="string"?y:Rt(y)}).filter(Ct)});return Ve(v,p=>{p.length&&(t=Fs(p,{...n,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),s&&o())},{flush:"post"}),Mt(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:h}}class le{constructor(e,t=!0,s=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=n}static matches(e,t){const s=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let r=!1;return s.every(i=>n.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(s=>{const n=t.filter(r=>r.contains(s)).length>0;t.indexOf(s)===-1&&!n&&t.push(s)}),t}getIframeContents(e,t,s=()=>{}){let n;try{const r=e.contentWindow;if(n=r.document,!r||!n)throw new Error("iframe inaccessible")}catch{s()}n&&t(n)}isIframeBlank(e){const t="about:blank",s=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&s!==t&&s}observeIframeLoad(e,t,s){let n=!1,r=null;const i=()=>{if(!n){n=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,s))}catch{s()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,s){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch{s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,n=>{s++,this.waitForIframes(n.querySelector("html"),()=>{--s||t()})},n=>{n||t()})}forEachIframe(e,t,s,n=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&n(o)};i||l(),r.forEach(c=>{le.matches(c,this.exclude)?l():this.onIframeReady(c,h=>{t(c)&&(o++,s(h)),l()},l)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(e){return new le(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,s){const n=e.compareDocumentPosition(s),r=Node.DOCUMENT_POSITION_PRECEDING;if(n&r)if(t!==null){const i=t.compareDocumentPosition(s),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let s;return t===null?s=e.nextNode():s=e.nextNode()&&e.nextNode(),{prevNode:t,node:s}}checkIframeFilter(e,t,s,n){let r=!1,i=!1;return n.forEach((o,l)=>{o.val===s&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,s)?(r===!1&&!i?n.push({val:s,handled:!0}):r!==!1&&!i&&(n[r].handled=!0),!0):(r===!1&&n.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,n){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,s,n)})})}iterateThroughNodes(e,t,s,n,r){const i=this.createIterator(t,e,n);let o=[],l=[],c,h,v=()=>({prevNode:h,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,h,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),n)}),l.push(c);l.forEach(p=>{s(p)}),this.iframes&&this.handleOpenIframes(o,e,s,n),r()}forEachNode(e,t,s,n=()=>{}){const r=this.getContexts();let i=r.length;i||n(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,s,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(o,l):l()})}}let Rs=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new le(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const s=this.opt.log;this.opt.debug&&typeof s=="object"&&typeof s[t]=="function"&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${s}`),n+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,s,n)=>{let r=n.charAt(s+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",s=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(r=>{s.every(i=>{if(i.indexOf(r)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let s=this.opt.accuracy,n=typeof s=="string"?s:s.value,r=typeof s=="string"?[]:s.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(s=>{this.opt.separateWordSearch?s.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):s.trim()&&t.indexOf(s)===-1&&t.push(s)}),{keywords:t.sort((s,n)=>n.length-s.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((n,r)=>n.start-r.start).forEach(n=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(n,s);o&&(n.start=r,n.length=i-r,t.push(n),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,n,r=!1;return e&&typeof e.start<"u"?(s=parseInt(e.start,10),n=s+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-s>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:n,valid:r}}checkWhitespaceRanges(e,t,s){let n,r=!0,i=s.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,n=l+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||n-l<0||l>i||n>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):s.substring(l,n).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:n,valid:r}}getTextNodes(e){let t="",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{s.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(e){return le.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,s){const n=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(s-t);let o=document.createElement(n);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,s,n,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!n(i.node))return!1;const c=t-i.start,h=(s>i.end?i.end:s)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,h),e.value=v+p,e.nodes.forEach((b,y)=>{y>=o&&(e.nodes[y].start>0&&y!==o&&(e.nodes[y].start-=h),e.nodes[y].end-=h)}),s-=h,r(i.node.previousSibling,i.start),s>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,s,n,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!s(c[i],l))continue;let h=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vs(l[i],v),(v,p)=>{e.lastIndex=p,n(v)})}r()})}wrapRangeFromIndex(e,t,s,n){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:h,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,h,p=>t(p,o,r.value.substring(c,h),l),p=>{s(p,o)})}),n()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let s=0,n="wrapMatches";const r=i=>{s++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,s),r,()=>{s===0&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,n="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let h=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(p,b)=>this.opt.filter(b,c,s,v),p=>{v++,s++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(s):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(s):l(r[0])}markRanges(e,t){this.opt=t;let s=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{s++,this.opt.each(r,i)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,s=>{this.unwrapMatches(s)},s=>{const n=le.matches(s,t),r=this.matchesExclude(s);return!n||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Cs(a){const e=new Rs(a);return this.mark=(t,s)=>(e.mark(t,s),this),this.markRegExp=(t,s)=>(e.markRegExp(t,s),this),this.markRanges=(t,s)=>(e.markRanges(t,s),this),this.unmark=t=>(e.unmark(t),this),this}function Ie(a,e,t,s){function n(r){return r instanceof t?r:new t(function(i){i(r)})}return new(t||(t=Promise))(function(r,i){function o(h){try{c(s.next(h))}catch(v){i(v)}}function l(h){try{c(s.throw(h))}catch(v){i(v)}}function c(h){h.done?r(h.value):n(h.value).then(o,l)}c((s=s.apply(a,[])).next())})}const Ms="ENTRIES",xt="KEYS",St="VALUES",z="";class Le{constructor(e,t){const s=e._tree,n=Array.from(s.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:s,keys:n}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=oe(this._path);if(oe(t)===z)return{done:!1,value:this.result()};const s=e.get(oe(t));return this._path.push({node:s,keys:Array.from(s.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=oe(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>oe(e)).filter(e=>e!==z).join("")}value(){return oe(this._path).node.get(z)}result(){switch(this._type){case St:return this.value();case xt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const oe=a=>a[a.length-1],As=(a,e,t)=>{const s=new Map;if(e===void 0)return s;const n=e.length+1,r=n+t,i=new Uint8Array(r*n).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===z){const h=n[l-1];h<=t&&s.set(o,[a.get(c),h])}else{let h=r;for(let v=0;vt)continue e}_t(a.get(c),e,t,s,n,h,i,o+c)}};class Z{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,s]=Re(this._tree,e.slice(this._prefix.length));if(t===void 0){const[n,r]=Je(s);for(const i of n.keys())if(i!==z&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),n.get(i)),new Z(o,e)}}return new Z(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,Ls(this._tree,e)}entries(){return new Le(this,Ms)}forEach(e){for(const[t,s]of this)e(t,s,this)}fuzzyGet(e,t){return As(this._tree,e,t)}get(e){const t=Be(this._tree,e);return t!==void 0?t.get(z):void 0}has(e){const t=Be(this._tree,e);return t!==void 0&&t.has(z)}keys(){return new Le(this,xt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,De(this._tree,e).set(z,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);return s.set(z,t(s.get(z))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const s=De(this._tree,e);let n=s.get(z);return n===void 0&&s.set(z,n=t()),n}values(){return new Le(this,St)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Z;for(const[s,n]of e)t.set(s,n);return t}static fromObject(e){return Z.from(Object.entries(e))}}const Re=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const s of a.keys())if(s!==z&&e.startsWith(s))return t.push([a,s]),Re(a.get(s),e.slice(s.length),t);return t.push([a,e]),Re(void 0,"",t)},Be=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==z&&e.startsWith(t))return Be(a.get(t),e.slice(t.length))},De=(a,e)=>{const t=e.length;e:for(let s=0;a&&s{const[t,s]=Re(a,e);if(t!==void 0){if(t.delete(z),t.size===0)Et(s);else if(t.size===1){const[n,r]=t.entries().next().value;Tt(s,n,r)}}},Et=a=>{if(a.length===0)return;const[e,t]=Je(a);if(e.delete(t),e.size===0)Et(a.slice(0,-1));else if(e.size===1){const[s,n]=e.entries().next().value;s!==z&&Tt(a.slice(0,-1),s,n)}},Tt=(a,e,t)=>{if(a.length===0)return;const[s,n]=Je(a);s.set(n+e,t),s.delete(n)},Je=a=>a[a.length-1],Ue="or",It="and",Ds="and_not";class ce{constructor(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?je:e.autoVacuum;this._options=Object.assign(Object.assign(Object.assign({},Pe),e),{autoVacuum:t,searchOptions:Object.assign(Object.assign({},dt),e.searchOptions||{}),autoSuggestOptions:Object.assign(Object.assign({},$s),e.autoSuggestOptions||{})}),this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ke,this.addFields(this._options.fields)}add(e){const{extractField:t,tokenize:s,processTerm:n,fields:r,idField:i}=this._options,o=t(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);if(this._idToShortId.has(o))throw new Error(`MiniSearch: duplicate ID ${o}`);const l=this.addDocumentId(o);this.saveStoredFields(l,e);for(const c of r){const h=t(e,c);if(h==null)continue;const v=s(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.addFieldLength(l,p,this._documentCount-1,b);for(const y of v){const x=n(y,c);if(Array.isArray(x))for(const w of x)this.addTerm(p,l,w);else x&&this.addTerm(p,l,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:s=10}=t,n={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,h)=>(o.push(c),(h+1)%s===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),n);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:s,extractField:n,fields:r,idField:i}=this._options,o=n(e,i);if(o==null)throw new Error(`MiniSearch: document does not have ID field "${i}"`);const l=this._idToShortId.get(o);if(l==null)throw new Error(`MiniSearch: cannot remove document with ID ${o}: it is not in the index`);for(const c of r){const h=n(e,c);if(h==null)continue;const v=t(h.toString(),c),p=this._fieldIds[c],b=new Set(v).size;this.removeFieldLength(l,p,this._documentCount,b);for(const y of v){const x=s(y,c);if(Array.isArray(x))for(const w of x)this.removeTerm(p,l,w);else x&&this.removeTerm(p,l,x)}}this._storedFields.delete(l),this._documentIds.delete(l),this._idToShortId.delete(o),this._fieldLength.delete(l),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Z,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((s,n)=>{this.removeFieldLength(t,n,this._documentCount,s)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:s,batchWait:n}=this._options.autoVacuum;this.conditionalVacuum({batchSize:s,batchWait:n},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const s of e)this.discard(s)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:s}=this._options,n=s(e,t);this.discard(n),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const s=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ke,this.performVacuuming(e,s)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}performVacuuming(e,t){return Ie(this,void 0,void 0,function*(){const s=this._dirtCount;if(this.vacuumConditionsMet(t)){const n=e.batchSize||We.batchSize,r=e.batchWait||We.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,h]of l)for(const[v]of h)this._documentIds.has(v)||(h.size<=1?l.delete(c):h.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%n===0&&(yield new Promise(c=>setTimeout(c,r))),i+=1}this._dirtCount-=s}yield null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null})}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:s}=e;return t=t||je.minDirtCount,s=s||je.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=s}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const s=this.executeQuery(e,t),n=[];for(const[r,{score:i,terms:o,match:l}]of s){const c=o.length||1,h={id:this._documentIds.get(r),score:i*c,terms:Object.keys(l),queryTerms:o,match:l};Object.assign(h,this._storedFields.get(r)),(t.filter==null||t.filter(h))&&n.push(h)}return e===ce.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||n.sort(ft),n}autoSuggest(e,t={}){t=Object.assign(Object.assign({},this._options.autoSuggestOptions),t);const s=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=s.get(o);l!=null?(l.score+=r,l.count+=1):s.set(o,{score:r,terms:i,count:1})}const n=[];for(const[r,{score:i,terms:o,count:l}]of s)n.push({suggestion:r,terms:o,score:i/l});return n.sort(ft),n}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static loadJSONAsync(e,t){return Ie(this,void 0,void 0,function*(){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)})}static getDefault(e){if(Pe.hasOwnProperty(e))return ze(Pe,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=Ee(n),l._fieldLength=Ee(r),l._storedFields=Ee(i);for(const[c,h]of l._documentIds)l._idToShortId.set(h,c);for(const[c,h]of s){const v=new Map;for(const p of Object.keys(h)){let b=h[p];o===1&&(b=b.ds),v.set(parseInt(p,10),Ee(b))}l._index.set(c,v)}return l}static loadJSAsync(e,t){return Ie(this,void 0,void 0,function*(){const{index:s,documentIds:n,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=yield Te(n),l._fieldLength=yield Te(r),l._storedFields=yield Te(i);for(const[h,v]of l._documentIds)l._idToShortId.set(v,h);let c=0;for(const[h,v]of s){const p=new Map;for(const b of Object.keys(v)){let y=v[b];o===1&&(y=y.ds),p.set(parseInt(b,10),yield Te(y))}++c%1e3===0&&(yield kt(0)),l._index.set(h,p)}return l})}static instantiateMiniSearch(e,t){const{documentCount:s,nextId:n,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new ce(t);return c._documentCount=s,c._nextId=n,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new Z,c}executeQuery(e,t={}){if(e===ce.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p=Object.assign(Object.assign(Object.assign({},t),e),{queries:void 0}),b=e.queries.map(y=>this.executeQuery(y,p));return this.combineResults(b,p.combineWith)}const{tokenize:s,processTerm:n,searchOptions:r}=this._options,i=Object.assign(Object.assign({tokenize:s,processTerm:n},r),t),{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(Vs(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const s=Object.assign(Object.assign({},this._options.searchOptions),t),n=(s.fields||this._options.fields).reduce((x,w)=>Object.assign(Object.assign({},x),{[w]:ze(s.boost,w)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=s,{fuzzy:c,prefix:h}=Object.assign(Object.assign({},dt.weights),i),v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,n,r,l);let b,y;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const x=e.fuzzy===!0?.2:e.fuzzy,w=x<1?Math.min(o,Math.round(e.term.length*x)):x;w&&(y=this._index.fuzzyGet(e.term,w))}if(b)for(const[x,w]of b){const O=x.length-e.term.length;if(!O)continue;y==null||y.delete(x);const R=h*x.length/(x.length+.3*O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}if(y)for(const x of y.keys()){const[w,O]=y.get(x);if(!O)continue;const R=c*x.length/(x.length+O);this.termResults(e.term,x,R,e.termBoost,w,n,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,s=Object.assign(Object.assign({},this._options.searchOptions),e);for(const[n,r]of this._documentIds){const i=s.boostDocument?s.boostDocument(r,"",this._storedFields.get(n)):1;t.set(n,{score:i,terms:[],match:{}})}return t}combineResults(e,t=Ue){if(e.length===0)return new Map;const s=t.toLowerCase(),n=zs[s];if(!n)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(n)||new Map}toJSON(){const e=[];for(const[t,s]of this._index){const n={};for(const[r,i]of s)n[r]=Object.fromEntries(i);e.push([t,n])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,s,n,r,i,o,l,c=new Map){if(r==null)return c;for(const h of Object.keys(i)){const v=i[h],p=this._fieldIds[h],b=r.get(p);if(b==null)continue;let y=b.size;const x=this._avgFieldLength[p];for(const w of b.keys()){if(!this._documentIds.has(w)){this.removeTerm(p,w,t),y-=1;continue}const O=o?o(this._documentIds.get(w),t,this._storedFields.get(w)):1;if(!O)continue;const R=b.get(w),K=this._fieldLength.get(w)[p],G=js(R,y,this._documentCount,K,x,l),W=s*n*v*O*G,V=c.get(w);if(V){V.score+=W,Bs(V.terms,e);const $=ze(V.match,t);$?$.push(h):V.match[t]=[h]}else c.set(w,{score:W,terms:[e],match:{[t]:[h]}})}}return c}addTerm(e,t,s){const n=this._index.fetch(s,pt);let r=n.get(e);if(r==null)r=new Map,r.set(t,1),n.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,s){if(!this._index.has(s)){this.warnDocumentChanged(t,e,s);return}const n=this._index.fetch(s,pt),r=n.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,s):r.get(t)<=1?r.size<=1?n.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(s).size===0&&this._index.delete(s)}warnDocumentChanged(e,t,s){for(const n of Object.keys(this._fieldIds))if(this._fieldIds[n]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${s}" was not present in field "${n}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,zs={[Ue]:(a,e)=>{for(const t of e.keys()){const s=a.get(t);if(s==null)a.set(t,e.get(t));else{const{score:n,terms:r,match:i}=e.get(t);s.score=s.score+n,s.match=Object.assign(s.match,i),ht(s.terms,r)}}return a},[It]:(a,e)=>{const t=new Map;for(const s of e.keys()){const n=a.get(s);if(n==null)continue;const{score:r,terms:i,match:o}=e.get(s);ht(n.terms,i),t.set(s,{score:n.score+r,terms:n.terms,match:Object.assign(n.match,o)})}return t},[Ds]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},Ps={k:1.2,b:.7,d:.5},js=(a,e,t,s,n,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*s/n)))},Vs=a=>(e,t,s)=>{const n=typeof a.fuzzy=="function"?a.fuzzy(e,t,s):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,s):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,s):1;return{term:e,fuzzy:n,prefix:r,termBoost:i}},Pe={idField:"id",extractField:(a,e)=>a[e],tokenize:a=>a.split(Ws),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof(console==null?void 0:console[a])=="function"&&console[a](e)},autoVacuum:!0},dt={combineWith:Ue,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:Ps},$s={combineWith:It,prefix:(a,e,t)=>e===t.length-1},We={batchSize:1e3,batchWait:10},Ke={minDirtFactor:.1,minDirtCount:20},je=Object.assign(Object.assign({},We),Ke),Bs=(a,e)=>{a.includes(e)||a.push(e)},ht=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},ft=({score:a},{score:e})=>e-a,pt=()=>new Map,Ee=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},Te=a=>Ie(void 0,void 0,void 0,function*(){const e=new Map;let t=0;for(const s of Object.keys(a))e.set(parseInt(s,10),a[s]),++t%1e3===0&&(yield kt(0));return e}),kt=a=>new Promise(e=>setTimeout(e,a)),Ws=/[\n\r\p{Z}\p{P}]+/u;class Ks{constructor(e=10){Ce(this,"max");Ce(this,"cache");this.max=e,this.cache=new Map}get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){this.cache.has(e)?this.cache.delete(e):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(e,t)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}}const Js=["aria-owns"],Us={class:"shell"},qs=["title"],Gs={class:"search-actions before"},Hs=["title"],Qs=["aria-activedescendant","aria-controls","placeholder"],Ys={class:"search-actions"},Zs=["title"],Xs=["disabled","title"],en=["id","role","aria-labelledby"],tn=["id","aria-selected"],sn=["href","aria-label","onMouseenter","onFocusin"],nn={class:"titles"},rn=["innerHTML"],an={class:"title main"},on=["innerHTML"],ln={key:0,class:"excerpt-wrapper"},cn={key:0,class:"excerpt",inert:""},un=["innerHTML"],dn={key:0,class:"no-results"},hn={class:"search-keyboard-shortcuts"},fn=["aria-label"],pn=["aria-label"],vn=["aria-label"],mn=["aria-label"],gn=At({__name:"VPLocalSearchBox",emits:["close"],setup(a,{emit:e}){var N,F;const t=e,s=we(),n=we(),r=we(ns),i=ts(),{activate:o}=Os(s,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:l,theme:c}=i,h=et(async()=>{var m,f,I,A,C,M,j,T,P;return it(ce.loadJSON((I=await((f=(m=r.value)[l.value])==null?void 0:f.call(m)))==null?void 0:I.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((A=c.value.search)==null?void 0:A.provider)==="local"&&((M=(C=c.value.search.options)==null?void 0:C.miniSearch)==null?void 0:M.searchOptions)},...((j=c.value.search)==null?void 0:j.provider)==="local"&&((P=(T=c.value.search.options)==null?void 0:T.miniSearch)==null?void 0:P.options)}))}),p=ve(()=>{var m,f;return((m=c.value.search)==null?void 0:m.provider)==="local"&&((f=c.value.search.options)==null?void 0:f.disableQueryPersistence)===!0}).value?ne(""):Lt("vitepress:local-search-filter",""),b=Dt("vitepress:local-search-detailed-list",((N=c.value.search)==null?void 0:N.provider)==="local"&&((F=c.value.search.options)==null?void 0:F.detailedView)===!0),y=ve(()=>{var m,f,I;return((m=c.value.search)==null?void 0:m.provider)==="local"&&(((f=c.value.search.options)==null?void 0:f.disableDetailedView)===!0||((I=c.value.search.options)==null?void 0:I.detailedView)===!1)}),x=ve(()=>{var f,I,A,C,M,j,T;const m=((f=c.value.search)==null?void 0:f.options)??c.value.algolia;return((M=(C=(A=(I=m==null?void 0:m.locales)==null?void 0:I[l.value])==null?void 0:A.translations)==null?void 0:C.button)==null?void 0:M.buttonText)||((T=(j=m==null?void 0:m.translations)==null?void 0:j.button)==null?void 0:T.buttonText)||"Search"});zt(()=>{y.value&&(b.value=!1)});const w=we([]),O=ne(!1);Ve(p,()=>{O.value=!1});const R=et(async()=>{if(n.value)return it(new Cs(n.value))},null),K=new Ks(16);Pt(()=>[h.value,p.value,b.value],async([m,f,I],A,C)=>{var X,be,qe,Ge;(A==null?void 0:A[0])!==m&&K.clear();let M=!1;if(C(()=>{M=!0}),!m)return;w.value=m.search(f).slice(0,16),O.value=!0;const j=I?await Promise.all(w.value.map(B=>G(B.id))):[];if(M)return;for(const{id:B,mod:ee}of j){const te=B.slice(0,B.indexOf("#"));let Q=K.get(te);if(Q)continue;Q=new Map,K.set(te,Q);const U=ee.default??ee;if(U!=null&&U.render||U!=null&&U.setup){const se=Qt(U);se.config.warnHandler=()=>{},se.provide(Yt,i),Object.defineProperties(se.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const He=document.createElement("div");se.mount(He),He.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(ue=>{var Ze;const ye=(Ze=ue.querySelector("a"))==null?void 0:Ze.getAttribute("href"),Qe=(ye==null?void 0:ye.startsWith("#"))&&ye.slice(1);if(!Qe)return;let Ye="";for(;(ue=ue.nextElementSibling)&&!/^h[1-6]$/i.test(ue.tagName);)Ye+=ue.outerHTML;Q.set(Qe,Ye)}),se.unmount()}if(M)return}const T=new Set;if(w.value=w.value.map(B=>{const[ee,te]=B.id.split("#"),Q=K.get(ee),U=(Q==null?void 0:Q.get(te))??"";for(const se in B.match)T.add(se);return{...B,text:U}}),await de(),M)return;await new Promise(B=>{var ee;(ee=R.value)==null||ee.unmark({done:()=>{var te;(te=R.value)==null||te.markRegExp(E(T),{done:B})}})});const P=((X=s.value)==null?void 0:X.querySelectorAll(".result .excerpt"))??[];for(const B of P)(be=B.querySelector('mark[data-markjs="true"]'))==null||be.scrollIntoView({block:"center"});(Ge=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ge.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function G(m){const f=Zt(m.slice(0,m.indexOf("#")));try{if(!f)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(f)}}catch(I){return console.error(I),{id:m,mod:{}}}}const W=ne(),V=ve(()=>{var m;return((m=p.value)==null?void 0:m.length)<=0});function $(m=!0){var f,I;(f=W.value)==null||f.focus(),m&&((I=W.value)==null||I.select())}Me(()=>{$()});function ge(m){m.pointerType==="mouse"&&$()}const L=ne(-1),H=ne(!1);Ve(w,m=>{L.value=m.length?0:-1,J()});function J(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}xe("ArrowUp",m=>{m.preventDefault(),L.value--,L.value<0&&(L.value=w.value.length-1),H.value=!0,J()}),xe("ArrowDown",m=>{m.preventDefault(),L.value++,L.value>=w.value.length&&(L.value=0),H.value=!0,J()});const k=jt();xe("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const f=w.value[L.value];if(m.target instanceof HTMLInputElement&&!f){m.preventDefault();return}f&&(k.go(f.id),t("close"))}),xe("Escape",()=>{t("close")});const u=ss({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Me(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const g=$t(Bt?document.body:null);Me(()=>{de(()=>{g.value=!0,de().then(()=>o())})}),Wt(()=>{g.value=!1});function _(){p.value="",de().then(()=>$(!1))}function E(m){return new RegExp([...m].sort((f,I)=>I.length-f.length).map(f=>`(${Xt(f)})`).join("|"),"gi")}return(m,f)=>{var I,A,C,M,j;return q(),Kt(Ht,{to:"body"},[S("div",{ref_key:"el",ref:s,role:"button","aria-owns":(I=w.value)!=null&&I.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[S("div",{class:"backdrop",onClick:f[0]||(f[0]=T=>m.$emit("close"))}),S("div",Us,[S("form",{class:"search-bar",onPointerup:f[4]||(f[4]=T=>ge(T)),onSubmit:f[5]||(f[5]=Jt(()=>{},["prevent"]))},[S("label",{title:x.value,id:"localsearch-label",for:"localsearch-input"},f[8]||(f[8]=[S("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)]),8,qs),S("div",Gs,[S("button",{class:"back-button",title:D(u)("modal.backButtonTitle"),onClick:f[1]||(f[1]=T=>m.$emit("close"))},f[9]||(f[9]=[S("span",{class:"vpi-arrow-left local-search-icon"},null,-1)]),8,Hs)]),Ut(S("input",{ref_key:"searchInput",ref:W,"onUpdate:modelValue":f[2]||(f[2]=T=>Gt(p)?p.value=T:null),"aria-activedescendant":L.value>-1?"localsearch-item-"+L.value:void 0,"aria-autocomplete":"both","aria-controls":(A=w.value)!=null&&A.length?"localsearch-list":void 0,"aria-labelledby":"localsearch-label",autocapitalize:"off",autocomplete:"off",autocorrect:"off",class:"search-input",id:"localsearch-input",enterkeyhint:"go",maxlength:"64",placeholder:x.value,spellcheck:"false",type:"search"},null,8,Qs),[[qt,D(p)]]),S("div",Ys,[y.value?Se("",!0):(q(),Y("button",{key:0,class:tt(["toggle-layout-button",{"detailed-list":D(b)}]),type:"button",title:D(u)("modal.displayDetails"),onClick:f[3]||(f[3]=T=>L.value>-1&&(b.value=!D(b)))},f[10]||(f[10]=[S("span",{class:"vpi-layout-list local-search-icon"},null,-1)]),10,Zs)),S("button",{class:"clear-button",type:"reset",disabled:V.value,title:D(u)("modal.resetButtonTitle"),onClick:_},f[11]||(f[11]=[S("span",{class:"vpi-delete local-search-icon"},null,-1)]),8,Xs)])],32),S("ul",{ref_key:"resultsEl",ref:n,id:(C=w.value)!=null&&C.length?"localsearch-list":void 0,role:(M=w.value)!=null&&M.length?"listbox":void 0,"aria-labelledby":(j=w.value)!=null&&j.length?"localsearch-label":void 0,class:"results",onMousemove:f[7]||(f[7]=T=>H.value=!1)},[(q(!0),Y(nt,null,st(w.value,(T,P)=>(q(),Y("li",{key:T.id,id:"localsearch-item-"+P,"aria-selected":L.value===P?"true":"false",role:"option"},[S("a",{href:T.id,class:tt(["result",{selected:L.value===P}]),"aria-label":[...T.titles,T.title].join(" > "),onMouseenter:X=>!H.value&&(L.value=P),onFocusin:X=>L.value=P,onClick:f[6]||(f[6]=X=>m.$emit("close"))},[S("div",null,[S("div",nn,[f[13]||(f[13]=S("span",{class:"title-icon"},"#",-1)),(q(!0),Y(nt,null,st(T.titles,(X,be)=>(q(),Y("span",{key:be,class:"title"},[S("span",{class:"text",innerHTML:X},null,8,rn),f[12]||(f[12]=S("span",{class:"vpi-chevron-right local-search-icon"},null,-1))]))),128)),S("span",an,[S("span",{class:"text",innerHTML:T.title},null,8,on)])]),D(b)?(q(),Y("div",ln,[T.text?(q(),Y("div",cn,[S("div",{class:"vp-doc",innerHTML:T.text},null,8,un)])):Se("",!0),f[14]||(f[14]=S("div",{class:"excerpt-gradient-bottom"},null,-1)),f[15]||(f[15]=S("div",{class:"excerpt-gradient-top"},null,-1))])):Se("",!0)])],42,sn)],8,tn))),128)),D(p)&&!w.value.length&&O.value?(q(),Y("li",dn,[he(fe(D(u)("modal.noResultsText"))+' "',1),S("strong",null,fe(D(p)),1),f[16]||(f[16]=he('" '))])):Se("",!0)],40,en),S("div",hn,[S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.navigateUpKeyAriaLabel")},f[17]||(f[17]=[S("span",{class:"vpi-arrow-up navigate-icon"},null,-1)]),8,fn),S("kbd",{"aria-label":D(u)("modal.footer.navigateDownKeyAriaLabel")},f[18]||(f[18]=[S("span",{class:"vpi-arrow-down navigate-icon"},null,-1)]),8,pn),he(" "+fe(D(u)("modal.footer.navigateText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.selectKeyAriaLabel")},f[19]||(f[19]=[S("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)]),8,vn),he(" "+fe(D(u)("modal.footer.selectText")),1)]),S("span",null,[S("kbd",{"aria-label":D(u)("modal.footer.closeKeyAriaLabel")},"esc",8,mn),he(" "+fe(D(u)("modal.footer.closeText")),1)])])])],8,Js)])}}}),_n=es(gn,[["__scopeId","data-v-0a77d701"]]);export{_n as default}; diff --git a/maisk_fiage/webroot/assets/chunks/framework.BXE2pAXj.js b/maisk_fiage/webroot/assets/chunks/framework.BXE2pAXj.js new file mode 100644 index 0000000..2dc3667 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/framework.BXE2pAXj.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ns(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},Et=[],ke=()=>{},Uo=()=>!1,Zt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fs=e=>e.startsWith("onUpdate:"),ce=Object.assign,Hs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ko=Object.prototype.hasOwnProperty,z=(e,t)=>ko.call(e,t),K=Array.isArray,Tt=e=>In(e)==="[object Map]",si=e=>In(e)==="[object Set]",q=e=>typeof e=="function",re=e=>typeof e=="string",Ye=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",ri=e=>(ne(e)||q(e))&&q(e.then)&&q(e.catch),ii=Object.prototype.toString,In=e=>ii.call(e),Bo=e=>In(e).slice(8,-1),oi=e=>In(e)==="[object Object]",$s=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ct=Ns(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Nn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Wo=/-(\w)/g,Le=Nn(e=>e.replace(Wo,(t,n)=>n?n.toUpperCase():"")),Ko=/\B([A-Z])/g,st=Nn(e=>e.replace(Ko,"-$1").toLowerCase()),Fn=Nn(e=>e.charAt(0).toUpperCase()+e.slice(1)),vn=Nn(e=>e?`on${Fn(e)}`:""),tt=(e,t)=>!Object.is(e,t),bn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},vs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qo=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let ar;const Hn=()=>ar||(ar=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ds(e){if(K(e)){const t={};for(let n=0;n{if(n){const s=n.split(Yo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function js(e){let t="";if(re(e))t=e;else if(K(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Zo=e=>re(e)?e:e==null?"":K(e)||ne(e)&&(e.toString===ii||!q(e.toString))?ai(e)?Zo(e.value):JSON.stringify(e,fi,2):String(e),fi=(e,t)=>ai(t)?fi(e,t.value):Tt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[zn(s,i)+" =>"]=r,n),{})}:si(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>zn(n))}:Ye(t)?zn(t):ne(t)&&!K(t)&&!oi(t)?String(t):t,zn=(e,t="")=>{var n;return Ye(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let _e;class el{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(jt){let t=jt;for(jt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Dt;){let t=Dt;for(Dt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function gi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function mi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),ks(s),nl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function bs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(yi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function yi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt))return;e.globalVersion=Kt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!bs(e)){e.flags&=-3;return}const n=te,s=Ne;te=e,Ne=!0;try{gi(e);const r=e.fn(e._value);(t.version===0||tt(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{te=n,Ne=s,mi(e),e.flags&=-3}}function ks(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)ks(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function nl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const vi=[];function rt(){vi.push(Ne),Ne=!1}function it(){const e=vi.pop();Ne=e===void 0?!0:e}function fr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=te;te=void 0;try{t()}finally{te=n}}}let Kt=0;class sl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $n{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!te||!Ne||te===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==te)n=this.activeLink=new sl(te,this),te.deps?(n.prevDep=te.depsTail,te.depsTail.nextDep=n,te.depsTail=n):te.deps=te.depsTail=n,bi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=te.depsTail,n.nextDep=void 0,te.depsTail.nextDep=n,te.depsTail=n,te.deps===n&&(te.deps=s)}return n}trigger(t){this.version++,Kt++,this.notify(t)}notify(t){Vs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Us()}}}function bi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)bi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Tn=new WeakMap,dt=Symbol(""),_s=Symbol(""),qt=Symbol("");function me(e,t,n){if(Ne&&te){let s=Tn.get(e);s||Tn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new $n),r.map=s,r.key=n),r.track()}}function qe(e,t,n,s,r,i){const o=Tn.get(e);if(!o){Kt++;return}const l=c=>{c&&c.trigger()};if(Vs(),t==="clear")o.forEach(l);else{const c=K(e),f=c&&$s(n);if(c&&n==="length"){const a=Number(s);o.forEach((d,y)=>{(y==="length"||y===qt||!Ye(y)&&y>=a)&&l(d)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),f&&l(o.get(qt)),t){case"add":c?f&&l(o.get("length")):(l(o.get(dt)),Tt(e)&&l(o.get(_s)));break;case"delete":c||(l(o.get(dt)),Tt(e)&&l(o.get(_s)));break;case"set":Tt(e)&&l(o.get(dt));break}}Us()}function rl(e,t){const n=Tn.get(e);return n&&n.get(t)}function bt(e){const t=J(e);return t===e?t:(me(t,"iterate",qt),Pe(e)?t:t.map(ye))}function Dn(e){return me(e=J(e),"iterate",qt),e}const il={__proto__:null,[Symbol.iterator](){return Zn(this,Symbol.iterator,ye)},concat(...e){return bt(this).concat(...e.map(t=>K(t)?bt(t):t))},entries(){return Zn(this,"entries",e=>(e[1]=ye(e[1]),e))},every(e,t){return We(this,"every",e,t,void 0,arguments)},filter(e,t){return We(this,"filter",e,t,n=>n.map(ye),arguments)},find(e,t){return We(this,"find",e,t,ye,arguments)},findIndex(e,t){return We(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return We(this,"findLast",e,t,ye,arguments)},findLastIndex(e,t){return We(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return We(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return bt(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return We(this,"map",e,t,void 0,arguments)},pop(){return Ft(this,"pop")},push(...e){return Ft(this,"push",e)},reduce(e,...t){return ur(this,"reduce",e,t)},reduceRight(e,...t){return ur(this,"reduceRight",e,t)},shift(){return Ft(this,"shift")},some(e,t){return We(this,"some",e,t,void 0,arguments)},splice(...e){return Ft(this,"splice",e)},toReversed(){return bt(this).toReversed()},toSorted(e){return bt(this).toSorted(e)},toSpliced(...e){return bt(this).toSpliced(...e)},unshift(...e){return Ft(this,"unshift",e)},values(){return Zn(this,"values",ye)}};function Zn(e,t,n){const s=Dn(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const ol=Array.prototype;function We(e,t,n,s,r,i){const o=Dn(e),l=o!==e&&!Pe(e),c=o[t];if(c!==ol[t]){const d=c.apply(e,i);return l?ye(d):d}let f=n;o!==e&&(l?f=function(d,y){return n.call(this,ye(d),y,e)}:n.length>2&&(f=function(d,y){return n.call(this,d,y,e)}));const a=c.call(o,f,s);return l&&r?r(a):a}function ur(e,t,n,s){const r=Dn(e);let i=n;return r!==e&&(Pe(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,ye(l),c,e)}),r[t](i,...s)}function es(e,t,n){const s=J(e);me(s,"iterate",qt);const r=s[t](...n);return(r===-1||r===!1)&&Ks(n[0])?(n[0]=J(n[0]),s[t](...n)):r}function Ft(e,t,n=[]){rt(),Vs();const s=J(e)[t].apply(e,n);return Us(),it(),s}const ll=Ns("__proto__,__v_isRef,__isVue"),_i=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ye));function cl(e){Ye(e)||(e=String(e));const t=J(this);return me(t,"has",e),t.hasOwnProperty(e)}class wi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?vl:Ti:i?Ei:xi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=K(t);if(!r){let c;if(o&&(c=il[n]))return c;if(n==="hasOwnProperty")return cl}const l=Reflect.get(t,n,fe(t)?t:s);return(Ye(n)?_i.has(n):ll(n))||(r||me(t,"get",n),i)?l:fe(l)?o&&$s(n)?l:l.value:ne(l)?r?Vn(l):jn(l):l}}class Si extends wi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=yt(i);if(!Pe(s)&&!yt(s)&&(i=J(i),s=J(s)),!K(t)&&fe(i)&&!fe(s))return c?!1:(i.value=s,!0)}const o=K(t)&&$s(n)?Number(n)e,ln=e=>Reflect.getPrototypeOf(e);function hl(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=Tt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),a=n?ws:t?Ss:ye;return!t&&me(i,"iterate",c?_s:dt),{next(){const{value:d,done:y}=f.next();return y?{value:d,done:y}:{value:l?[a(d[0]),a(d[1])]:a(d),done:y}},[Symbol.iterator](){return this}}}}function cn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function pl(e,t){const n={get(r){const i=this.__v_raw,o=J(i),l=J(r);e||(tt(r,l)&&me(o,"get",r),me(o,"get",l));const{has:c}=ln(o),f=t?ws:e?Ss:ye;if(c.call(o,r))return f(i.get(r));if(c.call(o,l))return f(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&me(J(r),"iterate",dt),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=J(i),l=J(r);return e||(tt(r,l)&&me(o,"has",r),me(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=J(l),f=t?ws:e?Ss:ye;return!e&&me(c,"iterate",dt),l.forEach((a,d)=>r.call(i,f(a),f(d),o))}};return ce(n,e?{add:cn("add"),set:cn("set"),delete:cn("delete"),clear:cn("clear")}:{add(r){!t&&!Pe(r)&&!yt(r)&&(r=J(r));const i=J(this);return ln(i).has.call(i,r)||(i.add(r),qe(i,"add",r,r)),this},set(r,i){!t&&!Pe(i)&&!yt(i)&&(i=J(i));const o=J(this),{has:l,get:c}=ln(o);let f=l.call(o,r);f||(r=J(r),f=l.call(o,r));const a=c.call(o,r);return o.set(r,i),f?tt(i,a)&&qe(o,"set",r,i):qe(o,"add",r,i),this},delete(r){const i=J(this),{has:o,get:l}=ln(i);let c=o.call(i,r);c||(r=J(r),c=o.call(i,r)),l&&l.call(i,r);const f=i.delete(r);return c&&qe(i,"delete",r,void 0),f},clear(){const r=J(this),i=r.size!==0,o=r.clear();return i&&qe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=hl(r,e,t)}),n}function Bs(e,t){const n=pl(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,i)}const gl={get:Bs(!1,!1)},ml={get:Bs(!1,!0)},yl={get:Bs(!0,!1)};const xi=new WeakMap,Ei=new WeakMap,Ti=new WeakMap,vl=new WeakMap;function bl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _l(e){return e.__v_skip||!Object.isExtensible(e)?0:bl(Bo(e))}function jn(e){return yt(e)?e:Ws(e,!1,fl,gl,xi)}function wl(e){return Ws(e,!1,dl,ml,Ei)}function Vn(e){return Ws(e,!0,ul,yl,Ti)}function Ws(e,t,n,s,r){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=_l(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ht(e){return yt(e)?ht(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function Ks(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function _n(e){return!z(e,"__v_skip")&&Object.isExtensible(e)&&li(e,"__v_skip",!0),e}const ye=e=>ne(e)?jn(e):e,Ss=e=>ne(e)?Vn(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function oe(e){return Ci(e,!1)}function qs(e){return Ci(e,!0)}function Ci(e,t){return fe(e)?e:new Sl(e,t)}class Sl{constructor(t,n){this.dep=new $n,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:J(t),this._value=n?t:ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||yt(t);t=s?t:J(t),tt(t,n)&&(this._rawValue=t,this._value=s?t:ye(t),this.dep.trigger())}}function Ai(e){return fe(e)?e.value:e}const xl={get:(e,t,n)=>t==="__v_raw"?e:Ai(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ri(e){return ht(e)?e:new Proxy(e,xl)}class El{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new $n,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Tl(e){return new El(e)}class Cl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return rl(J(this._object),this._key)}}class Al{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Rl(e,t,n){return fe(e)?e:q(e)?new Al(e):ne(e)&&arguments.length>1?Ol(e,t,n):oe(e)}function Ol(e,t,n){const s=e[t];return fe(s)?s:new Cl(e,t,n)}class Ml{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new $n(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&te!==this)return pi(this,!0),!0}get value(){const t=this.dep.track();return yi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Pl(e,t,n=!1){let s,r;return q(e)?s=e:(s=e.get,r=e.set),new Ml(s,r,n)}const an={},Cn=new WeakMap;let ft;function Ll(e,t=!1,n=ft){if(n){let s=Cn.get(n);s||Cn.set(n,s=[]),s.push(e)}}function Il(e,t,n=Z){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,f=g=>r?g:Pe(g)||r===!1||r===0?Ge(g,1):Ge(g);let a,d,y,v,S=!1,b=!1;if(fe(e)?(d=()=>e.value,S=Pe(e)):ht(e)?(d=()=>f(e),S=!0):K(e)?(b=!0,S=e.some(g=>ht(g)||Pe(g)),d=()=>e.map(g=>{if(fe(g))return g.value;if(ht(g))return f(g);if(q(g))return c?c(g,2):g()})):q(e)?t?d=c?()=>c(e,2):e:d=()=>{if(y){rt();try{y()}finally{it()}}const g=ft;ft=a;try{return c?c(e,3,[v]):e(v)}finally{ft=g}}:d=ke,t&&r){const g=d,M=r===!0?1/0:r;d=()=>Ge(g(),M)}const B=ui(),N=()=>{a.stop(),B&&Hs(B.effects,a)};if(i&&t){const g=t;t=(...M)=>{g(...M),N()}}let j=b?new Array(e.length).fill(an):an;const p=g=>{if(!(!(a.flags&1)||!a.dirty&&!g))if(t){const M=a.run();if(r||S||(b?M.some((F,$)=>tt(F,j[$])):tt(M,j))){y&&y();const F=ft;ft=a;try{const $=[M,j===an?void 0:b&&j[0]===an?[]:j,v];c?c(t,3,$):t(...$),j=M}finally{ft=F}}}else a.run()};return l&&l(p),a=new di(d),a.scheduler=o?()=>o(p,!1):p,v=g=>Ll(g,!1,a),y=a.onStop=()=>{const g=Cn.get(a);if(g){if(c)c(g,4);else for(const M of g)M();Cn.delete(a)}},t?s?p(!0):j=a.run():o?o(p.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function Ge(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,fe(e))Ge(e.value,t,n);else if(K(e))for(let s=0;s{Ge(s,t,n)});else if(oi(e)){for(const s in e)Ge(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ge(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function en(e,t,n,s){try{return s?e(...s):e()}catch(r){tn(r,t,n)}}function He(e,t,n,s){if(q(e)){const r=en(e,t,n,s);return r&&ri(r)&&r.catch(i=>{tn(i,t,n)}),r}if(K(e)){const r=[];for(let i=0;i>>1,r=we[s],i=Gt(r);i=Gt(n)?we.push(e):we.splice(Fl(t),0,e),e.flags|=1,Mi()}}function Mi(){An||(An=Oi.then(Pi))}function Hl(e){K(e)?At.push(...e):Qe&&e.id===-1?Qe.splice(wt+1,0,e):e.flags&1||(At.push(e),e.flags|=1),Mi()}function dr(e,t,n=Ve+1){for(;nGt(n)-Gt(s));if(At.length=0,Qe){Qe.push(...t);return}for(Qe=t,wt=0;wte.id==null?e.flags&2?-1:1/0:e.id;function Pi(e){try{for(Ve=0;Ve{s._d&&Cr(-1);const i=On(t);let o;try{o=e(...r)}finally{On(i),s._d&&Cr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function bf(e,t){if(de===null)return e;const n=Gn(de),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Vt=e=>e&&(e.disabled||e.disabled===""),Dl=e=>e&&(e.defer||e.defer===""),hr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,pr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,xs=(e,t)=>{const n=e&&e.to;return re(n)?t?t(n):null:n},jl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,f){const{mc:a,pc:d,pbc:y,o:{insert:v,querySelector:S,createText:b,createComment:B}}=f,N=Vt(t.props);let{shapeFlag:j,children:p,dynamicChildren:g}=t;if(e==null){const M=t.el=b(""),F=t.anchor=b("");v(M,n,s),v(F,n,s);const $=(R,_)=>{j&16&&(r&&r.isCE&&(r.ce._teleportTarget=R),a(p,R,_,r,i,o,l,c))},V=()=>{const R=t.target=xs(t.props,S),_=Fi(R,t,b,v);R&&(o!=="svg"&&hr(R)?o="svg":o!=="mathml"&&pr(R)&&(o="mathml"),N||($(R,_),wn(t,!1)))};N&&($(n,F),wn(t,!0)),Dl(t.props)?xe(V,i):V()}else{t.el=e.el,t.targetStart=e.targetStart;const M=t.anchor=e.anchor,F=t.target=e.target,$=t.targetAnchor=e.targetAnchor,V=Vt(e.props),R=V?n:F,_=V?M:$;if(o==="svg"||hr(F)?o="svg":(o==="mathml"||pr(F))&&(o="mathml"),g?(y(e.dynamicChildren,g,R,r,i,o,l),Qs(e,t,!0)):c||d(e,t,R,_,r,i,o,l,!1),N)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fn(t,n,M,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const I=t.target=xs(t.props,S);I&&fn(t,I,null,f,0)}else V&&fn(t,F,$,f,1);wn(t,N)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:f,targetAnchor:a,target:d,props:y}=e;if(d&&(r(f),r(a)),i&&r(c),o&16){const v=i||!Vt(y);for(let S=0;S{e.isMounted=!0}),ki(()=>{e.isUnmounting=!0}),e}const Re=[Function,Array],Hi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Re,onEnter:Re,onAfterEnter:Re,onEnterCancelled:Re,onBeforeLeave:Re,onLeave:Re,onAfterLeave:Re,onLeaveCancelled:Re,onBeforeAppear:Re,onAppear:Re,onAfterAppear:Re,onAppearCancelled:Re},$i=e=>{const t=e.subTree;return t.component?$i(t.component):t},kl={name:"BaseTransition",props:Hi,setup(e,{slots:t}){const n=qn(),s=Ul();return()=>{const r=t.default&&Vi(t.default(),!0);if(!r||!r.length)return;const i=Di(r),o=J(e),{mode:l}=o;if(s.isLeaving)return ts(i);const c=gr(i);if(!c)return ts(i);let f=Es(c,o,s,n,y=>f=y);c.type!==ve&&Yt(c,f);const a=n.subTree,d=a&&gr(a);if(d&&d.type!==ve&&!ut(c,d)&&$i(n).type!==ve){const y=Es(d,o,s,n);if(Yt(d,y),l==="out-in"&&c.type!==ve)return s.isLeaving=!0,y.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete y.afterLeave},ts(i);l==="in-out"&&c.type!==ve&&(y.delayLeave=(v,S,b)=>{const B=ji(s,d);B[String(d.key)]=d,v[Ze]=()=>{S(),v[Ze]=void 0,delete f.delayedLeave},f.delayedLeave=b})}return i}}};function Di(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ve){t=n;break}}return t}const Bl=kl;function ji(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Es(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:y,onLeave:v,onAfterLeave:S,onLeaveCancelled:b,onBeforeAppear:B,onAppear:N,onAfterAppear:j,onAppearCancelled:p}=t,g=String(e.key),M=ji(n,e),F=(R,_)=>{R&&He(R,s,9,_)},$=(R,_)=>{const I=_[1];F(R,_),K(R)?R.every(E=>E.length<=1)&&I():R.length<=1&&I()},V={mode:o,persisted:l,beforeEnter(R){let _=c;if(!n.isMounted)if(i)_=B||c;else return;R[Ze]&&R[Ze](!0);const I=M[g];I&&ut(e,I)&&I.el[Ze]&&I.el[Ze](),F(_,[R])},enter(R){let _=f,I=a,E=d;if(!n.isMounted)if(i)_=N||f,I=j||a,E=p||d;else return;let W=!1;const se=R[un]=ae=>{W||(W=!0,ae?F(E,[R]):F(I,[R]),V.delayedLeave&&V.delayedLeave(),R[un]=void 0)};_?$(_,[R,se]):se()},leave(R,_){const I=String(e.key);if(R[un]&&R[un](!0),n.isUnmounting)return _();F(y,[R]);let E=!1;const W=R[Ze]=se=>{E||(E=!0,_(),se?F(b,[R]):F(S,[R]),R[Ze]=void 0,M[I]===e&&delete M[I])};M[I]=e,v?$(v,[R,W]):W()},clone(R){const _=Es(R,t,n,s,r);return r&&r(_),_}};return V}function ts(e){if(nn(e))return e=nt(e),e.children=null,e}function gr(e){if(!nn(e))return Ni(e.type)&&e.children?Di(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function Yt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Yt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Vi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iMn(S,t&&(K(t)?t[b]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?Gn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,a=l.refs===Z?l.refs={}:l.refs,d=l.setupState,y=J(d),v=d===Z?()=>!1:S=>z(y,S);if(f!=null&&f!==c&&(re(f)?(a[f]=null,v(f)&&(d[f]=null)):fe(f)&&(f.value=null)),q(c))en(c,l,12,[o,a]);else{const S=re(c),b=fe(c);if(S||b){const B=()=>{if(e.f){const N=S?v(c)?d[c]:a[c]:c.value;r?K(N)&&Hs(N,i):K(N)?N.includes(i)||N.push(i):S?(a[c]=[i],v(c)&&(d[c]=a[c])):(c.value=[i],e.k&&(a[e.k]=c.value))}else S?(a[c]=o,v(c)&&(d[c]=o)):b&&(c.value=o,e.k&&(a[e.k]=o))};o?(B.id=-1,xe(B,n)):B()}}}let mr=!1;const _t=()=>{mr||(console.error("Hydration completed but contains mismatches."),mr=!0)},Wl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Kl=e=>e.namespaceURI.includes("MathML"),dn=e=>{if(e.nodeType===1){if(Wl(e))return"svg";if(Kl(e))return"mathml"}},xt=e=>e.nodeType===8;function ql(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:f}}=e,a=(p,g)=>{if(!g.hasChildNodes()){n(null,p,g),Rn(),g._vnode=p;return}d(g.firstChild,p,null,null,null),Rn(),g._vnode=p},d=(p,g,M,F,$,V=!1)=>{V=V||!!g.dynamicChildren;const R=xt(p)&&p.data==="[",_=()=>b(p,g,M,F,$,R),{type:I,ref:E,shapeFlag:W,patchFlag:se}=g;let ae=p.nodeType;g.el=p,se===-2&&(V=!1,g.dynamicChildren=null);let U=null;switch(I){case gt:ae!==3?g.children===""?(c(g.el=r(""),o(p),p),U=p):U=_():(p.data!==g.children&&(_t(),p.data=g.children),U=i(p));break;case ve:j(p)?(U=i(p),N(g.el=p.content.firstChild,p,M)):ae!==8||R?U=_():U=i(p);break;case kt:if(R&&(p=i(p),ae=p.nodeType),ae===1||ae===3){U=p;const Y=!g.children.length;for(let D=0;D{V=V||!!g.dynamicChildren;const{type:R,props:_,patchFlag:I,shapeFlag:E,dirs:W,transition:se}=g,ae=R==="input"||R==="option";if(ae||I!==-1){W&&Ue(g,null,M,"created");let U=!1;if(j(p)){U=io(null,se)&&M&&M.vnode.props&&M.vnode.props.appear;const D=p.content.firstChild;U&&se.beforeEnter(D),N(D,p,M),g.el=p=D}if(E&16&&!(_&&(_.innerHTML||_.textContent))){let D=v(p.firstChild,g,p,M,F,$,V);for(;D;){hn(p,1)||_t();const he=D;D=D.nextSibling,l(he)}}else if(E&8){let D=g.children;D[0]===` +`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(D=D.slice(1)),p.textContent!==D&&(hn(p,0)||_t(),p.textContent=g.children)}if(_){if(ae||!V||I&48){const D=p.tagName.includes("-");for(const he in _)(ae&&(he.endsWith("value")||he==="indeterminate")||Zt(he)&&!Ct(he)||he[0]==="."||D)&&s(p,he,null,_[he],void 0,M)}else if(_.onClick)s(p,"onClick",null,_.onClick,void 0,M);else if(I&4&&ht(_.style))for(const D in _.style)_.style[D]}let Y;(Y=_&&_.onVnodeBeforeMount)&&Oe(Y,M,g),W&&Ue(g,null,M,"beforeMount"),((Y=_&&_.onVnodeMounted)||W||U)&&fo(()=>{Y&&Oe(Y,M,g),U&&se.enter(p),W&&Ue(g,null,M,"mounted")},F)}return p.nextSibling},v=(p,g,M,F,$,V,R)=>{R=R||!!g.dynamicChildren;const _=g.children,I=_.length;for(let E=0;E{const{slotScopeIds:R}=g;R&&($=$?$.concat(R):R);const _=o(p),I=v(i(p),g,_,M,F,$,V);return I&&xt(I)&&I.data==="]"?i(g.anchor=I):(_t(),c(g.anchor=f("]"),_,I),I)},b=(p,g,M,F,$,V)=>{if(hn(p.parentElement,1)||_t(),g.el=null,V){const I=B(p);for(;;){const E=i(p);if(E&&E!==I)l(E);else break}}const R=i(p),_=o(p);return l(p),n(null,g,_,R,M,F,dn(_),$),R},B=(p,g="[",M="]")=>{let F=0;for(;p;)if(p=i(p),p&&xt(p)&&(p.data===g&&F++,p.data===M)){if(F===0)return i(p);F--}return p},N=(p,g,M)=>{const F=g.parentNode;F&&F.replaceChild(p,g);let $=M;for(;$;)$.vnode.el===g&&($.vnode.el=$.subTree.el=p),$=$.parent},j=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,d]}const yr="data-allow-mismatch",Gl={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function hn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(yr);)e=e.parentElement;const n=e&&e.getAttribute(yr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(Gl[t])}}Hn().requestIdleCallback;Hn().cancelIdleCallback;function Yl(e,t){if(xt(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(xt(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const pt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function wf(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let f=null,a,d=0;const y=()=>(d++,f=null,v()),v=()=>{let S;return f||(S=f=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),c)return new Promise((B,N)=>{c(b,()=>B(y()),()=>N(b),d+1)});throw b}).then(b=>S!==f&&f?f:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),a=b,b)))};return Ys({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(S,b,B){const N=i?()=>{const j=i(B,p=>Yl(S,p));j&&(b.bum||(b.bum=[])).push(j)}:B;a?N():v().then(()=>!b.isUnmounted&&N())},get __asyncResolved(){return a},setup(){const S=ue;if(Xs(S),a)return()=>ns(a,S);const b=p=>{f=null,tn(p,S,13,!s)};if(l&&S.suspense||Mt)return v().then(p=>()=>ns(p,S)).catch(p=>(b(p),()=>s?le(s,{error:p}):null));const B=oe(!1),N=oe(),j=oe(!!r);return r&&setTimeout(()=>{j.value=!1},r),o!=null&&setTimeout(()=>{if(!B.value&&!N.value){const p=new Error(`Async component timed out after ${o}ms.`);b(p),N.value=p}},o),v().then(()=>{B.value=!0,S.parent&&nn(S.parent.vnode)&&S.parent.update()}).catch(p=>{b(p),N.value=p}),()=>{if(B.value&&a)return ns(a,S);if(N.value&&s)return le(s,{error:N.value});if(n&&!j.value)return le(n)}}})}function ns(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=le(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const nn=e=>e.type.__isKeepAlive;function Xl(e,t){Ui(e,"a",t)}function Jl(e,t){Ui(e,"da",t)}function Ui(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)nn(r.parent.vnode)&&zl(s,t,n,r),r=r.parent}}function zl(e,t,n,s){const r=kn(t,e,s,!0);Bn(()=>{Hs(s[t],r)},n)}function kn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=sn(n),c=He(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const Xe=e=>(t,n=ue)=>{(!Mt||e==="sp")&&kn(e,(...s)=>t(...s),n)},Ql=Xe("bm"),Lt=Xe("m"),Zl=Xe("bu"),ec=Xe("u"),ki=Xe("bum"),Bn=Xe("um"),tc=Xe("sp"),nc=Xe("rtg"),sc=Xe("rtc");function rc(e,t=ue){kn("ec",e,t)}const Bi="components";function Sf(e,t){return Ki(Bi,e,!0,t)||e}const Wi=Symbol.for("v-ndc");function xf(e){return re(e)?Ki(Bi,e,!1)||e:e||Wi}function Ki(e,t,n=!0,s=!1){const r=de||ue;if(r){const i=r.type;{const l=Bc(i,!1);if(l&&(l===t||l===Le(t)||l===Fn(Le(t))))return i}const o=vr(r[e]||i[e],t)||vr(r.appContext[e],t);return!o&&s?i:o}}function vr(e,t){return e&&(e[t]||e[Le(t)]||e[Fn(Le(t))])}function Ef(e,t,n,s){let r;const i=n,o=K(e);if(o||re(e)){const l=o&&ht(e);let c=!1;l&&(c=!Pe(e),e=Dn(e)),r=new Array(e.length);for(let f=0,a=e.length;ft(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;cJt(t)?!(t.type===ve||t.type===Se&&!qi(t.children)):!0)?e:null}function Cf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:vn(s)]=e[s];return n}const Ts=e=>e?mo(e)?Gn(e):Ts(e.parent):null,Ut=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ts(e.parent),$root:e=>Ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Js(e),$forceUpdate:e=>e.f||(e.f=()=>{Gs(e.update)}),$nextTick:e=>e.n||(e.n=Un.bind(e.proxy)),$watch:e=>Cc.bind(e)}),ss=(e,t)=>e!==Z&&!e.__isScriptSetup&&z(e,t),ic={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ss(s,t))return o[t]=1,s[t];if(r!==Z&&z(r,t))return o[t]=2,r[t];if((f=e.propsOptions[0])&&z(f,t))return o[t]=3,i[t];if(n!==Z&&z(n,t))return o[t]=4,n[t];Cs&&(o[t]=0)}}const a=Ut[t];let d,y;if(a)return t==="$attrs"&&me(e.attrs,"get",""),a(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==Z&&z(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,z(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ss(r,t)?(r[t]=n,!0):s!==Z&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==Z&&z(e,o)||ss(t,o)||(l=i[0])&&z(l,o)||z(s,o)||z(Ut,o)||z(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Af(){return oc().slots}function oc(){const e=qn();return e.setupContext||(e.setupContext=vo(e))}function br(e){return K(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Cs=!0;function lc(e){const t=Js(e),n=e.proxy,s=e.ctx;Cs=!1,t.beforeCreate&&_r(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:a,beforeMount:d,mounted:y,beforeUpdate:v,updated:S,activated:b,deactivated:B,beforeDestroy:N,beforeUnmount:j,destroyed:p,unmounted:g,render:M,renderTracked:F,renderTriggered:$,errorCaptured:V,serverPrefetch:R,expose:_,inheritAttrs:I,components:E,directives:W,filters:se}=t;if(f&&cc(f,s,null),o)for(const Y in o){const D=o[Y];q(D)&&(s[Y]=D.bind(n))}if(r){const Y=r.call(n,n);ne(Y)&&(e.data=jn(Y))}if(Cs=!0,i)for(const Y in i){const D=i[Y],he=q(D)?D.bind(n,n):q(D.get)?D.get.bind(n,n):ke,rn=!q(D)&&q(D.set)?D.set.bind(n):ke,ot=ie({get:he,set:rn});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>ot.value,set:De=>ot.value=De})}if(l)for(const Y in l)Gi(l[Y],s,n,Y);if(c){const Y=q(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(D=>{pc(D,Y[D])})}a&&_r(a,e,"c");function U(Y,D){K(D)?D.forEach(he=>Y(he.bind(n))):D&&Y(D.bind(n))}if(U(Ql,d),U(Lt,y),U(Zl,v),U(ec,S),U(Xl,b),U(Jl,B),U(rc,V),U(sc,F),U(nc,$),U(ki,j),U(Bn,g),U(tc,R),K(_))if(_.length){const Y=e.exposed||(e.exposed={});_.forEach(D=>{Object.defineProperty(Y,D,{get:()=>n[D],set:he=>n[D]=he})})}else e.exposed||(e.exposed={});M&&e.render===ke&&(e.render=M),I!=null&&(e.inheritAttrs=I),E&&(e.components=E),W&&(e.directives=W),R&&Xs(e)}function cc(e,t,n=ke){K(e)&&(e=As(e));for(const s in e){const r=e[s];let i;ne(r)?"default"in r?i=Ot(r.from||s,r.default,!0):i=Ot(r.from||s):i=Ot(r),fe(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function _r(e,t,n){He(K(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Gi(e,t,n,s){let r=s.includes(".")?lo(n,s):()=>n[s];if(re(e)){const i=t[e];q(i)&&Fe(r,i)}else if(q(e))Fe(r,e.bind(n));else if(ne(e))if(K(e))e.forEach(i=>Gi(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&Fe(r,i,e)}}function Js(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Pn(c,f,o,!0)),Pn(c,t,o)),ne(t)&&i.set(t,c),c}function Pn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Pn(e,i,n,!0),r&&r.forEach(o=>Pn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=ac[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const ac={data:wr,props:Sr,emits:Sr,methods:$t,computed:$t,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:$t,directives:$t,watch:uc,provide:wr,inject:fc};function wr(e,t){return t?e?function(){return ce(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function fc(e,t){return $t(As(e),As(t))}function As(e){if(K(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}const Xi={},Ji=()=>Object.create(Xi),zi=e=>Object.getPrototypeOf(e)===Xi;function gc(e,t,n,s=!1){const r={},i=Ji();e.propsDefaults=Object.create(null),Qi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:wl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function mc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let d=0;d{c=!0;const[y,v]=Zi(d,t,!0);ce(o,y),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&s.set(e,Et),Et;if(K(i))for(let a=0;ae[0]==="_"||e==="$stable",zs=e=>K(e)?e.map(Me):[Me(e)],vc=(e,t,n)=>{if(t._n)return t;const s=$l((...r)=>zs(t(...r)),n);return s._c=!1,s},to=(e,t,n)=>{const s=e._ctx;for(const r in e){if(eo(r))continue;const i=e[r];if(q(i))t[r]=vc(r,i,s);else if(i!=null){const o=zs(i);t[r]=()=>o}}},no=(e,t)=>{const n=zs(t);e.slots.default=()=>n},so=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},bc=(e,t,n)=>{const s=e.slots=Ji();if(e.vnode.shapeFlag&32){const r=t._;r?(so(s,t,n),n&&li(s,"_",r,!0)):to(t,s)}else t&&no(e,t)},_c=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:so(r,t,n):(i=!t.$stable,to(t,r)),o=t}else t&&(no(e,t),o={default:1});if(i)for(const l in r)!eo(l)&&o[l]==null&&delete r[l]},xe=fo;function wc(e){return ro(e)}function Sc(e){return ro(e,ql)}function ro(e,t){const n=Hn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:a,parentNode:d,nextSibling:y,setScopeId:v=ke,insertStaticContent:S}=e,b=(u,h,m,T=null,w=null,x=null,P=void 0,O=null,A=!!h.dynamicChildren)=>{if(u===h)return;u&&!ut(u,h)&&(T=on(u),De(u,w,x,!0),u=null),h.patchFlag===-2&&(A=!1,h.dynamicChildren=null);const{type:C,ref:k,shapeFlag:L}=h;switch(C){case gt:B(u,h,m,T);break;case ve:N(u,h,m,T);break;case kt:u==null&&j(h,m,T,P);break;case Se:E(u,h,m,T,w,x,P,O,A);break;default:L&1?M(u,h,m,T,w,x,P,O,A):L&6?W(u,h,m,T,w,x,P,O,A):(L&64||L&128)&&C.process(u,h,m,T,w,x,P,O,A,vt)}k!=null&&w&&Mn(k,u&&u.ref,x,h||u,!h)},B=(u,h,m,T)=>{if(u==null)s(h.el=l(h.children),m,T);else{const w=h.el=u.el;h.children!==u.children&&f(w,h.children)}},N=(u,h,m,T)=>{u==null?s(h.el=c(h.children||""),m,T):h.el=u.el},j=(u,h,m,T)=>{[u.el,u.anchor]=S(u.children,h,m,T,u.el,u.anchor)},p=({el:u,anchor:h},m,T)=>{let w;for(;u&&u!==h;)w=y(u),s(u,m,T),u=w;s(h,m,T)},g=({el:u,anchor:h})=>{let m;for(;u&&u!==h;)m=y(u),r(u),u=m;r(h)},M=(u,h,m,T,w,x,P,O,A)=>{h.type==="svg"?P="svg":h.type==="math"&&(P="mathml"),u==null?F(h,m,T,w,x,P,O,A):R(u,h,w,x,P,O,A)},F=(u,h,m,T,w,x,P,O)=>{let A,C;const{props:k,shapeFlag:L,transition:H,dirs:G}=u;if(A=u.el=o(u.type,x,k&&k.is,k),L&8?a(A,u.children):L&16&&V(u.children,A,null,T,w,rs(u,x),P,O),G&&Ue(u,null,T,"created"),$(A,u,u.scopeId,P,T),k){for(const ee in k)ee!=="value"&&!Ct(ee)&&i(A,ee,null,k[ee],x,T);"value"in k&&i(A,"value",null,k.value,x),(C=k.onVnodeBeforeMount)&&Oe(C,T,u)}G&&Ue(u,null,T,"beforeMount");const X=io(w,H);X&&H.beforeEnter(A),s(A,h,m),((C=k&&k.onVnodeMounted)||X||G)&&xe(()=>{C&&Oe(C,T,u),X&&H.enter(A),G&&Ue(u,null,T,"mounted")},w)},$=(u,h,m,T,w)=>{if(m&&v(u,m),T)for(let x=0;x{for(let C=A;C{const O=h.el=u.el;let{patchFlag:A,dynamicChildren:C,dirs:k}=h;A|=u.patchFlag&16;const L=u.props||Z,H=h.props||Z;let G;if(m&<(m,!1),(G=H.onVnodeBeforeUpdate)&&Oe(G,m,h,u),k&&Ue(h,u,m,"beforeUpdate"),m&<(m,!0),(L.innerHTML&&H.innerHTML==null||L.textContent&&H.textContent==null)&&a(O,""),C?_(u.dynamicChildren,C,O,m,T,rs(h,w),x):P||D(u,h,O,null,m,T,rs(h,w),x,!1),A>0){if(A&16)I(O,L,H,m,w);else if(A&2&&L.class!==H.class&&i(O,"class",null,H.class,w),A&4&&i(O,"style",L.style,H.style,w),A&8){const X=h.dynamicProps;for(let ee=0;ee{G&&Oe(G,m,h,u),k&&Ue(h,u,m,"updated")},T)},_=(u,h,m,T,w,x,P)=>{for(let O=0;O{if(h!==m){if(h!==Z)for(const x in h)!Ct(x)&&!(x in m)&&i(u,x,h[x],null,w,T);for(const x in m){if(Ct(x))continue;const P=m[x],O=h[x];P!==O&&x!=="value"&&i(u,x,O,P,w,T)}"value"in m&&i(u,"value",h.value,m.value,w)}},E=(u,h,m,T,w,x,P,O,A)=>{const C=h.el=u?u.el:l(""),k=h.anchor=u?u.anchor:l("");let{patchFlag:L,dynamicChildren:H,slotScopeIds:G}=h;G&&(O=O?O.concat(G):G),u==null?(s(C,m,T),s(k,m,T),V(h.children||[],m,k,w,x,P,O,A)):L>0&&L&64&&H&&u.dynamicChildren?(_(u.dynamicChildren,H,m,w,x,P,O),(h.key!=null||w&&h===w.subTree)&&Qs(u,h,!0)):D(u,h,m,k,w,x,P,O,A)},W=(u,h,m,T,w,x,P,O,A)=>{h.slotScopeIds=O,u==null?h.shapeFlag&512?w.ctx.activate(h,m,T,P,A):se(h,m,T,w,x,P,A):ae(u,h,A)},se=(u,h,m,T,w,x,P)=>{const O=u.component=jc(u,T,w);if(nn(u)&&(O.ctx.renderer=vt),Vc(O,!1,P),O.asyncDep){if(w&&w.registerDep(O,U,P),!u.el){const A=O.subTree=le(ve);N(null,A,h,m)}}else U(O,u,h,m,w,x,P)},ae=(u,h,m)=>{const T=h.component=u.component;if(Pc(u,h,m))if(T.asyncDep&&!T.asyncResolved){Y(T,h,m);return}else T.next=h,T.update();else h.el=u.el,T.vnode=h},U=(u,h,m,T,w,x,P)=>{const O=()=>{if(u.isMounted){let{next:L,bu:H,u:G,parent:X,vnode:ee}=u;{const Te=oo(u);if(Te){L&&(L.el=ee.el,Y(u,L,P)),Te.asyncDep.then(()=>{u.isUnmounted||O()});return}}let Q=L,Ee;lt(u,!1),L?(L.el=ee.el,Y(u,L,P)):L=ee,H&&bn(H),(Ee=L.props&&L.props.onVnodeBeforeUpdate)&&Oe(Ee,X,L,ee),lt(u,!0);const pe=is(u),Ie=u.subTree;u.subTree=pe,b(Ie,pe,d(Ie.el),on(Ie),u,w,x),L.el=pe.el,Q===null&&Lc(u,pe.el),G&&xe(G,w),(Ee=L.props&&L.props.onVnodeUpdated)&&xe(()=>Oe(Ee,X,L,ee),w)}else{let L;const{el:H,props:G}=h,{bm:X,m:ee,parent:Q,root:Ee,type:pe}=u,Ie=pt(h);if(lt(u,!1),X&&bn(X),!Ie&&(L=G&&G.onVnodeBeforeMount)&&Oe(L,Q,h),lt(u,!0),H&&Jn){const Te=()=>{u.subTree=is(u),Jn(H,u.subTree,u,w,null)};Ie&&pe.__asyncHydrate?pe.__asyncHydrate(H,u,Te):Te()}else{Ee.ce&&Ee.ce._injectChildStyle(pe);const Te=u.subTree=is(u);b(null,Te,m,T,u,w,x),h.el=Te.el}if(ee&&xe(ee,w),!Ie&&(L=G&&G.onVnodeMounted)){const Te=h;xe(()=>Oe(L,Q,Te),w)}(h.shapeFlag&256||Q&&pt(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&xe(u.a,w),u.isMounted=!0,h=m=T=null}};u.scope.on();const A=u.effect=new di(O);u.scope.off();const C=u.update=A.run.bind(A),k=u.job=A.runIfDirty.bind(A);k.i=u,k.id=u.uid,A.scheduler=()=>Gs(k),lt(u,!0),C()},Y=(u,h,m)=>{h.component=u;const T=u.vnode.props;u.vnode=h,u.next=null,mc(u,h.props,T,m),_c(u,h.children,m),rt(),dr(u),it()},D=(u,h,m,T,w,x,P,O,A=!1)=>{const C=u&&u.children,k=u?u.shapeFlag:0,L=h.children,{patchFlag:H,shapeFlag:G}=h;if(H>0){if(H&128){rn(C,L,m,T,w,x,P,O,A);return}else if(H&256){he(C,L,m,T,w,x,P,O,A);return}}G&8?(k&16&&It(C,w,x),L!==C&&a(m,L)):k&16?G&16?rn(C,L,m,T,w,x,P,O,A):It(C,w,x,!0):(k&8&&a(m,""),G&16&&V(L,m,T,w,x,P,O,A))},he=(u,h,m,T,w,x,P,O,A)=>{u=u||Et,h=h||Et;const C=u.length,k=h.length,L=Math.min(C,k);let H;for(H=0;Hk?It(u,w,x,!0,!1,L):V(h,m,T,w,x,P,O,A,L)},rn=(u,h,m,T,w,x,P,O,A)=>{let C=0;const k=h.length;let L=u.length-1,H=k-1;for(;C<=L&&C<=H;){const G=u[C],X=h[C]=A?et(h[C]):Me(h[C]);if(ut(G,X))b(G,X,m,null,w,x,P,O,A);else break;C++}for(;C<=L&&C<=H;){const G=u[L],X=h[H]=A?et(h[H]):Me(h[H]);if(ut(G,X))b(G,X,m,null,w,x,P,O,A);else break;L--,H--}if(C>L){if(C<=H){const G=H+1,X=GH)for(;C<=L;)De(u[C],w,x,!0),C++;else{const G=C,X=C,ee=new Map;for(C=X;C<=H;C++){const Ce=h[C]=A?et(h[C]):Me(h[C]);Ce.key!=null&&ee.set(Ce.key,C)}let Q,Ee=0;const pe=H-X+1;let Ie=!1,Te=0;const Nt=new Array(pe);for(C=0;C=pe){De(Ce,w,x,!0);continue}let je;if(Ce.key!=null)je=ee.get(Ce.key);else for(Q=X;Q<=H;Q++)if(Nt[Q-X]===0&&ut(Ce,h[Q])){je=Q;break}je===void 0?De(Ce,w,x,!0):(Nt[je-X]=C+1,je>=Te?Te=je:Ie=!0,b(Ce,h[je],m,null,w,x,P,O,A),Ee++)}const lr=Ie?xc(Nt):Et;for(Q=lr.length-1,C=pe-1;C>=0;C--){const Ce=X+C,je=h[Ce],cr=Ce+1{const{el:x,type:P,transition:O,children:A,shapeFlag:C}=u;if(C&6){ot(u.component.subTree,h,m,T);return}if(C&128){u.suspense.move(h,m,T);return}if(C&64){P.move(u,h,m,vt);return}if(P===Se){s(x,h,m);for(let L=0;LO.enter(x),w);else{const{leave:L,delayLeave:H,afterLeave:G}=O,X=()=>s(x,h,m),ee=()=>{L(x,()=>{X(),G&&G()})};H?H(x,X,ee):ee()}else s(x,h,m)},De=(u,h,m,T=!1,w=!1)=>{const{type:x,props:P,ref:O,children:A,dynamicChildren:C,shapeFlag:k,patchFlag:L,dirs:H,cacheIndex:G}=u;if(L===-2&&(w=!1),O!=null&&Mn(O,null,m,u,!0),G!=null&&(h.renderCache[G]=void 0),k&256){h.ctx.deactivate(u);return}const X=k&1&&H,ee=!pt(u);let Q;if(ee&&(Q=P&&P.onVnodeBeforeUnmount)&&Oe(Q,h,u),k&6)Vo(u.component,m,T);else{if(k&128){u.suspense.unmount(m,T);return}X&&Ue(u,null,h,"beforeUnmount"),k&64?u.type.remove(u,h,m,vt,T):C&&!C.hasOnce&&(x!==Se||L>0&&L&64)?It(C,h,m,!1,!0):(x===Se&&L&384||!w&&k&16)&&It(A,h,m),T&&ir(u)}(ee&&(Q=P&&P.onVnodeUnmounted)||X)&&xe(()=>{Q&&Oe(Q,h,u),X&&Ue(u,null,h,"unmounted")},m)},ir=u=>{const{type:h,el:m,anchor:T,transition:w}=u;if(h===Se){jo(m,T);return}if(h===kt){g(u);return}const x=()=>{r(m),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(u.shapeFlag&1&&w&&!w.persisted){const{leave:P,delayLeave:O}=w,A=()=>P(m,x);O?O(u.el,x,A):A()}else x()},jo=(u,h)=>{let m;for(;u!==h;)m=y(u),r(u),u=m;r(h)},Vo=(u,h,m)=>{const{bum:T,scope:w,job:x,subTree:P,um:O,m:A,a:C}=u;Er(A),Er(C),T&&bn(T),w.stop(),x&&(x.flags|=8,De(P,u,h,m)),O&&xe(O,h),xe(()=>{u.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},It=(u,h,m,T=!1,w=!1,x=0)=>{for(let P=x;P{if(u.shapeFlag&6)return on(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const h=y(u.anchor||u.el),m=h&&h[Ii];return m?y(m):h};let Yn=!1;const or=(u,h,m)=>{u==null?h._vnode&&De(h._vnode,null,null,!0):b(h._vnode||null,u,h,null,null,null,m),h._vnode=u,Yn||(Yn=!0,dr(),Rn(),Yn=!1)},vt={p:b,um:De,m:ot,r:ir,mt:se,mc:V,pc:D,pbc:_,n:on,o:e};let Xn,Jn;return t&&([Xn,Jn]=t(vt)),{render:or,hydrate:Xn,createApp:hc(or,Xn)}}function rs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function lt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function io(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qs(e,t,n=!1){const s=e.children,r=t.children;if(K(s)&&K(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function oo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oo(t)}function Er(e){if(e)for(let t=0;tOt(Ec);function Zs(e,t){return Wn(e,null,t)}function Rf(e,t){return Wn(e,null,{flush:"post"})}function Fe(e,t,n){return Wn(e,t,n)}function Wn(e,t,n=Z){const{immediate:s,deep:r,flush:i,once:o}=n,l=ce({},n),c=t&&s||!t&&i!=="post";let f;if(Mt){if(i==="sync"){const v=Tc();f=v.__watcherHandles||(v.__watcherHandles=[])}else if(!c){const v=()=>{};return v.stop=ke,v.resume=ke,v.pause=ke,v}}const a=ue;l.call=(v,S,b)=>He(v,a,S,b);let d=!1;i==="post"?l.scheduler=v=>{xe(v,a&&a.suspense)}:i!=="sync"&&(d=!0,l.scheduler=(v,S)=>{S?v():Gs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),d&&(v.flags|=2,a&&(v.id=a.uid,v.i=a))};const y=Il(e,t,l);return Mt&&(f?f.push(y):c&&y()),y}function Cc(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?lo(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=sn(this),l=Wn(r,i.bind(s),n);return o(),l}function lo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${st(t)}Modifiers`];function Rc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let r=n;const i=t.startsWith("update:"),o=i&&Ac(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>re(a)?a.trim():a)),o.number&&(r=n.map(vs)));let l,c=s[l=vn(t)]||s[l=vn(Le(t))];!c&&i&&(c=s[l=vn(st(t))]),c&&He(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(f,e,6,r)}}function co(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=f=>{const a=co(f,t,!0);a&&(l=!0,ce(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&s.set(e,null),null):(K(i)?i.forEach(c=>o[c]=null):ce(o,i),ne(e)&&s.set(e,o),o)}function Kn(e,t){return!e||!Zt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,st(t))||z(e,t))}function is(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:a,props:d,data:y,setupState:v,ctx:S,inheritAttrs:b}=e,B=On(e);let N,j;try{if(n.shapeFlag&4){const g=r||s,M=g;N=Me(f.call(M,g,a,d,v,y,S)),j=l}else{const g=t;N=Me(g.length>1?g(d,{attrs:l,slots:o,emit:c}):g(d,null)),j=t.props?l:Oc(l)}}catch(g){Bt.length=0,tn(g,e,1),N=le(ve)}let p=N;if(j&&b!==!1){const g=Object.keys(j),{shapeFlag:M}=p;g.length&&M&7&&(i&&g.some(Fs)&&(j=Mc(j,i)),p=nt(p,j,!1,!0))}return n.dirs&&(p=nt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Yt(p,n.transition),N=p,On(B),N}const Oc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zt(n))&&((t||(t={}))[n]=e[n]);return t},Mc=(e,t)=>{const n={};for(const s in e)(!Fs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Pc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Tr(s,o,f):!!o;if(c&8){const a=t.dynamicProps;for(let d=0;de.__isSuspense;function fo(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Hl(e)}const Se=Symbol.for("v-fgt"),gt=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),kt=Symbol.for("v-stc"),Bt=[];let Ae=null;function Os(e=!1){Bt.push(Ae=e?null:[])}function Ic(){Bt.pop(),Ae=Bt[Bt.length-1]||null}let Xt=1;function Cr(e){Xt+=e,e<0&&Ae&&(Ae.hasOnce=!0)}function uo(e){return e.dynamicChildren=Xt>0?Ae||Et:null,Ic(),Xt>0&&Ae&&Ae.push(e),e}function Of(e,t,n,s,r,i){return uo(po(e,t,n,s,r,i,!0))}function Ms(e,t,n,s,r){return uo(le(e,t,n,s,r,!0))}function Jt(e){return e?e.__v_isVNode===!0:!1}function ut(e,t){return e.type===t.type&&e.key===t.key}const ho=({key:e})=>e??null,Sn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||fe(e)||q(e)?{i:de,r:e,k:t,f:!!n}:e:null);function po(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ho(t),ref:t&&Sn(t),scopeId:Li,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?(er(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Xt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const le=Nc;function Nc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Wi)&&(e=ve),Jt(e)){const l=nt(e,t,!0);return n&&er(l,n),Xt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Wc(e)&&(e=e.__vccOpts),t){t=Fc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=js(l)),ne(c)&&(Ks(c)&&!K(c)&&(c=ce({},c)),t.style=Ds(c))}const o=re(e)?1:ao(e)?128:Ni(e)?64:ne(e)?4:q(e)?2:0;return po(e,t,n,s,r,o,i,!0)}function Fc(e){return e?Ks(e)||zi(e)?ce({},e):e:null}function nt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?Hc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ho(f),ref:t&&t.ref?n&&i?K(i)?i.concat(Sn(t)):[i,Sn(t)]:Sn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Yt(a,c.clone(a)),a}function go(e=" ",t=0){return le(gt,null,e,t)}function Mf(e,t){const n=le(kt,null,e);return n.staticCount=t,n}function Pf(e="",t=!1){return t?(Os(),Ms(ve,null,e)):le(ve,null,e)}function Me(e){return e==null||typeof e=="boolean"?le(ve):K(e)?le(Se,null,e.slice()):Jt(e)?et(e):le(gt,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function er(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(K(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),er(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!zi(t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:de},n=32):(t=String(t),s&64?(n=16,t=[go(t)]):n=8);e.children=t,e.shapeFlag|=n}function Hc(...e){const t={};for(let n=0;nue||de;let Ln,Ps;{const e=Hn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Ln=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Ps=t("__VUE_SSR_SETTERS__",n=>Mt=n)}const sn=e=>{const t=ue;return Ln(e),e.scope.on(),()=>{e.scope.off(),Ln(t)}},Ar=()=>{ue&&ue.scope.off(),Ln(null)};function mo(e){return e.vnode.shapeFlag&4}let Mt=!1;function Vc(e,t=!1,n=!1){t&&Ps(t);const{props:s,children:r}=e.vnode,i=mo(e);gc(e,s,i,t),bc(e,r,n);const o=i?Uc(e,t):void 0;return t&&Ps(!1),o}function Uc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ic);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?vo(e):null,i=sn(e),o=en(s,e,0,[e.props,r]),l=ri(o);if(it(),i(),(l||e.sp)&&!pt(e)&&Xs(e),l){if(o.then(Ar,Ar),t)return o.then(c=>{Rr(e,c,t)}).catch(c=>{tn(c,e,0)});e.asyncDep=o}else Rr(e,o,t)}else yo(e,t)}function Rr(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=Ri(t)),yo(e,n)}let Or;function yo(e,t,n){const s=e.type;if(!e.render){if(!t&&Or&&!s.render){const r=s.template||Js(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=ce(ce({isCustomElement:i,delimiters:l},o),c);s.render=Or(r,f)}}e.render=s.render||ke}{const r=sn(e);rt();try{lc(e)}finally{it(),r()}}}const kc={get(e,t){return me(e,"get",""),e[t]}};function vo(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,kc),slots:e.slots,emit:e.emit,expose:t}}function Gn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ri(_n(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ut)return Ut[n](e)},has(t,n){return n in t||n in Ut}})):e.proxy}function Bc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Wc(e){return q(e)&&"__vccOpts"in e}const ie=(e,t)=>Pl(e,t,Mt);function Ls(e,t,n){const s=arguments.length;return s===2?ne(t)&&!K(t)?Jt(t)?le(e,null,[t]):le(e,t):le(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Jt(n)&&(n=[n]),le(e,t,n))}const Kc="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Is;const Mr=typeof window<"u"&&window.trustedTypes;if(Mr)try{Is=Mr.createPolicy("vue",{createHTML:e=>e})}catch{}const bo=Is?e=>Is.createHTML(e):e=>e,qc="http://www.w3.org/2000/svg",Gc="http://www.w3.org/1998/Math/MathML",Ke=typeof document<"u"?document:null,Pr=Ke&&Ke.createElement("template"),Yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ke.createElementNS(qc,e):t==="mathml"?Ke.createElementNS(Gc,e):n?Ke.createElement(e,{is:n}):Ke.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ke.createTextNode(e),createComment:e=>Ke.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ke.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Pr.innerHTML=bo(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Pr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Je="transition",Ht="animation",zt=Symbol("_vtc"),_o={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Xc=ce({},Hi,_o),Jc=e=>(e.displayName="Transition",e.props=Xc,e),Lf=Jc((e,{slots:t})=>Ls(Bl,zc(e),t)),ct=(e,t=[])=>{K(e)?e.forEach(n=>n(...t)):e&&e(...t)},Lr=e=>e?K(e)?e.some(t=>t.length>1):e.length>1:!1;function zc(e){const t={};for(const E in e)E in _o||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:f=o,appearToClass:a=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,S=Qc(r),b=S&&S[0],B=S&&S[1],{onBeforeEnter:N,onEnter:j,onEnterCancelled:p,onLeave:g,onLeaveCancelled:M,onBeforeAppear:F=N,onAppear:$=j,onAppearCancelled:V=p}=t,R=(E,W,se)=>{at(E,W?a:l),at(E,W?f:o),se&&se()},_=(E,W)=>{E._isLeaving=!1,at(E,d),at(E,v),at(E,y),W&&W()},I=E=>(W,se)=>{const ae=E?$:j,U=()=>R(W,E,se);ct(ae,[W,U]),Ir(()=>{at(W,E?c:i),ze(W,E?a:l),Lr(ae)||Nr(W,s,b,U)})};return ce(t,{onBeforeEnter(E){ct(N,[E]),ze(E,i),ze(E,o)},onBeforeAppear(E){ct(F,[E]),ze(E,c),ze(E,f)},onEnter:I(!1),onAppear:I(!0),onLeave(E,W){E._isLeaving=!0;const se=()=>_(E,W);ze(E,d),ze(E,y),ta(),Ir(()=>{E._isLeaving&&(at(E,d),ze(E,v),Lr(g)||Nr(E,s,B,se))}),ct(g,[E,se])},onEnterCancelled(E){R(E,!1),ct(p,[E])},onAppearCancelled(E){R(E,!0),ct(V,[E])},onLeaveCancelled(E){_(E),ct(M,[E])}})}function Qc(e){if(e==null)return null;if(ne(e))return[os(e.enter),os(e.leave)];{const t=os(e);return[t,t]}}function os(e){return qo(e)}function ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[zt]||(e[zt]=new Set)).add(t)}function at(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[zt];n&&(n.delete(t),n.size||(e[zt]=void 0))}function Ir(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Zc=0;function Nr(e,t,n,s){const r=e._endId=++Zc,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ea(e,t);if(!o)return s();const f=o+"end";let a=0;const d=()=>{e.removeEventListener(f,y),i()},y=v=>{v.target===e&&++a>=c&&d()};setTimeout(()=>{a(n[S]||"").split(", "),r=s(`${Je}Delay`),i=s(`${Je}Duration`),o=Fr(r,i),l=s(`${Ht}Delay`),c=s(`${Ht}Duration`),f=Fr(l,c);let a=null,d=0,y=0;t===Je?o>0&&(a=Je,d=o,y=i.length):t===Ht?f>0&&(a=Ht,d=f,y=c.length):(d=Math.max(o,f),a=d>0?o>f?Je:Ht:null,y=a?a===Je?i.length:c.length:0);const v=a===Je&&/\b(transform|all)(,|$)/.test(s(`${Je}Property`).toString());return{type:a,timeout:d,propCount:y,hasTransform:v}}function Fr(e,t){for(;e.lengthHr(n)+Hr(e[s])))}function Hr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ta(){return document.body.offsetHeight}function na(e,t,n){const s=e[zt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $r=Symbol("_vod"),sa=Symbol("_vsh"),ra=Symbol(""),ia=/(^|;)\s*display\s*:/;function oa(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&xn(s,l,"")}else for(const o in t)n[o]==null&&xn(s,o,"");for(const o in n)o==="display"&&(i=!0),xn(s,o,n[o])}else if(r){if(t!==n){const o=s[ra];o&&(n+=";"+o),s.cssText=n,i=ia.test(n)}}else t&&e.removeAttribute("style");$r in e&&(e[$r]=i?s.display:"",e[sa]&&(s.display="none"))}const Dr=/\s*!important$/;function xn(e,t,n){if(K(n))n.forEach(s=>xn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=la(e,t);Dr.test(n)?e.setProperty(st(s),n.replace(Dr,""),"important"):e[s]=n}}const jr=["Webkit","Moz","ms"],ls={};function la(e,t){const n=ls[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return ls[t]=s;s=Fn(s);for(let r=0;rcs||(ua.then(()=>cs=0),cs=Date.now());function ha(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;He(pa(s,n.value),t,5,[s])};return n.value=e,n.attached=da(),n}function pa(e,t){if(K(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Kr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ga=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?na(e,s,o):t==="style"?oa(e,n,s):Zt(t)?Fs(t)||aa(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ma(e,t,s,o))?(kr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ur(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!re(s))?kr(e,Le(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ur(e,t,s,o))};function ma(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Kr(t)&&re(n)?!1:t in e}const qr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?n=>bn(t,n):t};function ya(e){e.target.composing=!0}function Gr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const as=Symbol("_assign"),If={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[as]=qr(r);const i=s||r.props&&r.props.type==="number";St(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=vs(l)),e[as](l)}),n&&St(e,"change",()=>{e.value=e.value.trim()}),t||(St(e,"compositionstart",ya),St(e,"compositionend",Gr),St(e,"change",Gr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[as]=qr(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?vs(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},va=["ctrl","shift","alt","meta"],ba={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>va.some(n=>e[`${n}Key`]&&!t.includes(n))},Nf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=st(r.key);if(t.some(o=>o===i||_a[o]===i))return e(r)})},wo=ce({patchProp:ga},Yc);let Wt,Yr=!1;function wa(){return Wt||(Wt=wc(wo))}function Sa(){return Wt=Yr?Wt:Sc(wo),Yr=!0,Wt}const Hf=(...e)=>{const t=wa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(!r)return;const i=t._component;!q(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,So(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},$f=(...e)=>{const t=Sa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=xo(s);if(r)return n(r,!0,So(r))},t};function So(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xo(e){return re(e)?document.querySelector(e):e}const Df=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},xa=window.__VP_SITE_DATA__;function tr(e){return ui()?(tl(e),!0):!1}function Be(e){return typeof e=="function"?e():Ai(e)}const Eo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const jf=e=>e!=null,Ea=Object.prototype.toString,Ta=e=>Ea.call(e)==="[object Object]",Qt=()=>{},Xr=Ca();function Ca(){var e,t;return Eo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Aa(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const To=e=>e();function Ra(e,t={}){let n,s,r=Qt;const i=l=>{clearTimeout(l),r(),r=Qt};return l=>{const c=Be(e),f=Be(t.maxWait);return n&&i(n),c<=0||f!==void 0&&f<=0?(s&&(i(s),s=null),Promise.resolve(l())):new Promise((a,d)=>{r=t.rejectOnCancel?d:a,f&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,a(l())},f)),n=setTimeout(()=>{s&&i(s),s=null,a(l())},c)})}}function Oa(e=To){const t=oe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Vn(t),pause:n,resume:s,eventFilter:r}}function Ma(e){return qn()}function Co(...e){if(e.length!==1)return Rl(...e);const t=e[0];return typeof t=="function"?Vn(Tl(()=>({get:t,set:Qt}))):oe(t)}function Ao(e,t,n={}){const{eventFilter:s=To,...r}=n;return Fe(e,Aa(s,t),r)}function Pa(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Oa(s);return{stop:Ao(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function nr(e,t=!0,n){Ma()?Lt(e,n):t?e():Un(e)}function Vf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return Ao(e,t,{...i,eventFilter:Ra(s,{maxWait:r})})}function Uf(e,t,n){let s;fe(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=Qt}=s,c=oe(!r),f=o?qs(t):oe(t);let a=0;return Zs(async d=>{if(!c.value)return;a++;const y=a;let v=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const S=await e(b=>{d(()=>{i&&(i.value=!1),v||b()})});y===a&&(f.value=S)}catch(S){l(S)}finally{i&&y===a&&(i.value=!1),v=!0}}),r?ie(()=>(c.value=!0,f.value)):f}const $e=Eo?window:void 0;function Ro(e){var t;const n=Be(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Pt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=$e):[t,n,s,r]=e,!t)return Qt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(a=>a()),i.length=0},l=(a,d,y,v)=>(a.addEventListener(d,y,v),()=>a.removeEventListener(d,y,v)),c=Fe(()=>[Ro(t),Be(r)],([a,d])=>{if(o(),!a)return;const y=Ta(d)?{...d}:d;i.push(...n.flatMap(v=>s.map(S=>l(a,v,S,y))))},{immediate:!0,flush:"post"}),f=()=>{c(),o()};return tr(f),f}function La(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function kf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=$e,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=La(t);return Pt(r,i,a=>{a.repeat&&Be(l)||c(a)&&n(a)},o)}function Ia(){const e=oe(!1),t=qn();return t&&Lt(()=>{e.value=!0},t),e}function Na(e){const t=Ia();return ie(()=>(t.value,!!e()))}function Oo(e,t={}){const{window:n=$e}=t,s=Na(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=oe(!1),o=f=>{i.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Zs(()=>{s.value&&(l(),r=n.matchMedia(Be(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return tr(()=>{c(),l(),r=void 0}),i}const pn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},gn="__vueuse_ssr_handlers__",Fa=Ha();function Ha(){return gn in pn||(pn[gn]=pn[gn]||{}),pn[gn]}function Mo(e,t){return Fa[e]||t}function sr(e){return Oo("(prefers-color-scheme: dark)",e)}function $a(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Da={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Jr="vueuse-storage";function rr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:a,window:d=$e,eventFilter:y,onError:v=_=>{console.error(_)},initOnMounted:S}=s,b=(a?qs:oe)(typeof t=="function"?t():t);if(!n)try{n=Mo("getDefaultStorage",()=>{var _;return(_=$e)==null?void 0:_.localStorage})()}catch(_){v(_)}if(!n)return b;const B=Be(t),N=$a(B),j=(r=s.serializer)!=null?r:Da[N],{pause:p,resume:g}=Pa(b,()=>F(b.value),{flush:i,deep:o,eventFilter:y});d&&l&&nr(()=>{n instanceof Storage?Pt(d,"storage",V):Pt(d,Jr,R),S&&V()}),S||V();function M(_,I){if(d){const E={key:e,oldValue:_,newValue:I,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",E):new CustomEvent(Jr,{detail:E}))}}function F(_){try{const I=n.getItem(e);if(_==null)M(I,null),n.removeItem(e);else{const E=j.write(_);I!==E&&(n.setItem(e,E),M(I,E))}}catch(I){v(I)}}function $(_){const I=_?_.newValue:n.getItem(e);if(I==null)return c&&B!=null&&n.setItem(e,j.write(B)),B;if(!_&&f){const E=j.read(I);return typeof f=="function"?f(E,B):N==="object"&&!Array.isArray(E)?{...B,...E}:E}else return typeof I!="string"?I:j.read(I)}function V(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){b.value=B;return}if(!(_&&_.key!==e)){p();try{(_==null?void 0:_.newValue)!==j.write(b.value)&&(b.value=$(_))}catch(I){v(I)}finally{_?Un(g):g()}}}}function R(_){V(_.detail)}return b}const ja="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Va(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=$e,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:a=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},y=sr({window:r}),v=ie(()=>y.value?"dark":"light"),S=c||(o==null?Co(s):rr(o,s,i,{window:r,listenToStorageChanges:l})),b=ie(()=>S.value==="auto"?v.value:S.value),B=Mo("updateHTMLAttrs",(g,M,F)=>{const $=typeof g=="string"?r==null?void 0:r.document.querySelector(g):Ro(g);if(!$)return;const V=new Set,R=new Set;let _=null;if(M==="class"){const E=F.split(/\s/g);Object.values(d).flatMap(W=>(W||"").split(/\s/g)).filter(Boolean).forEach(W=>{E.includes(W)?V.add(W):R.add(W)})}else _={key:M,value:F};if(V.size===0&&R.size===0&&_===null)return;let I;a&&(I=r.document.createElement("style"),I.appendChild(document.createTextNode(ja)),r.document.head.appendChild(I));for(const E of V)$.classList.add(E);for(const E of R)$.classList.remove(E);_&&$.setAttribute(_.key,_.value),a&&(r.getComputedStyle(I).opacity,document.head.removeChild(I))});function N(g){var M;B(t,n,(M=d[g])!=null?M:g)}function j(g){e.onChanged?e.onChanged(g,N):N(g)}Fe(b,j,{flush:"post",immediate:!0}),nr(()=>j(b.value));const p=ie({get(){return f?S.value:b.value},set(g){S.value=g}});try{return Object.assign(p,{store:S,system:v,state:b})}catch{return p}}function Ua(e={}){const{valueDark:t="dark",valueLight:n="",window:s=$e}=e,r=Va({...e,onChanged:(l,c)=>{var f;e.onChanged?(f=e.onChanged)==null||f.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=ie(()=>r.system?r.system.value:sr({window:s}).value?"dark":"light");return ie({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function fs(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Bf(e,t,n={}){const{window:s=$e}=n;return rr(e,t,s==null?void 0:s.localStorage,n)}function Po(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const us=new WeakMap;function Wf(e,t=!1){const n=oe(t);let s=null,r="";Fe(Co(e),l=>{const c=fs(Be(l));if(c){const f=c;if(us.get(f)||us.set(f,f.style.overflow),f.style.overflow!=="hidden"&&(r=f.style.overflow),f.style.overflow==="hidden")return n.value=!0;if(n.value)return f.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=fs(Be(e));!l||n.value||(Xr&&(s=Pt(l,"touchmove",c=>{ka(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=fs(Be(e));!l||!n.value||(Xr&&(s==null||s()),l.style.overflow=r,us.delete(l),n.value=!1)};return tr(o),ie({get(){return n.value},set(l){l?i():o()}})}function Kf(e,t,n={}){const{window:s=$e}=n;return rr(e,t,s==null?void 0:s.sessionStorage,n)}function qf(e={}){const{window:t=$e,behavior:n="auto"}=e;if(!t)return{x:oe(0),y:oe(0)};const s=oe(t.scrollX),r=oe(t.scrollY),i=ie({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=ie({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Pt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function Gf(e={}){const{window:t=$e,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=oe(n),c=oe(s),f=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(f(),nr(f),Pt("resize",f,{passive:!0}),r){const a=Oo("(orientation: portrait)");Fe(a,()=>f())}return{width:l,height:c}}const ds={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var hs={};const Lo=/^(?:[a-z]+:|\/\/)/i,Ba="vitepress-theme-appearance",Wa=/#.*$/,Ka=/[?#].*$/,qa=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",Io={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ga(e,t,n=!1){if(t===void 0)return!1;if(e=zr(`/${e}`),n)return new RegExp(t).test(e);if(zr(t)!==e)return!1;const s=t.match(Wa);return s?(ge?location.hash:"")===s[0]:!0}function zr(e){return decodeURI(e).replace(Ka,"").replace(qa,"$1")}function Ya(e){return Lo.test(e)}function Xa(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ya(n)&&Ga(t,`/${n}/`,!0))||"root"}function Ja(e,t){var s,r,i,o,l,c,f;const n=Xa(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Fo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function No(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=za(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function za(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Qa(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function Fo(e,t){return[...e.filter(n=>!Qa(t,n)),...t]}const Za=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ef=/^[a-z]:/i;function Qr(e){const t=ef.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Za,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ps=new Set;function tf(e){if(ps.size===0){const n=typeof process=="object"&&(hs==null?void 0:hs.VITE_EXTRA_EXTENSIONS)||(ds==null?void 0:ds.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>ps.add(s))}const t=e.split(".").pop();return t==null||!ps.has(t.toLowerCase())}function Yf(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const nf=Symbol(),mt=qs(xa);function Xf(e){const t=ie(()=>Ja(mt.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?oe(!0):n==="force-auto"?sr():n?Ua({storageKey:Ba,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):oe(!1),r=oe(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=ge?location.hash:""}),{site:t,theme:ie(()=>t.value.themeConfig),page:ie(()=>e.data),frontmatter:ie(()=>e.data.frontmatter),params:ie(()=>e.data.params),lang:ie(()=>t.value.lang),dir:ie(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ie(()=>t.value.localeIndex||"root"),title:ie(()=>No(t.value,e.data)),description:ie(()=>e.data.description||t.value.description),isDark:s,hash:ie(()=>r.value)}}function sf(){const e=Ot(nf);if(!e)throw new Error("vitepress data not properly injected in app");return e}function rf(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Zr(e){return Lo.test(e)||!e.startsWith("/")?e:rf(mt.value.base,e)}function of(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/";t=Qr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Qr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let En=[];function Jf(e){En.push(e),Bn(()=>{En=En.filter(t=>t!==e)})}function lf(){let e=mt.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=ei(e,n);else if(Array.isArray(e))for(const s of e){const r=ei(s,n);if(r){t=r;break}}return t}function ei(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const cf=Symbol(),Ho="http://a.com",af=()=>({path:"/",component:null,data:Io});function zf(e,t){const n=jn(af()),s={route:n,go:r};async function r(l=ge?location.href:"/"){var c,f;l=gs(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(ge&&l!==gs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((f=s.onAfterRouteChanged)==null?void 0:f.call(s,l)))}let i=null;async function o(l,c=0,f=!1){var y,v;if(await((y=s.onBeforePageLoad)==null?void 0:y.call(s,l))===!1)return;const a=new URL(l,Ho),d=i=a.pathname;try{let S=await e(d);if(!S)throw new Error(`Page not found: ${d}`);if(i===d){i=null;const{default:b,__pageData:B}=S;if(!b)throw new Error(`Invalid route component: ${b}`);await((v=s.onAfterPageLoad)==null?void 0:v.call(s,l)),n.path=ge?d:Zr(d),n.component=_n(b),n.data=_n(B),ge&&Un(()=>{let N=mt.value.base+B.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!mt.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==a.pathname&&(a.pathname=N,l=N+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let j=null;try{j=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(j){ti(j,a.hash);return}}window.scrollTo(0,c)})}}catch(S){if(!/fetch|Page not found/.test(S.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(S),!f)try{const b=await fetch(mt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await b.json(),await o(l,c,!0);return}catch{}if(i===d){i=null,n.path=ge?d:Zr(d),n.component=t?_n(t):null;const b=ge?d.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Io,relativePath:b}}}}return ge&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const f=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(f==null)return;const{href:a,origin:d,pathname:y,hash:v,search:S}=new URL(f,c.baseURI),b=new URL(location.href);d===b.origin&&tf(y)&&(l.preventDefault(),y===b.pathname&&S===b.search?(v!==b.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:b.href,newURL:a}))),v?ti(c,v,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(gs(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ff(){const e=Ot(cf);if(!e)throw new Error("useRouter() is called without provider.");return e}function $o(){return ff().route}function ti(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-lf()+i;requestAnimationFrame(r)}}function gs(e){const t=new URL(e,Ho);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),mt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const mn=()=>En.forEach(e=>e()),Qf=Ys({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=$o(),{frontmatter:n,site:s}=sf();return Fe(n,mn,{deep:!0,flush:"post"}),()=>Ls(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?Ls(t.component,{onVnodeMounted:mn,onVnodeUpdated:mn,onVnodeUnmounted:mn}):"404 Page Not Found"])}}),uf="modulepreload",df=function(e){return"/"+e},ni={},Zf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=df(c),c in ni)return;ni[c]=!0;const f=c.endsWith(".css"),a=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const d=document.createElement("link");if(d.rel=f?"stylesheet":uf,f||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),f)return new Promise((y,v)=>{d.addEventListener("load",y),d.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},eu=Ys({setup(e,{slots:t}){const n=oe(!1);return Lt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function tu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(f=>f.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function nu(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let f=c.textContent||"";o&&(f=f.replace(/^ *(\$|>) /gm,"").trim()),hf(f).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function hf(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function su(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=ms(l);for(const f of document.head.children)if(f.isEqualNode(c)){s.push(f);return}});return}const o=i.map(ms);s.forEach((l,c)=>{const f=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));f!==-1?delete o[f]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Zs(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],f=No(o,i);f!==document.title&&(document.title=f);const a=l||o.description;let d=document.querySelector("meta[name=description]");d?d.getAttribute("content")!==a&&d.setAttribute("content",a):ms(["meta",{name:"description",content:a}]),r(Fo(o.head,gf(c)))})}function ms([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function pf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function gf(e){return e.filter(t=>!pf(t))}const ys=new Set,Do=()=>document.createElement("link"),mf=e=>{const t=Do();t.rel="prefetch",t.href=e,document.head.appendChild(t)},yf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let yn;const vf=ge&&(yn=Do())&&yn.relList&&yn.relList.supports&&yn.relList.supports("prefetch")?mf:yf;function ru(){if(!ge||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!ys.has(c)){ys.add(c);const f=of(c);f&&vf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):ys.add(l))})})};Lt(s);const r=$o();Fe(()=>r.path,s),Bn(()=>{n&&n.disconnect()})}export{ki as $,lf as A,Sf as B,Ef as C,qs as D,Jf as E,Se as F,le as G,xf as H,Lo as I,$o as J,Hc as K,Ot as L,Gf as M,Ds as N,kf as O,Un as P,qf as Q,ge as R,Vn as S,Lf as T,wf as U,Zf as V,Wf as W,pc as X,Cf as Y,Ff as Z,Df as _,go as a,Nf as a0,Af as a1,Hf as a2,Ls as a3,Mf as a4,su as a5,cf as a6,Xf as a7,nf as a8,Qf as a9,eu as aa,mt as ab,$f as ac,zf as ad,of as ae,ru as af,nu as ag,tu as ah,Be as ai,Ro as aj,jf as ak,tr as al,Uf as am,Kf as an,Bf as ao,Vf as ap,ff as aq,Pt as ar,bf as as,If as at,fe as au,_f as av,_n as aw,Yf as ax,Ms as b,Of as c,Ys as d,Pf as e,tf as f,Zr as g,ie as h,Ya as i,po as j,Ai as k,Ga as l,Oo as m,js as n,Os as o,oe as p,Fe as q,Tf as r,Zs as s,Zo as t,sf as u,Lt as v,$l as w,Bn as x,Rf as y,ec as z}; diff --git a/maisk_fiage/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js b/maisk_fiage/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js new file mode 100644 index 0000000..901e31a --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/giscus-aTimukGI.CKTvSCx2.js @@ -0,0 +1,66 @@ +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const x=globalThis,j=x.ShadowRoot&&(x.ShadyCSS===void 0||x.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,W=Symbol(),q=new WeakMap;let ot=class{constructor(s,t,e){if(this._$cssResult$=!0,e!==W)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=s,this.t=t}get styleSheet(){let s=this.o;const t=this.t;if(j&&s===void 0){const e=t!==void 0&&t.length===1;e&&(s=q.get(t)),s===void 0&&((this.o=s=new CSSStyleSheet).replaceSync(this.cssText),e&&q.set(t,s))}return s}toString(){return this.cssText}};const pt=s=>new ot(typeof s=="string"?s:s+"",void 0,W),_t=(s,...t)=>{const e=s.length===1?s[0]:t.reduce((i,r,o)=>i+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+s[o+1],s[0]);return new ot(e,s,W)},gt=(s,t)=>{if(j)s.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const i=document.createElement("style"),r=x.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=e.cssText,s.appendChild(i)}},K=j?s=>s:s=>s instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return pt(e)})(s):s;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const{is:$t,defineProperty:ft,getOwnPropertyDescriptor:mt,getOwnPropertyNames:vt,getOwnPropertySymbols:At,getPrototypeOf:yt}=Object,E=globalThis,Y=E.trustedTypes,St=Y?Y.emptyScript:"",J=E.reactiveElementPolyfillSupport,U=(s,t)=>s,H={toAttribute(s,t){switch(t){case Boolean:s=s?St:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,t){let e=s;switch(t){case Boolean:e=s!==null;break;case Number:e=s===null?null:Number(s);break;case Object:case Array:try{e=JSON.parse(s)}catch{e=null}}return e}},V=(s,t)=>!$t(s,t),F={attribute:!0,type:String,converter:H,reflect:!1,hasChanged:V};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),E.litPropertyMetadata??(E.litPropertyMetadata=new WeakMap);class S extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=F){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,e);r!==void 0&&ft(this.prototype,t,r)}}static getPropertyDescriptor(t,e,i){const{get:r,set:o}=mt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return r==null?void 0:r.call(this)},set(n){const a=r==null?void 0:r.call(this);o.call(this,n),this.requestUpdate(t,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??F}static _$Ei(){if(this.hasOwnProperty(U("elementProperties")))return;const t=yt(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(U("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U("properties"))){const e=this.properties,i=[...vt(e),...At(e)];for(const r of i)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[i,r]of e)this.elementProperties.set(i,r)}this._$Eh=new Map;for(const[e,i]of this.elementProperties){const r=this._$Eu(e,i);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const r of i)e.unshift(K(r))}else t!==void 0&&e.push(K(t));return e}static _$Eu(t,e){const i=e.attribute;return i===!1?void 0:typeof i=="string"?i:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$Eg=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$ES(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$E_??(this._$E_=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$E_)==null||e.delete(t)}_$ES(){const t=new Map,e=this.constructor.elementProperties;for(const i of e.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return gt(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$E_)==null||t.forEach(e=>{var i;return(i=e.hostConnected)==null?void 0:i.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$E_)==null||t.forEach(e=>{var i;return(i=e.hostDisconnected)==null?void 0:i.call(e)})}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e){var i;const r=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,r);if(o!==void 0&&r.reflect===!0){const n=(((i=r.converter)==null?void 0:i.toAttribute)!==void 0?r.converter:H).toAttribute(e,r.type);this._$Em=t,n==null?this.removeAttribute(o):this.setAttribute(o,n),this._$Em=null}}_$AK(t,e){var i;const r=this.constructor,o=r._$Eh.get(t);if(o!==void 0&&this._$Em!==o){const n=r.getPropertyOptions(o),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((i=n.converter)==null?void 0:i.fromAttribute)!==void 0?n.converter:H;this._$Em=o,this[o]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,i,r=!1,o){if(t!==void 0){if(i??(i=this.constructor.getPropertyOptions(t)),!(i.hasChanged??V)(r?o:this[t],e))return;this.C(t,e,i)}this.isUpdatePending===!1&&(this._$Eg=this._$EP())}C(t,e,i){this._$AL.has(t)||this._$AL.set(t,e),i.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,n]of r)n.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.C(o,this[o],n)}let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),(t=this._$E_)==null||t.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(i)):this._$ET()}catch(r){throw e=!1,this._$ET(),r}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;(e=this._$E_)==null||e.forEach(i=>{var r;return(r=i.hostUpdated)==null?void 0:r.call(i)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EO(e,this[e]))),this._$ET()}updated(t){}firstUpdated(t){}}S.elementStyles=[],S.shadowRootOptions={mode:"open"},S[U("elementProperties")]=new Map,S[U("finalized")]=new Map,J==null||J({ReactiveElement:S}),(E.reactiveElementVersions??(E.reactiveElementVersions=[])).push("2.0.2");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const L=globalThis,k=L.trustedTypes,Q=k?k.createPolicy("lit-html",{createHTML:s=>s}):void 0,at="$lit$",m=`lit$${(Math.random()+"").slice(9)}$`,ht="?"+m,Et=`<${ht}>`,y=document,O=()=>y.createComment(""),R=s=>s===null||typeof s!="object"&&typeof s!="function",lt=Array.isArray,bt=s=>lt(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",z=`[ +\f\r]`,w=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Z=/-->/g,X=/>/g,v=RegExp(`>|${z}(?:([^\\s"'>=/]+)(${z}*=${z}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),tt=/'/g,et=/"/g,ct=/^(?:script|style|textarea|title)$/i,Ct=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),wt=Ct(1),b=Symbol.for("lit-noChange"),c=Symbol.for("lit-nothing"),st=new WeakMap,A=y.createTreeWalker(y,129);function dt(s,t){if(!Array.isArray(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return Q!==void 0?Q.createHTML(t):t}const Ut=(s,t)=>{const e=s.length-1,i=[];let r,o=t===2?"":"",n=w;for(let a=0;a"?(n=r??w,l=-1):u[1]===void 0?l=-2:(l=n.lastIndex-u[2].length,g=u[1],n=u[3]===void 0?v:u[3]==='"'?et:tt):n===et||n===tt?n=v:n===Z||n===X?n=w:(n=v,r=void 0);const f=n===v&&s[a+1].startsWith("/>")?" ":"";o+=n===w?h+Et:l>=0?(i.push(g),h.slice(0,l)+at+h.slice(l)+m+f):h+m+(l===-2?a:f)}return[dt(s,o+(s[e]||"")+(t===2?"":"")),i]};class N{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let o=0,n=0;const a=t.length-1,h=this.parts,[g,u]=Ut(t,e);if(this.el=N.createElement(g,i),A.currentNode=this.el.content,e===2){const l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(r=A.nextNode())!==null&&h.length0){r.textContent=k?k.emptyScript:"";for(let f=0;f<$;f++)r.append(l[f],O()),A.nextNode(),h.push({type:2,index:++o});r.append(l[$],O())}}}else if(r.nodeType===8)if(r.data===ht)h.push({type:2,index:o});else{let l=-1;for(;(l=r.data.indexOf(m,l+1))!==-1;)h.push({type:7,index:o}),l+=m.length-1}o++}}static createElement(t,e){const i=y.createElement("template");return i.innerHTML=t,i}}function C(s,t,e=s,i){var r,o;if(t===b)return t;let n=i!==void 0?(r=e._$Co)==null?void 0:r[i]:e._$Cl;const a=R(t)?void 0:t._$litDirective$;return(n==null?void 0:n.constructor)!==a&&((o=n==null?void 0:n._$AO)==null||o.call(n,!1),a===void 0?n=void 0:(n=new a(s),n._$AT(s,e,i)),i!==void 0?(e._$Co??(e._$Co=[]))[i]=n:e._$Cl=n),n!==void 0&&(t=C(s,n._$AS(s,t.values),n,i)),t}let Pt=class{constructor(s,t){this._$AV=[],this._$AN=void 0,this._$AD=s,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(s){const{el:{content:t},parts:e}=this._$AD,i=((s==null?void 0:s.creationScope)??y).importNode(t,!0);A.currentNode=i;let r=A.nextNode(),o=0,n=0,a=e[0];for(;a!==void 0;){if(o===a.index){let h;a.type===2?h=new M(r,r.nextSibling,this,s):a.type===1?h=new a.ctor(r,a.name,a.strings,this,s):a.type===6&&(h=new Nt(r,this,s)),this._$AV.push(h),a=e[++n]}o!==(a==null?void 0:a.index)&&(r=A.nextNode(),o++)}return A.currentNode=y,i}p(s){let t=0;for(const e of this._$AV)e!==void 0&&(e.strings!==void 0?(e._$AI(s,e,t),t+=e.strings.length-2):e._$AI(s[t])),t++}};class M{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this._$Cv}constructor(t,e,i,r){this.type=2,this._$AH=c,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=C(this,t,e),R(t)?t===c||t==null||t===""?(this._$AH!==c&&this._$AR(),this._$AH=c):t!==this._$AH&&t!==b&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):bt(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==c&&R(this._$AH)?this._$AA.nextSibling.data=t:this.$(y.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:r}=t,o=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=N.createElement(dt(r.h,r.h[0]),this.options)),r);if(((e=this._$AH)==null?void 0:e._$AD)===o)this._$AH.p(i);else{const n=new Pt(o,this),a=n.u(this.options);n.p(i),this.$(a),this._$AH=n}}_$AC(t){let e=st.get(t.strings);return e===void 0&&st.set(t.strings,e=new N(t)),e}T(t){lt(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const o of t)r===e.length?e.push(i=new M(this.k(O()),this.k(O()),this,this.options)):i=e[r],i._$AI(o),r++;r2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=c}_$AI(t,e=this,i,r){const o=this.strings;let n=!1;if(o===void 0)t=C(this,t,e,0),n=!R(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const a=t;let h,g;for(t=o[0],h=0;h{const i=(e==null?void 0:e.renderBefore)??t;let r=i._$litPart$;if(r===void 0){const o=(e==null?void 0:e.renderBefore)??null;i._$litPart$=r=new M(t.insertBefore(O(),o),o,void 0,e??{})}return r._$AI(s),r};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let P=class extends S{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var s;const t=super.createRenderRoot();return(s=this.renderOptions).renderBefore??(s.renderBefore=t.firstChild),t}update(s){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(s),this._$Do=Mt(t,this.renderRoot,this.renderOptions)}connectedCallback(){var s;super.connectedCallback(),(s=this._$Do)==null||s.setConnected(!0)}disconnectedCallback(){var s;super.disconnectedCallback(),(s=this._$Do)==null||s.setConnected(!1)}render(){return b}};var rt;P._$litElement$=!0,P.finalized=!0,(rt=globalThis.litElementHydrateSupport)==null||rt.call(globalThis,{LitElement:P});const nt=globalThis.litElementPolyfillSupport;nt==null||nt({LitElement:P});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.2");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const It=s=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(s,t)}):customElements.define(s,t)};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const xt={attribute:!0,type:String,converter:H,reflect:!1,hasChanged:V},Ht=(s=xt,t,e)=>{const{kind:i,metadata:r}=e;let o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(e.name,s),i==="accessor"){const{name:n}=e;return{set(a){const h=t.get.call(this);t.set.call(this,a),this.requestUpdate(n,h,s)},init(a){return a!==void 0&&this.C(n,void 0,s),a}}}if(i==="setter"){const{name:n}=e;return function(a){const h=this[n];t.call(this,a),this.requestUpdate(n,h,s)}}throw Error("Unsupported decorator location: "+i)};function _(s){return(t,e)=>typeof e=="object"?Ht(s,t,e):((i,r,o)=>{const n=r.hasOwnProperty(o);return r.constructor.createProperty(o,n?{...i,wrapped:!0}:i),n?Object.getOwnPropertyDescriptor(r,o):void 0})(s,t,e)}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Lt=s=>s.strings===void 0;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const kt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Gt=s=>(...t)=>({_$litDirective$:s,values:t});let Dt=class{constructor(s){}get _$AU(){return this._$AM._$AU}_$AT(s,t,e){this._$Ct=s,this._$AM=t,this._$Ci=e}_$AS(s,t){return this.update(s,t)}update(s,t){return this.render(...t)}};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const T=(s,t)=>{var e;const i=s._$AN;if(i===void 0)return!1;for(const r of i)(e=r._$AO)==null||e.call(r,t,!1),T(r,t);return!0},G=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while((e==null?void 0:e.size)===0)},ut=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),jt(t)}};function zt(s){this._$AN!==void 0?(G(this),this._$AM=s,ut(this)):this._$AM=s}function Bt(s,t=!1,e=0){const i=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(t)if(Array.isArray(i))for(let o=e;o{s.type==kt.CHILD&&(s._$AP??(s._$AP=Bt),s._$AQ??(s._$AQ=zt))};class Wt extends Dt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),ut(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,r;t!==this.isConnected&&(this.isConnected=t,t?(i=this.reconnected)==null||i.call(this):(r=this.disconnected)==null||r.call(this)),e&&(T(this,t),G(this))}setValue(t){if(Lt(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Vt=()=>new qt;class qt{}const B=new WeakMap,Kt=Gt(class extends Wt{render(s){return c}update(s,[t]){var e;const i=t!==this.G;return i&&this.G!==void 0&&this.ot(void 0),(i||this.rt!==this.lt)&&(this.G=t,this.ct=(e=s.options)==null?void 0:e.host,this.ot(this.lt=s.element)),c}ot(s){if(typeof this.G=="function"){const t=this.ct??globalThis;let e=B.get(t);e===void 0&&(e=new WeakMap,B.set(t,e)),e.get(this.G)!==void 0&&this.G.call(this.ct,void 0),e.set(this.G,s),s!==void 0&&this.G.call(this.ct,s)}else this.G.value=s}get rt(){var s,t;return typeof this.G=="function"?(s=B.get(this.ct??globalThis))==null?void 0:s.get(this.G):(t=this.G)==null?void 0:t.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});var Yt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,p=(s,t,e,i)=>{for(var r=i>1?void 0:i?Jt(t,e):t,o=s.length-1,n;o>=0;o--)(n=s[o])&&(r=(i?n(t,e,r):n(r))||r);return i&&r&&Yt(t,e,r),r};function Ft(s){return customElements.get(s)?t=>t:It(s)}let d=class extends P{constructor(){super(),this.GISCUS_SESSION_KEY="giscus-session",this.GISCUS_DEFAULT_HOST="https://giscus.app",this.ERROR_SUGGESTION="Please consider reporting this error at https://github.com/giscus/giscus/issues/new.",this.__session="",this._iframeRef=Vt(),this.messageEventHandler=this.handleMessageEvent.bind(this),this.hasLoaded=!1,this.host=this.GISCUS_DEFAULT_HOST,this.strict="0",this.reactionsEnabled="1",this.emitMetadata="0",this.inputPosition="bottom",this.theme="light",this.lang="en",this.loading="eager",this.setupSession(),window.addEventListener("message",this.messageEventHandler)}get iframeRef(){var s;return(s=this._iframeRef)==null?void 0:s.value}get _host(){try{return new URL(this.host),this.host}catch{return this.GISCUS_DEFAULT_HOST}}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("message",this.messageEventHandler)}_formatError(s){return`[giscus] An error occurred. Error message: "${s}".`}setupSession(){const s=location.href,t=new URL(s),e=localStorage.getItem(this.GISCUS_SESSION_KEY),i=t.searchParams.get("giscus")??"";if(this.__session="",i){localStorage.setItem(this.GISCUS_SESSION_KEY,JSON.stringify(i)),this.__session=i,t.searchParams.delete("giscus"),t.hash="",history.replaceState(void 0,document.title,t.toString());return}if(e)try{this.__session=JSON.parse(e)}catch(r){localStorage.removeItem(this.GISCUS_SESSION_KEY),console.warn(`${this._formatError(r==null?void 0:r.message)} Session has been cleared.`)}}signOut(){localStorage.removeItem(this.GISCUS_SESSION_KEY),this.__session="",this.update(new Map)}handleMessageEvent(s){if(s.origin!==this._host)return;const{data:t}=s;if(!(typeof t=="object"&&t.giscus))return;if(this.iframeRef&&t.giscus.resizeHeight&&(this.iframeRef.style.height=`${t.giscus.resizeHeight}px`),t.giscus.signOut){console.info("[giscus] User has logged out. Session has been cleared."),this.signOut();return}if(!t.giscus.error)return;const e=t.giscus.error;if(e.includes("Bad credentials")||e.includes("Invalid state value")||e.includes("State has expired")){if(localStorage.getItem(this.GISCUS_SESSION_KEY)!==null){console.warn(`${this._formatError(e)} Session has been cleared.`),this.signOut();return}console.error(`${this._formatError(e)} No session is stored initially. ${this.ERROR_SUGGESTION}`)}if(e.includes("Discussion not found")){console.warn(`[giscus] ${e}. A new discussion will be created if a comment/reaction is submitted.`);return}console.error(`${this._formatError(e)} ${this.ERROR_SUGGESTION}`)}sendMessage(s){var t;!((t=this.iframeRef)!=null&&t.contentWindow)||!this.hasLoaded||this.iframeRef.contentWindow.postMessage({giscus:s},this._host)}updateConfig(){const s={setConfig:{repo:this.repo,repoId:this.repoId,category:this.category,categoryId:this.categoryId,term:this.getTerm(),number:+this.getNumber(),strict:this.strict==="1",reactionsEnabled:this.reactionsEnabled==="1",emitMetadata:this.emitMetadata==="1",inputPosition:this.inputPosition,theme:this.theme,lang:this.lang}};this.sendMessage(s)}firstUpdated(){var s;(s=this.iframeRef)==null||s.addEventListener("load",()=>{var t;(t=this.iframeRef)==null||t.classList.remove("loading"),this.hasLoaded=!0,this.updateConfig()})}requestUpdate(s,t,e){if(!this.hasUpdated||s==="host"){super.requestUpdate(s,t,e);return}this.updateConfig()}getMetaContent(s,t=!1){const e=t?`meta[property='og:${s}'],`:"",i=document.querySelector(e+`meta[name='${s}']`);return i?i.content:""}_getCleanedUrl(){const s=new URL(location.href);return s.searchParams.delete("giscus"),s.hash="",s}getTerm(){switch(this.mapping){case"url":return this._getCleanedUrl().toString();case"title":return document.title;case"og:title":return this.getMetaContent("title",!0);case"specific":return this.term??"";case"number":return"";case"pathname":default:return location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}}getNumber(){return this.mapping==="number"?this.term??"":""}getIframeSrc(){const s=this._getCleanedUrl().toString(),t=`${s}${this.id?"#"+this.id:""}`,e=this.getMetaContent("description",!0),i=this.getMetaContent("giscus:backlink")||s,r={origin:t,session:this.__session,repo:this.repo,repoId:this.repoId??"",category:this.category??"",categoryId:this.categoryId??"",term:this.getTerm(),number:this.getNumber(),strict:this.strict,reactionsEnabled:this.reactionsEnabled,emitMetadata:this.emitMetadata,inputPosition:this.inputPosition,theme:this.theme,description:e,backLink:i},o=this._host,n=this.lang?`/${this.lang}`:"",a=new URLSearchParams(r);return`${o}${n}/widget?${a.toString()}`}render(){return wt` + + `}};d.styles=_t` + :host, + iframe { + width: 100%; + border: none; + min-height: 150px; + color-scheme: light dark; + } + + iframe.loading { + opacity: 0; + } + `;p([_({reflect:!0})],d.prototype,"host",2);p([_({reflect:!0})],d.prototype,"repo",2);p([_({reflect:!0})],d.prototype,"repoId",2);p([_({reflect:!0})],d.prototype,"category",2);p([_({reflect:!0})],d.prototype,"categoryId",2);p([_({reflect:!0})],d.prototype,"mapping",2);p([_({reflect:!0})],d.prototype,"term",2);p([_({reflect:!0})],d.prototype,"strict",2);p([_({reflect:!0})],d.prototype,"reactionsEnabled",2);p([_({reflect:!0})],d.prototype,"emitMetadata",2);p([_({reflect:!0})],d.prototype,"inputPosition",2);p([_({reflect:!0})],d.prototype,"theme",2);p([_({reflect:!0})],d.prototype,"lang",2);p([_({reflect:!0})],d.prototype,"loading",2);d=p([Ft("giscus-widget")],d);export{d as GiscusWidget}; diff --git a/maisk_fiage/webroot/assets/chunks/theme.8NM9hdXq.js b/maisk_fiage/webroot/assets/chunks/theme.8NM9hdXq.js new file mode 100644 index 0000000..ae6c388 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/theme.8NM9hdXq.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Cp6fLGT7.js","assets/chunks/framework.BXE2pAXj.js"])))=>i.map(i=>d[i]); +import{d as g,o as s,c as m,r as u,n as M,a as re,t as H,b as y,w as v,e as h,T as Ae,_ as L,u as Qe,i as Pt,f as St,g as me,h as P,j as p,k as i,l as ie,m as Ie,p as z,q as J,s as ye,v as x,x as Be,y as Oe,z as Vt,A as Tt,B as le,F as B,C as W,D as xe,E as $e,G as k,H as Z,I as et,J as pe,K as ae,L as Le,M as wt,N as tt,O as Ce,P as De,Q as nt,R as Pe,S as Nt,U as Et,V as ot,W as at,X as st,Y as It,Z as Ct,$ as zt,a0 as Ht,a1 as Mt,a2 as At,a3 as ee}from"./framework.BXE2pAXj.js";const Bt=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(a){return(e,t)=>(s(),m("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[re(H(e.text),1)])],2))}}),Ot={key:0,class:"VPBackdrop"},Dt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(a){return(e,t)=>(s(),y(Ae,{name:"fade"},{default:v(()=>[e.show?(s(),m("div",Ot)):h("",!0)]),_:1}))}}),Ft=L(Dt,[["__scopeId","data-v-555f8904"]]),T=Qe;function jt(a,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(a,e):(a(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ze(a){return/^\//.test(a)?a:`/${a}`}function Fe(a){const{pathname:e,search:t,hash:o,protocol:n}=new URL(a,"http://a.com");if(Pt(a)||a.startsWith("#")||!n.startsWith("http")||!St(e))return a;const{site:r}=T(),l=e.endsWith("/")||e.endsWith(".html")?a:a.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${o}`);return me(l)}function ve({correspondingLink:a=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:r}=T(),l=P(()=>{var c,b;return{label:(c=e.value.locales[t.value])==null?void 0:c.label,link:((b=e.value.locales[t.value])==null?void 0:b.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:P(()=>Object.entries(e.value.locales).flatMap(([c,b])=>l.value.label===b.label?[]:{text:b.label,link:Gt(b.link||(c==="root"?"/":`/${c}/`),n.value.i18nRouting!==!1&&a,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function Gt(a,e,t,o){return e?a.replace(/\/$/,"")+ze(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):a}const Ut={class:"NotFound"},qt={class:"code"},Wt={class:"title"},Rt={class:"quote"},Kt={class:"action"},Jt=["href","aria-label"],Yt=g({__name:"NotFound",setup(a){const{theme:e}=T(),{currentLang:t}=ve();return(o,n)=>{var r,l,d,c,b;return s(),m("div",Ut,[p("p",qt,H(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),p("h1",Wt,H(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",Rt,H(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Kt,[p("a",{class:"link",href:i(me)(i(t).link),"aria-label":((c=i(e).notFound)==null?void 0:c.linkLabel)??"go to home"},H(((b=i(e).notFound)==null?void 0:b.linkText)??"Take me home"),9,Jt)])])}}}),Xt=L(Yt,[["__scopeId","data-v-a2512220"]]);function rt(a,e){if(Array.isArray(a))return _e(a);if(a==null)return[];e=ze(e);const t=Object.keys(a).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(ze(n))),o=t?a[t]:[];return Array.isArray(o)?_e(o):_e(o.items,o.base)}function Zt(a){const e=[];let t=0;for(const o in a){const n=a[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function Qt(a){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(a),e}function He(a,e){return Array.isArray(e)?e.some(t=>He(a,t)):ie(a,e.link)?!0:e.items?He(a,e.items):!1}function _e(a,e){return[...a].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=_e(o.items,n)),o})}function te(){const{frontmatter:a,page:e,theme:t}=T(),o=Ie("(min-width: 960px)"),n=z(!1),r=P(()=>{const D=t.value.sidebar,C=e.value.relativePath;return D?rt(D,C):[]}),l=z(r.value);J(r,(D,C)=>{JSON.stringify(D)!==JSON.stringify(C)&&(l.value=r.value)});const d=P(()=>a.value.sidebar!==!1&&l.value.length>0&&a.value.layout!=="home"),c=P(()=>b?a.value.aside==null?t.value.aside==="left":a.value.aside==="left":!1),b=P(()=>a.value.layout==="home"?!1:a.value.aside!=null?!!a.value.aside:t.value.aside!==!1),$=P(()=>d.value&&o.value),_=P(()=>d.value?Zt(l.value):[]);function S(){n.value=!0}function I(){n.value=!1}function E(){n.value?I():S()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:b,leftAside:c,isSidebarEnabled:$,open:S,close:I,toggle:E}}function xt(a,e){let t;ye(()=>{t=a.value?document.activeElement:void 0}),x(()=>{window.addEventListener("keyup",o)}),Be(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&a.value&&(e(),t==null||t.focus())}}function en(a){const{page:e,hash:t}=T(),o=z(!1),n=P(()=>a.value.collapsed!=null),r=P(()=>!!a.value.link),l=z(!1),d=()=>{l.value=ie(e.value.relativePath,a.value.link)};J([e,a,t],d),x(d);const c=P(()=>l.value?!0:a.value.items?He(e.value.relativePath,a.value.items):!1),b=P(()=>!!(a.value.items&&a.value.items.length));ye(()=>{o.value=!!(n.value&&a.value.collapsed)}),Oe(()=>{(l.value||c.value)&&(o.value=!1)});function $(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:c,hasChildren:b,toggle:$}}function tn(){const{hasSidebar:a}=te(),e=Ie("(min-width: 960px)"),t=Ie("(min-width: 1280px)");return{isAsideEnabled:P(()=>!t.value&&!e.value?!1:a.value?t.value:e.value)}}const Me=[];function it(a){return typeof a.outline=="object"&&!Array.isArray(a.outline)&&a.outline.label||a.outlineTitle||"On this page"}function je(a){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:nn(t),link:"#"+t.id,level:o}});return on(e,a)}function nn(a){let e="";for(const t of a.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function on(a,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return rn(a,o,n)}function an(a,e){const{isAsideEnabled:t}=tn(),o=jt(r,100);let n=null;x(()=>{requestAnimationFrame(r),window.addEventListener("scroll",o)}),Vt(()=>{l(location.hash)}),Be(()=>{window.removeEventListener("scroll",o)});function r(){if(!t.value)return;const d=window.scrollY,c=window.innerHeight,b=document.body.offsetHeight,$=Math.abs(d+c-b)<1,_=Me.map(({element:I,link:E})=>({link:E,top:sn(I)})).filter(({top:I})=>!Number.isNaN(I)).sort((I,E)=>I.top-E.top);if(!_.length){l(null);return}if(d<1){l(null);return}if($){l(_[_.length-1].link);return}let S=null;for(const{link:I,top:E}of _){if(E>d+Tt()+4)break;S=I}l(S)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=a.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const c=n;c?(c.classList.add("active"),e.value.style.top=c.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function sn(a){let e=0;for(;a!==document.body;){if(a===null)return NaN;e+=a.offsetTop,a=a.offsetParent}return e}function rn(a,e,t){Me.length=0;const o=[],n=[];return a.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=le("VPDocOutlineItem",!0);return s(),m("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),m(B,null,W(t.headers,({children:r,link:l,title:d})=>(s(),m("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},H(d),9,ln),r!=null&&r.length?(s(),y(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),lt=L(cn,[["__scopeId","data-v-8b07c751"]]),un={class:"content"},dn={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},mn=g({__name:"VPDocAsideOutline",setup(a){const{frontmatter:e,theme:t}=T(),o=xe([]);$e(()=>{o.value=je(e.value.outline??t.value.outline)});const n=z(),r=z();return an(n,r),(l,d)=>(s(),m("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",un,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",dn,H(i(it)(i(t))),1),k(lt,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),pn=L(mn,[["__scopeId","data-v-1ca7049f"]]),vn={class:"VPDocAsideCarbonAds"},fn=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(a){const e=()=>null;return(t,o)=>(s(),m("div",vn,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),hn={class:"VPDocAside"},gn=g({__name:"VPDocAside",setup(a){const{theme:e}=T();return(t,o)=>(s(),m("div",hn,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(pn),u(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(s(),y(fn,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),_n=L(gn,[["__scopeId","data-v-1c6e4e59"]]);function bn(){const{theme:a,page:e}=T();return P(()=>{const{text:t="Edit this page",pattern:o=""}=a.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function kn(){const{page:a,theme:e,frontmatter:t}=T();return P(()=>{var b,$,_,S,I,E,D,C;const o=rt(e.value.sidebar,a.value.relativePath),n=Qt(o),r=yn(n,R=>R.link.replace(/[?#].*$/,"")),l=r.findIndex(R=>ie(a.value.relativePath,R.link)),d=((b=e.value.docFooter)==null?void 0:b.prev)===!1&&!t.value.prev||t.value.prev===!1,c=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((S=r[l-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=r[l-1])==null?void 0:I.link)},next:c?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[l+1])==null?void 0:E.docFooterText)??((D=r[l+1])==null?void 0:D.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=r[l+1])==null?void 0:C.link)}}})}function yn(a,e){const t=new Set;return a.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const Q=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.tag??(e.href?"a":"span")),o=P(()=>e.href&&et.test(e.href)||e.target==="_blank");return(n,r)=>(s(),y(Z(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(Fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:v(()=>[u(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),$n={class:"VPLastUpdated"},Ln=["datetime"],Pn=g({__name:"VPDocFooterLastUpdated",setup(a){const{theme:e,page:t,lang:o}=T(),n=P(()=>new Date(t.value.lastUpdated)),r=P(()=>n.value.toISOString()),l=z("");return x(()=>{ye(()=>{var d,c,b;l.value=new Intl.DateTimeFormat((c=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&c.forceLocale?o.value:void 0,((b=e.value.lastUpdated)==null?void 0:b.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,c)=>{var b;return s(),m("p",$n,[re(H(((b=i(e).lastUpdated)==null?void 0:b.text)||i(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:r.value},H(l.value),9,Ln)])}}}),Sn=L(Pn,[["__scopeId","data-v-9df8358f"]]),Vn={key:0,class:"VPDocFooter"},Tn={key:0,class:"edit-info"},wn={key:0,class:"edit-link"},Nn={key:1,class:"last-updated"},En={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},In={class:"pager"},Cn=["innerHTML"],zn=["innerHTML"],Hn={class:"pager"},Mn=["innerHTML"],An=["innerHTML"],Bn=g({__name:"VPDocFooter",setup(a){const{theme:e,page:t,frontmatter:o}=T(),n=bn(),r=kn(),l=P(()=>e.value.editLink&&o.value.editLink!==!1),d=P(()=>t.value.lastUpdated),c=P(()=>l.value||d.value||r.value.prev||r.value.next);return(b,$)=>{var _,S,I,E;return c.value?(s(),m("footer",Vn,[u(b.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(s(),m("div",Tn,[l.value?(s(),m("div",wn,[k(Q,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:v(()=>[$[0]||($[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),re(" "+H(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),m("div",Nn,[k(Sn)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(S=i(r).next)!=null&&S.link?(s(),m("nav",En,[$[1]||($[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",In,[(I=i(r).prev)!=null&&I.link?(s(),y(Q,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.prev)||"Previous page"},null,8,Cn),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,zn)]}),_:1},8,["href"])):h("",!0)]),p("div",Hn,[(E=i(r).next)!=null&&E.link?(s(),y(Q,{key:0,class:"pager-link next",href:i(r).next.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.next)||"Next page"},null,8,Mn),p("span",{class:"title",innerHTML:i(r).next.text},null,8,An)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),On=L(Bn,[["__scopeId","data-v-73bc8135"]]),Dn={class:"container"},Fn={class:"aside-container"},jn={class:"aside-content"},Gn={class:"content"},Un={class:"content-container"},qn={class:"main"},Wn=g({__name:"VPDoc",setup(a){const{theme:e}=T(),t=pe(),{hasSidebar:o,hasAside:n,leftAside:r}=te(),l=P(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,c)=>{const b=le("Content");return s(),m("div",{class:M(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[u(d.$slots,"doc-top",{},void 0,!0),p("div",Dn,[i(n)?(s(),m("div",{key:0,class:M(["aside",{"left-aside":i(r)}])},[c[0]||(c[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",Fn,[p("div",jn,[k(_n,null,{"aside-top":v(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Gn,[p("div",Un,[u(d.$slots,"doc-before",{},void 0,!0),p("main",qn,[k(b,{class:M(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(On,null,{"doc-footer-before":v(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(d.$slots,"doc-after",{},void 0,!0)])])]),u(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Rn=L(Wn,[["__scopeId","data-v-954eab99"]]),Kn=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.href&&et.test(e.href)),o=P(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(s(),y(Z(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?i(Fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[re(H(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Jn=L(Kn,[["__scopeId","data-v-d931a3b4"]]),Yn=["src","alt"],Xn=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(a){return(e,t)=>{const o=le("VPImage",!0);return e.image?(s(),m(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),m("img",ae({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(me)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Yn)):(s(),m(B,{key:1},[k(o,ae({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(o,ae({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=L(Xn,[["__scopeId","data-v-430dcc9b"]]),Zn={class:"container"},Qn={class:"main"},xn={key:0,class:"name"},eo=["innerHTML"],to=["innerHTML"],no=["innerHTML"],oo={key:0,class:"actions"},ao={key:0,class:"image"},so={class:"image-container"},ro=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(a){const e=Le("hero-image-slot-exists");return(t,o)=>(s(),m("div",{class:M(["VPHero",{"has-image":t.image||i(e)}])},[p("div",Zn,[p("div",Qn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(s(),m("h1",xn,[p("span",{innerHTML:t.name,class:"clip"},null,8,eo)])):h("",!0),t.text?(s(),m("p",{key:1,innerHTML:t.text,class:"text"},null,8,to)):h("",!0),t.tagline?(s(),m("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,no)):h("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),m("div",oo,[(s(!0),m(B,null,W(t.actions,n=>(s(),m("div",{key:n.link,class:"action"},[k(Jn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(s(),m("div",ao,[p("div",so,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(s(),y(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),io=L(ro,[["__scopeId","data-v-d74ca98a"]]),lo=g({__name:"VPHomeHero",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).hero?(s(),y(io,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),co={class:"box"},uo={key:0,class:"icon"},mo=["innerHTML"],po=["innerHTML"],vo=["innerHTML"],fo={key:4,class:"link-text"},ho={class:"link-text-value"},go=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(a){return(e,t)=>(s(),y(Q,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[p("article",co,[typeof e.icon=="object"&&e.icon.wrap?(s(),m("div",uo,[k(ke,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),y(ke,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),m("div",{key:2,class:"icon",innerHTML:e.icon},null,8,mo)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,po),e.details?(s(),m("p",{key:3,class:"details",innerHTML:e.details},null,8,vo)):h("",!0),e.linkText?(s(),m("div",fo,[p("p",ho,[re(H(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),_o=L(go,[["__scopeId","data-v-dd502c38"]]),bo={key:0,class:"VPFeatures"},ko={class:"container"},yo={class:"items"},$o=g({__name:"VPFeatures",props:{features:{}},setup(a){const e=a,t=P(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(s(),m("div",bo,[p("div",ko,[p("div",yo,[(s(!0),m(B,null,W(o.features,r=>(s(),m("div",{key:r.title,class:M(["item",[t.value]])},[k(_o,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Lo=L($o,[["__scopeId","data-v-f4290047"]]),Po=g({__name:"VPHomeFeatures",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).features?(s(),y(Lo,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),So=g({__name:"VPHomeContent",setup(a){const{width:e}=wt({initialWidth:0,includeScrollbar:!1});return(t,o)=>(s(),m("div",{class:"vp-doc container",style:tt(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),Vo=L(So,[["__scopeId","data-v-5db0fc11"]]),To={class:"VPHome"},wo=g({__name:"VPHome",setup(a){const{frontmatter:e}=T();return(t,o)=>{const n=le("Content");return s(),m("div",To,[u(t.$slots,"home-hero-before",{},void 0,!0),k(lo,null,{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(Po),u(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(s(),y(Vo,{key:0},{default:v(()=>[k(n)]),_:1})):(s(),y(n,{key:1}))])}}}),No=L(wo,[["__scopeId","data-v-945e2803"]]),Eo={},Io={class:"VPPage"};function Co(a,e){const t=le("Content");return s(),m("div",Io,[u(a.$slots,"page-top"),k(t),u(a.$slots,"page-bottom")])}const zo=L(Eo,[["render",Co]]),Ho=g({__name:"VPContent",setup(a){const{page:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>(s(),m("div",{class:M(["VPContent",{"has-sidebar":i(o),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(n.$slots,"not-found",{key:0},()=>[k(Xt)],!0):i(t).layout==="page"?(s(),y(zo,{key:1},{"page-top":v(()=>[u(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(s(),y(No,{key:2},{"home-hero-before":v(()=>[u(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(s(),y(Z(i(t).layout),{key:3})):(s(),y(Rn,{key:4},{"doc-top":v(()=>[u(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Mo=L(Ho,[["__scopeId","data-v-e21f1c97"]]),Ao={class:"container"},Bo=["innerHTML"],Oo=["innerHTML"],Do=g({__name:"VPFooter",setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>i(e).footer&&i(t).footer!==!1?(s(),m("footer",{key:0,class:M(["VPFooter",{"has-sidebar":i(o)}])},[p("div",Ao,[i(e).footer.message?(s(),m("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Bo)):h("",!0),i(e).footer.copyright?(s(),m("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,Oo)):h("",!0)])],2)):h("",!0)}}),Fo=L(Do,[["__scopeId","data-v-30d44c97"]]);function jo(){const{theme:a,frontmatter:e}=T(),t=xe([]),o=P(()=>t.value.length>0);return $e(()=>{t.value=je(e.value.outline??a.value.outline)}),{headers:t,hasLocalNav:o}}const Go={class:"menu-text"},Uo={class:"header"},qo={class:"outline"},Wo=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(a){const e=a,{theme:t}=T(),o=z(!1),n=z(0),r=z(),l=z();function d(_){var S;(S=r.value)!=null&&S.contains(_.target)||(o.value=!1)}J(o,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),Ce("Escape",()=>{o.value=!1}),$e(()=>{o.value=!1});function c(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function b(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),De(()=>{o.value=!1}))}function $(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,S)=>(s(),m("div",{class:"VPLocalNavOutlineDropdown",style:tt({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(s(),m("button",{key:0,onClick:c,class:M({open:o.value})},[p("span",Go,H(i(it)(i(t))),1),S[0]||(S[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),m("button",{key:1,onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)),k(Ae,{name:"flyout"},{default:v(()=>[o.value?(s(),m("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[p("div",Uo,[p("a",{class:"top-link",href:"#",onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)]),p("div",qo,[k(lt,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Ro=L(Wo,[["__scopeId","data-v-e15d2741"]]),Ko={class:"container"},Jo=["aria-expanded"],Yo={class:"menu-text"},Xo=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te(),{headers:n}=jo(),{y:r}=nt(),l=z(0);x(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),$e(()=>{n.value=je(t.value.outline??e.value.outline)});const d=P(()=>n.value.length===0),c=P(()=>d.value&&!o.value),b=P(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:d.value,fixed:c.value}));return($,_)=>i(t).layout!=="home"&&(!c.value||i(r)>=l.value)?(s(),m("div",{key:0,class:M(b.value)},[p("div",Ko,[i(o)?(s(),m("button",{key:0,class:"menu","aria-expanded":$.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=S=>$.$emit("open-menu"))},[_[1]||(_[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",Yo,H(i(e).sidebarMenuLabel||"Menu"),1)],8,Jo)):h("",!0),k(Ro,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Zo=L(Xo,[["__scopeId","data-v-9b286bf4"]]);function Qo(){const a=z(!1);function e(){a.value=!0,window.addEventListener("resize",n)}function t(){a.value=!1,window.removeEventListener("resize",n)}function o(){a.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=pe();return J(()=>r.path,t),{isScreenOpen:a,openScreen:e,closeScreen:t,toggleScreen:o}}const xo={},ea={class:"VPSwitch",type:"button",role:"switch"},ta={class:"check"},na={key:0,class:"icon"};function oa(a,e){return s(),m("button",ea,[p("span",ta,[a.$slots.default?(s(),m("span",na,[u(a.$slots,"default",{},void 0,!0)])):h("",!0)])])}const aa=L(xo,[["render",oa],["__scopeId","data-v-5f515241"]]),sa=g({__name:"VPSwitchAppearance",setup(a){const{isDark:e,theme:t}=T(),o=Le("toggle-appearance",()=>{e.value=!e.value}),n=z("");return Oe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),y(aa,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(o)},{default:v(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),Ge=L(sa,[["__scopeId","data-v-c66bea29"]]),ra={key:0,class:"VPNavBarAppearance"},ia=g({__name:"VPNavBarAppearance",setup(a){const{site:e}=T();return(t,o)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",ra,[k(Ge)])):h("",!0)}}),la=L(ia,[["__scopeId","data-v-fb4cefbb"]]),Ue=z();let ct=!1,Ee=0;function ca(a){const e=z(!1);if(Pe){!ct&&ua(),Ee++;const t=J(Ue,o=>{var n,r,l;o===a.el.value||(n=a.el.value)!=null&&n.contains(o)?(e.value=!0,(r=a.onFocus)==null||r.call(a)):(e.value=!1,(l=a.onBlur)==null||l.call(a))});Be(()=>{t(),Ee--,Ee||da()})}return Nt(e)}function ua(){document.addEventListener("focusin",ut),ct=!0,Ue.value=document.activeElement}function da(){document.removeEventListener("focusin",ut)}function ut(){Ue.value=document.activeElement}const ma={class:"VPMenuLink"},pa=["innerHTML"],va=g({__name:"VPMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),m("div",ma,[k(Q,{class:M({active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,pa)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),Se=L(va,[["__scopeId","data-v-00baf487"]]),fa={class:"VPMenuGroup"},ha={key:0,class:"title"},ga=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",fa,[e.text?(s(),m("p",ha,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),m(B,null,["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),_a=L(ga,[["__scopeId","data-v-bd0f1d65"]]),ba={class:"VPMenu"},ka={key:0,class:"items"},ya=g({__name:"VPMenu",props:{items:{}},setup(a){return(e,t)=>(s(),m("div",ba,[e.items?(s(),m("div",ka,[(s(!0),m(B,null,W(e.items,o=>(s(),m(B,{key:JSON.stringify(o)},["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):"component"in o?(s(),y(Z(o.component),ae({key:1,ref_for:!0},o.props),null,16)):(s(),y(_a,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),$a=L(ya,[["__scopeId","data-v-3613d363"]]),La=["aria-expanded","aria-label"],Pa={key:0,class:"text"},Sa=["innerHTML"],Va={key:1,class:"vpi-more-horizontal icon"},Ta={class:"menu"},wa=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(a){const e=z(!1),t=z();ca({el:t,onBlur:o});function o(){e.value=!1}return(n,r)=>(s(),m("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(s(),m("span",Pa,[n.icon?(s(),m("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),m("span",{key:1,innerHTML:n.button},null,8,Sa)):h("",!0),r[3]||(r[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),m("span",Va))],8,La),p("div",Ta,[k($a,{items:n.items},{default:v(()=>[u(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=L(wa,[["__scopeId","data-v-15b46e80"]]),Na=["href","aria-label","innerHTML"],Ea=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(a){const e=a,t=P(()=>typeof e.icon=="object"?e.icon.svg:``);return(o,n)=>(s(),m("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Na))}}),Ia=L(Ea,[["__scopeId","data-v-2e3c9df7"]]),Ca={class:"VPSocialLinks"},za=g({__name:"VPSocialLinks",props:{links:{}},setup(a){return(e,t)=>(s(),m("div",Ca,[(s(!0),m(B,null,W(e.links,({link:o,icon:n,ariaLabel:r})=>(s(),y(Ia,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),We=L(za,[["__scopeId","data-v-2ec96a47"]]),Ha={key:0,class:"group translations"},Ma={class:"trans-title"},Aa={key:1,class:"group"},Ba={class:"item appearance"},Oa={class:"label"},Da={class:"appearance-action"},Fa={key:2,class:"group"},ja={class:"item social-links"},Ga=g({__name:"VPNavBarExtra",setup(a){const{site:e,theme:t}=T(),{localeLinks:o,currentLang:n}=ve({correspondingLink:!0}),r=P(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(s(),y(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(o).length&&i(n).label?(s(),m("div",Ha,[p("p",Ma,H(i(n).label),1),(s(!0),m(B,null,W(i(o),c=>(s(),y(Se,{key:c.link,item:c},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Aa,[p("div",Ba,[p("p",Oa,H(i(t).darkModeSwitchLabel||"Appearance"),1),p("div",Da,[k(Ge)])])])):h("",!0),i(t).socialLinks?(s(),m("div",Fa,[p("div",ja,[k(We,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Ua=L(Ga,[["__scopeId","data-v-eed872a2"]]),qa=["aria-expanded"],Wa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(a){return(e,t)=>(s(),m("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,qa))}}),Ra=L(Wa,[["__scopeId","data-v-6bee53bd"]]),Ka=["innerHTML"],Ja=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),y(Q,{class:M({VPNavBarMenuLink:!0,active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Ka)]),_:1},8,["class","href","target","rel","no-icon"]))}}),Ya=L(Ja,[["__scopeId","data-v-1eb8619e"]]),Xa=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(a){const e=a,{page:t}=T(),o=r=>"component"in r?!1:"link"in r?ie(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(o),n=P(()=>o(e.item));return(r,l)=>(s(),y(qe,{class:M({VPNavBarMenuGroup:!0,active:i(ie)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Za={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Qa=g({__name:"VPNavBarMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Za,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Ya,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props),null,16)):(s(),y(Xa,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),xa=L(Qa,[["__scopeId","data-v-4a55a947"]]);function es(a){const{localeIndex:e,theme:t}=T();function o(n){var E,D,C;const r=n.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",c=d&&((C=(D=l.locales)==null?void 0:D[e.value])==null?void 0:C.translations)||null,b=d&&l.translations||null;let $=c,_=b,S=a;const I=r.pop();for(const R of r){let Y=null;const F=S==null?void 0:S[R];F&&(Y=S=F);const ne=_==null?void 0:_[R];ne&&(Y=_=ne);const X=$==null?void 0:$[R];X&&(Y=$=X),F||(S=Y),ne||(_=Y),X||($=Y)}return($==null?void 0:$[I])??(_==null?void 0:_[I])??(S==null?void 0:S[I])??""}return o}const ts=["aria-label"],ns={class:"DocSearch-Button-Container"},os={class:"DocSearch-Button-Placeholder"},Je=g({__name:"VPNavBarSearchButton",setup(a){const t=es({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(s(),m("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[p("span",ns,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",os,H(i(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ts))}}),as={class:"VPNavBarSearch"},ss={id:"local-search"},rs={key:1,id:"docsearch"},is=g({__name:"VPNavBarSearch",setup(a){const e=Et(()=>ot(()=>import("./VPLocalSearchBox.Cp6fLGT7.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=T(),n=z(!1),r=z(!1);x(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function c(_){const S=_.target,I=S.tagName;return S.isContentEditable||I==="INPUT"||I==="SELECT"||I==="TEXTAREA"}const b=z(!1);Ce("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),b.value=!0)}),Ce("/",_=>{c(_)||(_.preventDefault(),b.value=!0)});const $="local";return(_,S)=>{var I;return s(),m("div",as,[i($)==="local"?(s(),m(B,{key:0},[b.value?(s(),y(i(e),{key:0,onClose:S[0]||(S[0]=E=>b.value=!1)})):h("",!0),p("div",ss,[k(Je,{onClick:S[1]||(S[1]=E=>b.value=!0)})])],64)):i($)==="algolia"?(s(),m(B,{key:1},[n.value?(s(),y(i(t),{key:0,algolia:((I=i(o).search)==null?void 0:I.options)??i(o).algolia,onVnodeBeforeMount:S[2]||(S[2]=E=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(s(),m("div",rs,[k(Je,{onClick:l})]))],64)):h("",!0)])}}}),ls=g({__name:"VPNavBarSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),cs=L(ls,[["__scopeId","data-v-3e7e1f46"]]),us=["href","rel","target"],ds={key:1},ms={key:2},ps=g({__name:"VPNavBarTitle",setup(a){const{site:e,theme:t}=T(),{hasSidebar:o}=te(),{currentLang:n}=ve(),r=P(()=>{var c;return typeof t.value.logoLink=="string"?t.value.logoLink:(c=t.value.logoLink)==null?void 0:c.link}),l=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.rel}),d=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.target});return(c,b)=>(s(),m("div",{class:M(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(Fe)(i(n).link),rel:l.value,target:d.value},[u(c.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(s(),y(ke,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(s(),m("span",ds,H(i(t).siteTitle),1)):i(t).siteTitle===void 0?(s(),m("span",ms,H(i(e).title),1)):h("",!0),u(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,us)],2))}}),vs=L(ps,[["__scopeId","data-v-204b6ee7"]]),fs={class:"items"},hs={class:"title"},gs=g({__name:"VPNavBarTranslations",setup(a){const{theme:e}=T(),{localeLinks:t,currentLang:o}=ve({correspondingLink:!0});return(n,r)=>i(t).length&&i(o).label?(s(),y(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:v(()=>[p("div",fs,[p("p",hs,H(i(o).label),1),(s(!0),m(B,null,W(i(t),l=>(s(),y(Se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),_s=L(gs,[["__scopeId","data-v-a4dce8d3"]]),bs={class:"wrapper"},ks={class:"container"},ys={class:"title"},$s={class:"content"},Ls={class:"content-body"},Ps=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(a){const e=a,{y:t}=nt(),{hasSidebar:o}=te(),{frontmatter:n}=T(),r=z({});return Oe(()=>{r.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(s(),m("div",{class:M(["VPNavBar",r.value])},[p("div",bs,[p("div",ks,[p("div",ys,[k(vs,null,{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",$s,[p("div",Ls,[u(l.$slots,"nav-bar-content-before",{},void 0,!0),k(is,{class:"search"}),k(xa,{class:"menu"}),k(_s,{class:"translations"}),k(la,{class:"appearance"}),k(cs,{class:"social-links"}),k(Ua,{class:"extra"}),u(l.$slots,"nav-bar-content-after",{},void 0,!0),k(Ra,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=c=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),Ss=L(Ps,[["__scopeId","data-v-63cad245"]]),Vs={key:0,class:"VPNavScreenAppearance"},Ts={class:"text"},ws=g({__name:"VPNavScreenAppearance",setup(a){const{site:e,theme:t}=T();return(o,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Vs,[p("p",Ts,H(i(t).darkModeSwitchLabel||"Appearance"),1),k(Ge)])):h("",!0)}}),Ns=L(ws,[["__scopeId","data-v-01da29ba"]]),Es=["innerHTML"],Is=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Es)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Cs=L(Is,[["__scopeId","data-v-8ffd5011"]]),zs=["innerHTML"],Hs=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),dt=L(Hs,[["__scopeId","data-v-99f4497d"]]),Ms={class:"VPNavScreenMenuGroupSection"},As={key:0,class:"title"},Bs=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",Ms,[e.text?(s(),m("p",As,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),y(dt,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Os=L(Bs,[["__scopeId","data-v-a37a870b"]]),Ds=["aria-controls","aria-expanded"],Fs=["innerHTML"],js=["id"],Gs={key:0,class:"item"},Us={key:1,class:"item"},qs={key:2,class:"group"},Ws=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(a){const e=a,t=z(!1),o=P(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(s(),m("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,Fs),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,Ds),p("div",{id:o.value,class:"items"},[(s(!0),m(B,null,W(r.items,d=>(s(),m(B,{key:JSON.stringify(d)},["link"in d?(s(),m("div",Gs,[k(dt,{item:d},null,8,["item"])])):"component"in d?(s(),m("div",Us,[(s(),y(Z(d.component),ae({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),m("div",qs,[k(Os,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,js)],2))}}),Rs=L(Ws,[["__scopeId","data-v-e2a9fdbf"]]),Ks={key:0,class:"VPNavScreenMenu"},Js=g({__name:"VPNavScreenMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Ks,[(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Cs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),y(Rs,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Ys=g({__name:"VPNavScreenSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),Xs={class:"list"},Zs=g({__name:"VPNavScreenTranslations",setup(a){const{localeLinks:e,currentLang:t}=ve({correspondingLink:!0}),o=z(!1);function n(){o.value=!o.value}return(r,l)=>i(e).length&&i(t).label?(s(),m("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),re(" "+H(i(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",Xs,[(s(!0),m(B,null,W(i(e),d=>(s(),m("li",{key:d.link,class:"item"},[k(Q,{class:"link",href:d.link},{default:v(()=>[re(H(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Qs=L(Zs,[["__scopeId","data-v-de1d668d"]]),xs={class:"container"},er=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(a){const e=z(null),t=at(Pe?document.body:null);return(o,n)=>(s(),y(Ae,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:v(()=>[o.open?(s(),m("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",xs,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),k(Js,{class:"menu"}),k(Qs,{class:"translations"}),k(Ns,{class:"appearance"}),k(Ys,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),tr=L(er,[["__scopeId","data-v-f2624b07"]]),nr={key:0,class:"VPNav"},or=g({__name:"VPNav",setup(a){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=Qo(),{frontmatter:n}=T(),r=P(()=>n.value.navbar!==!1);return st("close-screen",t),ye(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(s(),m("header",nr,[k(Ss,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(tr,{open:i(e)},{"nav-screen-content-before":v(()=>[u(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ar=L(or,[["__scopeId","data-v-589e79fd"]]),sr=["role","tabindex"],rr={key:1,class:"items"},ir=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(a){const e=a,{collapsed:t,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:c}=en(P(()=>e.item)),b=P(()=>d.value?"section":"div"),$=P(()=>n.value?"a":"div"),_=P(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=P(()=>n.value?void 0:"button"),I=P(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function E(C){"key"in C&&C.key!=="Enter"||!e.item.link&&c()}function D(){e.item.link&&c()}return(C,R)=>{const Y=le("VPSidebarItem",!0);return s(),y(Z(b.value),{class:M(["VPSidebarItem",I.value])},{default:v(()=>[C.item.text?(s(),m("div",ae({key:0,class:"item",role:S.value},It(C.item.items?{click:E,keydown:E}:{},!0),{tabindex:C.item.items&&0}),[R[1]||(R[1]=p("div",{class:"indicator"},null,-1)),C.item.link?(s(),y(Q,{key:0,tag:$.value,class:"link",href:C.item.link,rel:C.item.rel,target:C.item.target},{default:v(()=>[(s(),y(Z(_.value),{class:"text",innerHTML:C.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),y(Z(_.value),{key:1,class:"text",innerHTML:C.item.text},null,8,["innerHTML"])),C.item.collapsed!=null&&C.item.items&&C.item.items.length?(s(),m("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:D,onKeydown:Ct(D,["enter"]),tabindex:"0"},R[0]||(R[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,sr)):h("",!0),C.item.items&&C.item.items.length?(s(),m("div",rr,[C.depth<5?(s(!0),m(B,{key:0},W(C.item.items,F=>(s(),y(Y,{key:F.text,item:F,depth:C.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),lr=L(ir,[["__scopeId","data-v-ebdf843f"]]),cr=g({__name:"VPSidebarGroup",props:{items:{}},setup(a){const e=z(!0);let t=null;return x(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),zt(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(s(!0),m(B,null,W(o.items,r=>(s(),m("div",{key:r.text,class:M(["group",{"no-transition":e.value}])},[k(lr,{item:r,depth:0},null,8,["item"])],2))),128))}}),ur=L(cr,[["__scopeId","data-v-767e70d5"]]),dr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},mr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(a){const{sidebarGroups:e,hasSidebar:t}=te(),o=a,n=z(null),r=at(Pe?document.body:null);J([o,n],()=>{var d;o.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=z(0);return J(e,()=>{l.value+=1},{deep:!0}),(d,c)=>i(t)?(s(),m("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:c[0]||(c[0]=Ht(()=>{},["stop"]))},[c[2]||(c[2]=p("div",{class:"curtain"},null,-1)),p("nav",dr,[c[1]||(c[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),y(ur,{items:i(e),key:l.value},null,8,["items"])),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),pr=L(mr,[["__scopeId","data-v-4bfecd24"]]),vr=g({__name:"VPSkipLink",setup(a){const e=pe(),t=z();J(()=>e.path,()=>t.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(s(),m(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),fr=L(vr,[["__scopeId","data-v-35b2da14"]]),hr=g({__name:"Layout",setup(a){const{isOpen:e,open:t,close:o}=te(),n=pe();J(()=>n.path,o),xt(e,o);const{frontmatter:r}=T(),l=Mt(),d=P(()=>!!l["home-hero-image"]);return st("hero-image-slot-exists",d),(c,b)=>{const $=le("Content");return i(r).layout!==!1?(s(),m("div",{key:0,class:M(["Layout",i(r).pageClass])},[u(c.$slots,"layout-top",{},void 0,!0),k(fr),k(Ft,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),k(ar,null,{"nav-bar-title-before":v(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Zo,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(pr,{open:i(e)},{"sidebar-nav-before":v(()=>[u(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(Mo,null,{"page-top":v(()=>[u(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(c.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(c.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(c.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Fo),u(c.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),y($,{key:1}))}}}),gr=L(hr,[["__scopeId","data-v-2ef56004"]]),_r={Layout:gr,enhanceApp:({app:a})=>{a.component("Badge",Bt)}},br=a=>{if(window.dataLayer&&window.gtag)return;const e=document.createElement("script");e.src=`https://www.googletagmanager.com/gtag/js?id=${a}`,e.async=!0,document.head.appendChild(e),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),gtag("config",a)},kr=({id:a})=>{a&&typeof window<"u"&&br(a)};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var se=Object.assign||function(a){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},o=window.Promise||function(V){function w(){}V(w,w)},n=function(V){var w=V.target;if(w===fe){E();return}F.indexOf(w)!==-1&&D({target:w})},r=function(){if(!(X||!f.original)){var V=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(Re-V)>A.scrollOffset&&setTimeout(E,150)}},l=function(V){var w=V.key||V.keyCode;(w==="Escape"||w==="Esc"||w===27)&&E()},d=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V;if(V.background&&(fe.style.background=V.background),V.container&&V.container instanceof Object&&(w.container=se({},A.container,V.container)),V.template){var O=be(V.template)?V.template:document.querySelector(V.template);w.template=O}return A=se({},A,w),F.forEach(function(j){j.dispatchEvent(ue("medium-zoom:update",{detail:{zoom:G}}))}),G},c=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return a(se({},A,V))},b=function(){for(var V=arguments.length,w=Array(V),O=0;O0?w.reduce(function(N,q){return[].concat(N,Xe(q))},[]):F;return j.forEach(function(N){N.classList.remove("medium-zoom-image"),N.dispatchEvent(ue("medium-zoom:detach",{detail:{zoom:G}}))}),F=F.filter(function(N){return j.indexOf(N)===-1}),G},_=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.addEventListener("medium-zoom:"+V,w,O)}),ne.push({type:"medium-zoom:"+V,listener:w,options:O}),G},S=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.removeEventListener("medium-zoom:"+V,w,O)}),ne=ne.filter(function(j){return!(j.type==="medium-zoom:"+V&&j.listener.toString()===w.toString())}),G},I=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target,O=function(){var N={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},q=void 0,K=void 0;if(A.container)if(A.container instanceof Object)N=se({},N,A.container),q=N.width-N.left-N.right-A.margin*2,K=N.height-N.top-N.bottom-A.margin*2;else{var ce=be(A.container)?A.container:document.querySelector(A.container),oe=ce.getBoundingClientRect(),Ve=oe.width,pt=oe.height,vt=oe.left,ft=oe.top;N=se({},N,{width:Ve,height:pt,left:vt,top:ft})}q=q||N.width-A.margin*2,K=K||N.height-A.margin*2;var de=f.zoomedHd||f.original,ht=Ye(de)?q:de.naturalWidth||q,gt=Ye(de)?K:de.naturalHeight||K,he=de.getBoundingClientRect(),_t=he.top,bt=he.left,Te=he.width,we=he.height,kt=Math.min(Math.max(Te,ht),q)/Te,yt=Math.min(Math.max(we,gt),K)/we,Ne=Math.min(kt,yt),$t=(-bt+(q-Te)/2+A.margin+N.left)/Ne,Lt=(-_t+(K-we)/2+A.margin+N.top)/Ne,Ke="scale("+Ne+") translate3d("+$t+"px, "+Lt+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new o(function(j){if(w&&F.indexOf(w)===-1){j(G);return}var N=function Ve(){X=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(ue("medium-zoom:opened",{detail:{zoom:G}})),j(G)};if(f.zoomed){j(G);return}if(w)f.original=w;else if(F.length>0){var q=F;f.original=q[0]}else{j(G);return}if(f.original.dispatchEvent(ue("medium-zoom:open",{detail:{zoom:G}})),Re=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,X=!0,f.zoomed=Lr(f.original),document.body.appendChild(fe),A.template){var K=be(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(K.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",E),f.zoomed.addEventListener("transitionend",N),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ce),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ce=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ce),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var oe=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",oe),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O()})}else O()})},E=function(){return new o(function(V){if(X||!f.original){V(G);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),X=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(ue("medium-zoom:closed",{detail:{zoom:G}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,V(G)};X=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(ue("medium-zoom:close",{detail:{zoom:G}})),f.zoomed.addEventListener("transitionend",w)})},D=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target;return f.original?E():I({target:w})},C=function(){return A},R=function(){return F},Y=function(){return f.original},F=[],ne=[],X=!1,Re=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&b(e),A=se({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=$r(A.background);document.addEventListener("click",n),document.addEventListener("keyup",l),document.addEventListener("scroll",r),window.addEventListener("resize",E);var G={open:I,close:E,toggle:D,update:d,clone:c,attach:b,detach:$,on:_,off:S,getOptions:C,getImages:R,getZoomedImage:Y};return G};function Sr(a,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=a:n.appendChild(document.createTextNode(a))}}var Vr=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Sr(Vr);const Tr=["id","host","repo","repoid","category","categoryid","mapping","term","strict","reactionsenabled","emitmetadata","inputposition","theme","lang","loading"],wr=g({__name:"Giscus",props:{id:{},host:{},repo:{},repoId:{},category:{},categoryId:{},mapping:{},term:{},theme:{},strict:{},reactionsEnabled:{},emitMetadata:{},inputPosition:{},lang:{},loading:{}},setup(a){const e=z(!1);return x(()=>{e.value=!0,ot(()=>import("./giscus-aTimukGI.CKTvSCx2.js"),[])}),(t,o)=>e.value?(s(),m("giscus-widget",{key:0,id:t.id,host:t.host,repo:t.repo,repoid:t.repoId,category:t.category,categoryid:t.categoryId,mapping:t.mapping,term:t.term,strict:t.strict,reactionsenabled:t.reactionsEnabled,emitmetadata:t.emitMetadata,inputposition:t.inputPosition,theme:t.theme,lang:t.lang,loading:t.loading},null,8,Tr)):h("",!0)}}),Ze=(a,e,t=!0)=>{var b;const o={id:"comment",host:"https://giscus.app",category:"General",mapping:"pathname",term:"Welcome to giscus!",reactionsEnabled:"1",inputPosition:"top",lang:"zh-CN",loading:"lazy",repo:"xxx/xxx",repoId:"",homePageShowComment:!1};if(a.locales){const _=document.querySelector("html").getAttribute("lang");_&&a.locales[_]&&(a.lang=a.locales[_])}const n=a.lightTheme||"light",r=a.darkTheme||"transparent_dark";let l=document.getElementById("giscus");if(l&&l.parentNode.removeChild(l),(e==null?void 0:e.value.comment)!==void 0){if(!(e!=null&&e.value.comment))return}else if(!t)return;if(!a.homePageShowComment&&(!location.pathname||location.pathname==="/"))return;const d=((b=document.querySelector("html"))==null?void 0:b.className.indexOf("dark"))!==-1,c=document.getElementsByClassName("content-container")[0];if(c){const $=document.createElement("div");$.setAttribute("id","giscus"),$.style.height="auto",$.style.marginTop="40px",$.style.borderTop="1px solid var(--vp-c-divider)",$.style.paddingTop="20px",c.append($),At({render:()=>ee(wr,{...o,theme:d?r:n,...a})}).mount("#giscus")}},Nr=a=>{const e=document.querySelector("html"),t=a.lightTheme||"light",o=a.darkTheme||"transparent_dark";new MutationObserver(r=>{r.forEach(l=>{if(l.type=="attributes"){let d=document.getElementById("comment");d==null||d.setAttribute("theme",e.className.indexOf("dark")!==-1?o:t)}})}).observe(e,{attributeFilter:["class"]})},Er=(a,e,t=!0)=>{x(()=>{Ze(a,e.frontmatter,t),Nr(a)}),J(()=>e.route.path,()=>De(()=>{Ze(a,e.frontmatter,t)}))},Ir=typeof global=="object"&&global!==null&&global.Object===Object&&global,Cr=typeof globalThis=="object"&&globalThis!==null&&globalThis.Object==Object&&globalThis,zr=typeof self=="object"&&self!==null&&self.Object===Object&&self;Cr||Ir||zr||Function("return this")();const Hr=/.md((\?|#).*)?$/,Mr=a=>/^(https?:)?\/\//.test(a),Ar=a=>a.startsWith("ftp://"),Br=(a,e="/")=>!!(Mr(a)||Ar(a)||a.startsWith("/")&&!a.startsWith(e)&&!Hr.test(a)),Or=a=>/^(?!www\.|http[s]?:\/\/|[A-Za-z]:\\|\/\/).*/.test(a),mt=({title:a,desc:e="",logo:t="",color:o="",link:n="",theme:r="normal",hoverShadow:l=!0,shadow:d=!0})=>{let c="";t===""&&n!==""&&(n.includes("bilibili.com")?c="i-custom-bilibili":n.includes("txc.qq.com")||n.includes("support.qq.com")?c="i-custom-txc":n.includes("youtube.com")?c="i-logos-youtube-icon":n.includes("twitter.com")?c="i-logos-twitter":n.includes("discord")?c="i-logos-discord-icon":n.includes("reddit.com")?c="i-logos-reddit-icon":n.includes("baidu.com")?c="i-custom-baidu":n.includes("qq.com")?c="i-custom-qq":n.includes("weixitianli.com")&&(c="i-custom-wxtl"));const b=[c===""?ee("img",{class:"vp-card-logo no-zoomable",src:me(t||"/阿库娅.png")}):ee("label",{class:`vp-card-icon ${c}`}),ee("div",{class:"vp-card-content"},[ee("div",{class:"vp-card-title",innerHTML:a}),ee("hr"),ee("div",{class:"vp-card-desc",innerHTML:e||(Or(n)?`https://oldmemorie.github.io/Tritium_docs/${n.substring(0,3).replace(/(\.\/|\/)/g,"")+n.substring(3)}`:n)})])],$={class:`vp-card vp-card-theme-${r} ${l?"vp-card-hover":""}`,title:a};return o&&($.style={background:o}),d&&($.style={"box-shadow":"var(--vp-shadow-1)"}),Br(n)?ee("a",{href:n,target:"_blank",...$},b):ee("a",{href:me(n),target:"_self",...$},b)};mt.displayName="Card";const Fr={extends:_r,enhanceApp({app:a}){kr({id:"G-NHBWV2NV00"}),a.component("VPCard",mt)},setup(){const a=pe(),e=()=>{Pr(".main img",{background:"var(--vp-c-bg)"})};x(()=>{e()}),J(()=>a.path,()=>De(()=>e()));const{frontmatter:t}=Qe();Er({repo:"TimeBreeze/Tritium_docs",repoId:"R_kgDOKuS8tw id",category:"Announcements",categoryId:"DIC_kwDOKuS8t84CcvVC",mapping:"pathname",inputPosition:"bottom",lang:"zh-CN"},{frontmatter:t,route:a},!0)}};export{Fr as R,es as c,T as u}; diff --git a/maisk_fiage/webroot/assets/chunks/theme.CpLOZU2l.js b/maisk_fiage/webroot/assets/chunks/theme.CpLOZU2l.js new file mode 100644 index 0000000..bd89b66 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/theme.CpLOZU2l.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.BfsfGEYa.js","assets/chunks/framework.BXE2pAXj.js"])))=>i.map(i=>d[i]); +import{d as g,o as s,c as m,r as u,n as M,a as re,t as H,b as y,w as v,e as h,T as Ae,_ as L,u as Qe,i as Pt,f as St,g as me,h as P,j as p,k as i,l as ie,m as Ie,p as z,q as J,s as ye,v as x,x as Be,y as Oe,z as Vt,A as Tt,B as le,F as B,C as W,D as xe,E as $e,G as k,H as Z,I as et,J as pe,K as ae,L as Le,M as wt,N as tt,O as Ce,P as De,Q as nt,R as Pe,S as Nt,U as Et,V as ot,W as at,X as st,Y as It,Z as Ct,$ as zt,a0 as Ht,a1 as Mt,a2 as At,a3 as ee}from"./framework.BXE2pAXj.js";const Bt=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(a){return(e,t)=>(s(),m("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[re(H(e.text),1)])],2))}}),Ot={key:0,class:"VPBackdrop"},Dt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(a){return(e,t)=>(s(),y(Ae,{name:"fade"},{default:v(()=>[e.show?(s(),m("div",Ot)):h("",!0)]),_:1}))}}),Ft=L(Dt,[["__scopeId","data-v-555f8904"]]),T=Qe;function jt(a,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(a,e):(a(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ze(a){return/^\//.test(a)?a:`/${a}`}function Fe(a){const{pathname:e,search:t,hash:o,protocol:n}=new URL(a,"http://a.com");if(Pt(a)||a.startsWith("#")||!n.startsWith("http")||!St(e))return a;const{site:r}=T(),l=e.endsWith("/")||e.endsWith(".html")?a:a.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${o}`);return me(l)}function ve({correspondingLink:a=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:r}=T(),l=P(()=>{var c,b;return{label:(c=e.value.locales[t.value])==null?void 0:c.label,link:((b=e.value.locales[t.value])==null?void 0:b.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:P(()=>Object.entries(e.value.locales).flatMap(([c,b])=>l.value.label===b.label?[]:{text:b.label,link:Gt(b.link||(c==="root"?"/":`/${c}/`),n.value.i18nRouting!==!1&&a,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function Gt(a,e,t,o){return e?a.replace(/\/$/,"")+ze(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):a}const Ut={class:"NotFound"},qt={class:"code"},Wt={class:"title"},Rt={class:"quote"},Kt={class:"action"},Jt=["href","aria-label"],Yt=g({__name:"NotFound",setup(a){const{theme:e}=T(),{currentLang:t}=ve();return(o,n)=>{var r,l,d,c,b;return s(),m("div",Ut,[p("p",qt,H(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),p("h1",Wt,H(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",Rt,H(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Kt,[p("a",{class:"link",href:i(me)(i(t).link),"aria-label":((c=i(e).notFound)==null?void 0:c.linkLabel)??"go to home"},H(((b=i(e).notFound)==null?void 0:b.linkText)??"Take me home"),9,Jt)])])}}}),Xt=L(Yt,[["__scopeId","data-v-a2512220"]]);function rt(a,e){if(Array.isArray(a))return _e(a);if(a==null)return[];e=ze(e);const t=Object.keys(a).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(ze(n))),o=t?a[t]:[];return Array.isArray(o)?_e(o):_e(o.items,o.base)}function Zt(a){const e=[];let t=0;for(const o in a){const n=a[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function Qt(a){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(a),e}function He(a,e){return Array.isArray(e)?e.some(t=>He(a,t)):ie(a,e.link)?!0:e.items?He(a,e.items):!1}function _e(a,e){return[...a].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=_e(o.items,n)),o})}function te(){const{frontmatter:a,page:e,theme:t}=T(),o=Ie("(min-width: 960px)"),n=z(!1),r=P(()=>{const D=t.value.sidebar,C=e.value.relativePath;return D?rt(D,C):[]}),l=z(r.value);J(r,(D,C)=>{JSON.stringify(D)!==JSON.stringify(C)&&(l.value=r.value)});const d=P(()=>a.value.sidebar!==!1&&l.value.length>0&&a.value.layout!=="home"),c=P(()=>b?a.value.aside==null?t.value.aside==="left":a.value.aside==="left":!1),b=P(()=>a.value.layout==="home"?!1:a.value.aside!=null?!!a.value.aside:t.value.aside!==!1),$=P(()=>d.value&&o.value),_=P(()=>d.value?Zt(l.value):[]);function S(){n.value=!0}function I(){n.value=!1}function E(){n.value?I():S()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:b,leftAside:c,isSidebarEnabled:$,open:S,close:I,toggle:E}}function xt(a,e){let t;ye(()=>{t=a.value?document.activeElement:void 0}),x(()=>{window.addEventListener("keyup",o)}),Be(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&a.value&&(e(),t==null||t.focus())}}function en(a){const{page:e,hash:t}=T(),o=z(!1),n=P(()=>a.value.collapsed!=null),r=P(()=>!!a.value.link),l=z(!1),d=()=>{l.value=ie(e.value.relativePath,a.value.link)};J([e,a,t],d),x(d);const c=P(()=>l.value?!0:a.value.items?He(e.value.relativePath,a.value.items):!1),b=P(()=>!!(a.value.items&&a.value.items.length));ye(()=>{o.value=!!(n.value&&a.value.collapsed)}),Oe(()=>{(l.value||c.value)&&(o.value=!1)});function $(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:c,hasChildren:b,toggle:$}}function tn(){const{hasSidebar:a}=te(),e=Ie("(min-width: 960px)"),t=Ie("(min-width: 1280px)");return{isAsideEnabled:P(()=>!t.value&&!e.value?!1:a.value?t.value:e.value)}}const Me=[];function it(a){return typeof a.outline=="object"&&!Array.isArray(a.outline)&&a.outline.label||a.outlineTitle||"On this page"}function je(a){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:nn(t),link:"#"+t.id,level:o}});return on(e,a)}function nn(a){let e="";for(const t of a.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function on(a,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return rn(a,o,n)}function an(a,e){const{isAsideEnabled:t}=tn(),o=jt(r,100);let n=null;x(()=>{requestAnimationFrame(r),window.addEventListener("scroll",o)}),Vt(()=>{l(location.hash)}),Be(()=>{window.removeEventListener("scroll",o)});function r(){if(!t.value)return;const d=window.scrollY,c=window.innerHeight,b=document.body.offsetHeight,$=Math.abs(d+c-b)<1,_=Me.map(({element:I,link:E})=>({link:E,top:sn(I)})).filter(({top:I})=>!Number.isNaN(I)).sort((I,E)=>I.top-E.top);if(!_.length){l(null);return}if(d<1){l(null);return}if($){l(_[_.length-1].link);return}let S=null;for(const{link:I,top:E}of _){if(E>d+Tt()+4)break;S=I}l(S)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=a.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const c=n;c?(c.classList.add("active"),e.value.style.top=c.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function sn(a){let e=0;for(;a!==document.body;){if(a===null)return NaN;e+=a.offsetTop,a=a.offsetParent}return e}function rn(a,e,t){Me.length=0;const o=[],n=[];return a.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=le("VPDocOutlineItem",!0);return s(),m("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),m(B,null,W(t.headers,({children:r,link:l,title:d})=>(s(),m("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},H(d),9,ln),r!=null&&r.length?(s(),y(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),lt=L(cn,[["__scopeId","data-v-8b07c751"]]),un={class:"content"},dn={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},mn=g({__name:"VPDocAsideOutline",setup(a){const{frontmatter:e,theme:t}=T(),o=xe([]);$e(()=>{o.value=je(e.value.outline??t.value.outline)});const n=z(),r=z();return an(n,r),(l,d)=>(s(),m("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",un,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",dn,H(i(it)(i(t))),1),k(lt,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),pn=L(mn,[["__scopeId","data-v-1ca7049f"]]),vn={class:"VPDocAsideCarbonAds"},fn=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(a){const e=()=>null;return(t,o)=>(s(),m("div",vn,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),hn={class:"VPDocAside"},gn=g({__name:"VPDocAside",setup(a){const{theme:e}=T();return(t,o)=>(s(),m("div",hn,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(pn),u(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(s(),y(fn,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),_n=L(gn,[["__scopeId","data-v-1c6e4e59"]]);function bn(){const{theme:a,page:e}=T();return P(()=>{const{text:t="Edit this page",pattern:o=""}=a.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function kn(){const{page:a,theme:e,frontmatter:t}=T();return P(()=>{var b,$,_,S,I,E,D,C;const o=rt(e.value.sidebar,a.value.relativePath),n=Qt(o),r=yn(n,R=>R.link.replace(/[?#].*$/,"")),l=r.findIndex(R=>ie(a.value.relativePath,R.link)),d=((b=e.value.docFooter)==null?void 0:b.prev)===!1&&!t.value.prev||t.value.prev===!1,c=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((S=r[l-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=r[l-1])==null?void 0:I.link)},next:c?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[l+1])==null?void 0:E.docFooterText)??((D=r[l+1])==null?void 0:D.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=r[l+1])==null?void 0:C.link)}}})}function yn(a,e){const t=new Set;return a.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const Q=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.tag??(e.href?"a":"span")),o=P(()=>e.href&&et.test(e.href)||e.target==="_blank");return(n,r)=>(s(),y(Z(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(Fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:v(()=>[u(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),$n={class:"VPLastUpdated"},Ln=["datetime"],Pn=g({__name:"VPDocFooterLastUpdated",setup(a){const{theme:e,page:t,lang:o}=T(),n=P(()=>new Date(t.value.lastUpdated)),r=P(()=>n.value.toISOString()),l=z("");return x(()=>{ye(()=>{var d,c,b;l.value=new Intl.DateTimeFormat((c=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&c.forceLocale?o.value:void 0,((b=e.value.lastUpdated)==null?void 0:b.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,c)=>{var b;return s(),m("p",$n,[re(H(((b=i(e).lastUpdated)==null?void 0:b.text)||i(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:r.value},H(l.value),9,Ln)])}}}),Sn=L(Pn,[["__scopeId","data-v-9df8358f"]]),Vn={key:0,class:"VPDocFooter"},Tn={key:0,class:"edit-info"},wn={key:0,class:"edit-link"},Nn={key:1,class:"last-updated"},En={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},In={class:"pager"},Cn=["innerHTML"],zn=["innerHTML"],Hn={class:"pager"},Mn=["innerHTML"],An=["innerHTML"],Bn=g({__name:"VPDocFooter",setup(a){const{theme:e,page:t,frontmatter:o}=T(),n=bn(),r=kn(),l=P(()=>e.value.editLink&&o.value.editLink!==!1),d=P(()=>t.value.lastUpdated),c=P(()=>l.value||d.value||r.value.prev||r.value.next);return(b,$)=>{var _,S,I,E;return c.value?(s(),m("footer",Vn,[u(b.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(s(),m("div",Tn,[l.value?(s(),m("div",wn,[k(Q,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:v(()=>[$[0]||($[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),re(" "+H(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),m("div",Nn,[k(Sn)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(S=i(r).next)!=null&&S.link?(s(),m("nav",En,[$[1]||($[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",In,[(I=i(r).prev)!=null&&I.link?(s(),y(Q,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.prev)||"Previous page"},null,8,Cn),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,zn)]}),_:1},8,["href"])):h("",!0)]),p("div",Hn,[(E=i(r).next)!=null&&E.link?(s(),y(Q,{key:0,class:"pager-link next",href:i(r).next.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.next)||"Next page"},null,8,Mn),p("span",{class:"title",innerHTML:i(r).next.text},null,8,An)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),On=L(Bn,[["__scopeId","data-v-73bc8135"]]),Dn={class:"container"},Fn={class:"aside-container"},jn={class:"aside-content"},Gn={class:"content"},Un={class:"content-container"},qn={class:"main"},Wn=g({__name:"VPDoc",setup(a){const{theme:e}=T(),t=pe(),{hasSidebar:o,hasAside:n,leftAside:r}=te(),l=P(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,c)=>{const b=le("Content");return s(),m("div",{class:M(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[u(d.$slots,"doc-top",{},void 0,!0),p("div",Dn,[i(n)?(s(),m("div",{key:0,class:M(["aside",{"left-aside":i(r)}])},[c[0]||(c[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",Fn,[p("div",jn,[k(_n,null,{"aside-top":v(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Gn,[p("div",Un,[u(d.$slots,"doc-before",{},void 0,!0),p("main",qn,[k(b,{class:M(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(On,null,{"doc-footer-before":v(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(d.$slots,"doc-after",{},void 0,!0)])])]),u(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Rn=L(Wn,[["__scopeId","data-v-954eab99"]]),Kn=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.href&&et.test(e.href)),o=P(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(s(),y(Z(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?i(Fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[re(H(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Jn=L(Kn,[["__scopeId","data-v-d931a3b4"]]),Yn=["src","alt"],Xn=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(a){return(e,t)=>{const o=le("VPImage",!0);return e.image?(s(),m(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),m("img",ae({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(me)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Yn)):(s(),m(B,{key:1},[k(o,ae({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(o,ae({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=L(Xn,[["__scopeId","data-v-430dcc9b"]]),Zn={class:"container"},Qn={class:"main"},xn={key:0,class:"name"},eo=["innerHTML"],to=["innerHTML"],no=["innerHTML"],oo={key:0,class:"actions"},ao={key:0,class:"image"},so={class:"image-container"},ro=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(a){const e=Le("hero-image-slot-exists");return(t,o)=>(s(),m("div",{class:M(["VPHero",{"has-image":t.image||i(e)}])},[p("div",Zn,[p("div",Qn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(s(),m("h1",xn,[p("span",{innerHTML:t.name,class:"clip"},null,8,eo)])):h("",!0),t.text?(s(),m("p",{key:1,innerHTML:t.text,class:"text"},null,8,to)):h("",!0),t.tagline?(s(),m("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,no)):h("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),m("div",oo,[(s(!0),m(B,null,W(t.actions,n=>(s(),m("div",{key:n.link,class:"action"},[k(Jn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(s(),m("div",ao,[p("div",so,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(s(),y(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),io=L(ro,[["__scopeId","data-v-d74ca98a"]]),lo=g({__name:"VPHomeHero",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).hero?(s(),y(io,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),co={class:"box"},uo={key:0,class:"icon"},mo=["innerHTML"],po=["innerHTML"],vo=["innerHTML"],fo={key:4,class:"link-text"},ho={class:"link-text-value"},go=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(a){return(e,t)=>(s(),y(Q,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[p("article",co,[typeof e.icon=="object"&&e.icon.wrap?(s(),m("div",uo,[k(ke,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),y(ke,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),m("div",{key:2,class:"icon",innerHTML:e.icon},null,8,mo)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,po),e.details?(s(),m("p",{key:3,class:"details",innerHTML:e.details},null,8,vo)):h("",!0),e.linkText?(s(),m("div",fo,[p("p",ho,[re(H(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),_o=L(go,[["__scopeId","data-v-dd502c38"]]),bo={key:0,class:"VPFeatures"},ko={class:"container"},yo={class:"items"},$o=g({__name:"VPFeatures",props:{features:{}},setup(a){const e=a,t=P(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(s(),m("div",bo,[p("div",ko,[p("div",yo,[(s(!0),m(B,null,W(o.features,r=>(s(),m("div",{key:r.title,class:M(["item",[t.value]])},[k(_o,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Lo=L($o,[["__scopeId","data-v-f4290047"]]),Po=g({__name:"VPHomeFeatures",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).features?(s(),y(Lo,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),So=g({__name:"VPHomeContent",setup(a){const{width:e}=wt({initialWidth:0,includeScrollbar:!1});return(t,o)=>(s(),m("div",{class:"vp-doc container",style:tt(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),Vo=L(So,[["__scopeId","data-v-5db0fc11"]]),To={class:"VPHome"},wo=g({__name:"VPHome",setup(a){const{frontmatter:e}=T();return(t,o)=>{const n=le("Content");return s(),m("div",To,[u(t.$slots,"home-hero-before",{},void 0,!0),k(lo,null,{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(Po),u(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(s(),y(Vo,{key:0},{default:v(()=>[k(n)]),_:1})):(s(),y(n,{key:1}))])}}}),No=L(wo,[["__scopeId","data-v-945e2803"]]),Eo={},Io={class:"VPPage"};function Co(a,e){const t=le("Content");return s(),m("div",Io,[u(a.$slots,"page-top"),k(t),u(a.$slots,"page-bottom")])}const zo=L(Eo,[["render",Co]]),Ho=g({__name:"VPContent",setup(a){const{page:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>(s(),m("div",{class:M(["VPContent",{"has-sidebar":i(o),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(n.$slots,"not-found",{key:0},()=>[k(Xt)],!0):i(t).layout==="page"?(s(),y(zo,{key:1},{"page-top":v(()=>[u(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(s(),y(No,{key:2},{"home-hero-before":v(()=>[u(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(s(),y(Z(i(t).layout),{key:3})):(s(),y(Rn,{key:4},{"doc-top":v(()=>[u(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Mo=L(Ho,[["__scopeId","data-v-e21f1c97"]]),Ao={class:"container"},Bo=["innerHTML"],Oo=["innerHTML"],Do=g({__name:"VPFooter",setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>i(e).footer&&i(t).footer!==!1?(s(),m("footer",{key:0,class:M(["VPFooter",{"has-sidebar":i(o)}])},[p("div",Ao,[i(e).footer.message?(s(),m("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Bo)):h("",!0),i(e).footer.copyright?(s(),m("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,Oo)):h("",!0)])],2)):h("",!0)}}),Fo=L(Do,[["__scopeId","data-v-30d44c97"]]);function jo(){const{theme:a,frontmatter:e}=T(),t=xe([]),o=P(()=>t.value.length>0);return $e(()=>{t.value=je(e.value.outline??a.value.outline)}),{headers:t,hasLocalNav:o}}const Go={class:"menu-text"},Uo={class:"header"},qo={class:"outline"},Wo=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(a){const e=a,{theme:t}=T(),o=z(!1),n=z(0),r=z(),l=z();function d(_){var S;(S=r.value)!=null&&S.contains(_.target)||(o.value=!1)}J(o,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),Ce("Escape",()=>{o.value=!1}),$e(()=>{o.value=!1});function c(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function b(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),De(()=>{o.value=!1}))}function $(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,S)=>(s(),m("div",{class:"VPLocalNavOutlineDropdown",style:tt({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(s(),m("button",{key:0,onClick:c,class:M({open:o.value})},[p("span",Go,H(i(it)(i(t))),1),S[0]||(S[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),m("button",{key:1,onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)),k(Ae,{name:"flyout"},{default:v(()=>[o.value?(s(),m("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[p("div",Uo,[p("a",{class:"top-link",href:"#",onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)]),p("div",qo,[k(lt,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Ro=L(Wo,[["__scopeId","data-v-e15d2741"]]),Ko={class:"container"},Jo=["aria-expanded"],Yo={class:"menu-text"},Xo=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te(),{headers:n}=jo(),{y:r}=nt(),l=z(0);x(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),$e(()=>{n.value=je(t.value.outline??e.value.outline)});const d=P(()=>n.value.length===0),c=P(()=>d.value&&!o.value),b=P(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:d.value,fixed:c.value}));return($,_)=>i(t).layout!=="home"&&(!c.value||i(r)>=l.value)?(s(),m("div",{key:0,class:M(b.value)},[p("div",Ko,[i(o)?(s(),m("button",{key:0,class:"menu","aria-expanded":$.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=S=>$.$emit("open-menu"))},[_[1]||(_[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",Yo,H(i(e).sidebarMenuLabel||"Menu"),1)],8,Jo)):h("",!0),k(Ro,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Zo=L(Xo,[["__scopeId","data-v-9b286bf4"]]);function Qo(){const a=z(!1);function e(){a.value=!0,window.addEventListener("resize",n)}function t(){a.value=!1,window.removeEventListener("resize",n)}function o(){a.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=pe();return J(()=>r.path,t),{isScreenOpen:a,openScreen:e,closeScreen:t,toggleScreen:o}}const xo={},ea={class:"VPSwitch",type:"button",role:"switch"},ta={class:"check"},na={key:0,class:"icon"};function oa(a,e){return s(),m("button",ea,[p("span",ta,[a.$slots.default?(s(),m("span",na,[u(a.$slots,"default",{},void 0,!0)])):h("",!0)])])}const aa=L(xo,[["render",oa],["__scopeId","data-v-5f515241"]]),sa=g({__name:"VPSwitchAppearance",setup(a){const{isDark:e,theme:t}=T(),o=Le("toggle-appearance",()=>{e.value=!e.value}),n=z("");return Oe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),y(aa,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(o)},{default:v(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),Ge=L(sa,[["__scopeId","data-v-c66bea29"]]),ra={key:0,class:"VPNavBarAppearance"},ia=g({__name:"VPNavBarAppearance",setup(a){const{site:e}=T();return(t,o)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",ra,[k(Ge)])):h("",!0)}}),la=L(ia,[["__scopeId","data-v-fb4cefbb"]]),Ue=z();let ct=!1,Ee=0;function ca(a){const e=z(!1);if(Pe){!ct&&ua(),Ee++;const t=J(Ue,o=>{var n,r,l;o===a.el.value||(n=a.el.value)!=null&&n.contains(o)?(e.value=!0,(r=a.onFocus)==null||r.call(a)):(e.value=!1,(l=a.onBlur)==null||l.call(a))});Be(()=>{t(),Ee--,Ee||da()})}return Nt(e)}function ua(){document.addEventListener("focusin",ut),ct=!0,Ue.value=document.activeElement}function da(){document.removeEventListener("focusin",ut)}function ut(){Ue.value=document.activeElement}const ma={class:"VPMenuLink"},pa=["innerHTML"],va=g({__name:"VPMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),m("div",ma,[k(Q,{class:M({active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,pa)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),Se=L(va,[["__scopeId","data-v-00baf487"]]),fa={class:"VPMenuGroup"},ha={key:0,class:"title"},ga=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",fa,[e.text?(s(),m("p",ha,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),m(B,null,["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),_a=L(ga,[["__scopeId","data-v-bd0f1d65"]]),ba={class:"VPMenu"},ka={key:0,class:"items"},ya=g({__name:"VPMenu",props:{items:{}},setup(a){return(e,t)=>(s(),m("div",ba,[e.items?(s(),m("div",ka,[(s(!0),m(B,null,W(e.items,o=>(s(),m(B,{key:JSON.stringify(o)},["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):"component"in o?(s(),y(Z(o.component),ae({key:1,ref_for:!0},o.props),null,16)):(s(),y(_a,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),$a=L(ya,[["__scopeId","data-v-3613d363"]]),La=["aria-expanded","aria-label"],Pa={key:0,class:"text"},Sa=["innerHTML"],Va={key:1,class:"vpi-more-horizontal icon"},Ta={class:"menu"},wa=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(a){const e=z(!1),t=z();ca({el:t,onBlur:o});function o(){e.value=!1}return(n,r)=>(s(),m("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(s(),m("span",Pa,[n.icon?(s(),m("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),m("span",{key:1,innerHTML:n.button},null,8,Sa)):h("",!0),r[3]||(r[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),m("span",Va))],8,La),p("div",Ta,[k($a,{items:n.items},{default:v(()=>[u(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=L(wa,[["__scopeId","data-v-15b46e80"]]),Na=["href","aria-label","innerHTML"],Ea=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(a){const e=a,t=P(()=>typeof e.icon=="object"?e.icon.svg:``);return(o,n)=>(s(),m("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Na))}}),Ia=L(Ea,[["__scopeId","data-v-2e3c9df7"]]),Ca={class:"VPSocialLinks"},za=g({__name:"VPSocialLinks",props:{links:{}},setup(a){return(e,t)=>(s(),m("div",Ca,[(s(!0),m(B,null,W(e.links,({link:o,icon:n,ariaLabel:r})=>(s(),y(Ia,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),We=L(za,[["__scopeId","data-v-2ec96a47"]]),Ha={key:0,class:"group translations"},Ma={class:"trans-title"},Aa={key:1,class:"group"},Ba={class:"item appearance"},Oa={class:"label"},Da={class:"appearance-action"},Fa={key:2,class:"group"},ja={class:"item social-links"},Ga=g({__name:"VPNavBarExtra",setup(a){const{site:e,theme:t}=T(),{localeLinks:o,currentLang:n}=ve({correspondingLink:!0}),r=P(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(s(),y(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(o).length&&i(n).label?(s(),m("div",Ha,[p("p",Ma,H(i(n).label),1),(s(!0),m(B,null,W(i(o),c=>(s(),y(Se,{key:c.link,item:c},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Aa,[p("div",Ba,[p("p",Oa,H(i(t).darkModeSwitchLabel||"Appearance"),1),p("div",Da,[k(Ge)])])])):h("",!0),i(t).socialLinks?(s(),m("div",Fa,[p("div",ja,[k(We,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Ua=L(Ga,[["__scopeId","data-v-eed872a2"]]),qa=["aria-expanded"],Wa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(a){return(e,t)=>(s(),m("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,qa))}}),Ra=L(Wa,[["__scopeId","data-v-6bee53bd"]]),Ka=["innerHTML"],Ja=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),y(Q,{class:M({VPNavBarMenuLink:!0,active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Ka)]),_:1},8,["class","href","target","rel","no-icon"]))}}),Ya=L(Ja,[["__scopeId","data-v-1eb8619e"]]),Xa=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(a){const e=a,{page:t}=T(),o=r=>"component"in r?!1:"link"in r?ie(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(o),n=P(()=>o(e.item));return(r,l)=>(s(),y(qe,{class:M({VPNavBarMenuGroup:!0,active:i(ie)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Za={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Qa=g({__name:"VPNavBarMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Za,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Ya,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props),null,16)):(s(),y(Xa,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),xa=L(Qa,[["__scopeId","data-v-4a55a947"]]);function es(a){const{localeIndex:e,theme:t}=T();function o(n){var E,D,C;const r=n.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",c=d&&((C=(D=l.locales)==null?void 0:D[e.value])==null?void 0:C.translations)||null,b=d&&l.translations||null;let $=c,_=b,S=a;const I=r.pop();for(const R of r){let Y=null;const F=S==null?void 0:S[R];F&&(Y=S=F);const ne=_==null?void 0:_[R];ne&&(Y=_=ne);const X=$==null?void 0:$[R];X&&(Y=$=X),F||(S=Y),ne||(_=Y),X||($=Y)}return($==null?void 0:$[I])??(_==null?void 0:_[I])??(S==null?void 0:S[I])??""}return o}const ts=["aria-label"],ns={class:"DocSearch-Button-Container"},os={class:"DocSearch-Button-Placeholder"},Je=g({__name:"VPNavBarSearchButton",setup(a){const t=es({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(s(),m("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[p("span",ns,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",os,H(i(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ts))}}),as={class:"VPNavBarSearch"},ss={id:"local-search"},rs={key:1,id:"docsearch"},is=g({__name:"VPNavBarSearch",setup(a){const e=Et(()=>ot(()=>import("./VPLocalSearchBox.BfsfGEYa.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=T(),n=z(!1),r=z(!1);x(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function c(_){const S=_.target,I=S.tagName;return S.isContentEditable||I==="INPUT"||I==="SELECT"||I==="TEXTAREA"}const b=z(!1);Ce("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),b.value=!0)}),Ce("/",_=>{c(_)||(_.preventDefault(),b.value=!0)});const $="local";return(_,S)=>{var I;return s(),m("div",as,[i($)==="local"?(s(),m(B,{key:0},[b.value?(s(),y(i(e),{key:0,onClose:S[0]||(S[0]=E=>b.value=!1)})):h("",!0),p("div",ss,[k(Je,{onClick:S[1]||(S[1]=E=>b.value=!0)})])],64)):i($)==="algolia"?(s(),m(B,{key:1},[n.value?(s(),y(i(t),{key:0,algolia:((I=i(o).search)==null?void 0:I.options)??i(o).algolia,onVnodeBeforeMount:S[2]||(S[2]=E=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(s(),m("div",rs,[k(Je,{onClick:l})]))],64)):h("",!0)])}}}),ls=g({__name:"VPNavBarSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),cs=L(ls,[["__scopeId","data-v-3e7e1f46"]]),us=["href","rel","target"],ds={key:1},ms={key:2},ps=g({__name:"VPNavBarTitle",setup(a){const{site:e,theme:t}=T(),{hasSidebar:o}=te(),{currentLang:n}=ve(),r=P(()=>{var c;return typeof t.value.logoLink=="string"?t.value.logoLink:(c=t.value.logoLink)==null?void 0:c.link}),l=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.rel}),d=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.target});return(c,b)=>(s(),m("div",{class:M(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(Fe)(i(n).link),rel:l.value,target:d.value},[u(c.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(s(),y(ke,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(s(),m("span",ds,H(i(t).siteTitle),1)):i(t).siteTitle===void 0?(s(),m("span",ms,H(i(e).title),1)):h("",!0),u(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,us)],2))}}),vs=L(ps,[["__scopeId","data-v-204b6ee7"]]),fs={class:"items"},hs={class:"title"},gs=g({__name:"VPNavBarTranslations",setup(a){const{theme:e}=T(),{localeLinks:t,currentLang:o}=ve({correspondingLink:!0});return(n,r)=>i(t).length&&i(o).label?(s(),y(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:v(()=>[p("div",fs,[p("p",hs,H(i(o).label),1),(s(!0),m(B,null,W(i(t),l=>(s(),y(Se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),_s=L(gs,[["__scopeId","data-v-a4dce8d3"]]),bs={class:"wrapper"},ks={class:"container"},ys={class:"title"},$s={class:"content"},Ls={class:"content-body"},Ps=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(a){const e=a,{y:t}=nt(),{hasSidebar:o}=te(),{frontmatter:n}=T(),r=z({});return Oe(()=>{r.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(s(),m("div",{class:M(["VPNavBar",r.value])},[p("div",bs,[p("div",ks,[p("div",ys,[k(vs,null,{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",$s,[p("div",Ls,[u(l.$slots,"nav-bar-content-before",{},void 0,!0),k(is,{class:"search"}),k(xa,{class:"menu"}),k(_s,{class:"translations"}),k(la,{class:"appearance"}),k(cs,{class:"social-links"}),k(Ua,{class:"extra"}),u(l.$slots,"nav-bar-content-after",{},void 0,!0),k(Ra,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=c=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),Ss=L(Ps,[["__scopeId","data-v-63cad245"]]),Vs={key:0,class:"VPNavScreenAppearance"},Ts={class:"text"},ws=g({__name:"VPNavScreenAppearance",setup(a){const{site:e,theme:t}=T();return(o,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Vs,[p("p",Ts,H(i(t).darkModeSwitchLabel||"Appearance"),1),k(Ge)])):h("",!0)}}),Ns=L(ws,[["__scopeId","data-v-01da29ba"]]),Es=["innerHTML"],Is=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Es)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Cs=L(Is,[["__scopeId","data-v-8ffd5011"]]),zs=["innerHTML"],Hs=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),dt=L(Hs,[["__scopeId","data-v-99f4497d"]]),Ms={class:"VPNavScreenMenuGroupSection"},As={key:0,class:"title"},Bs=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",Ms,[e.text?(s(),m("p",As,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),y(dt,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Os=L(Bs,[["__scopeId","data-v-a37a870b"]]),Ds=["aria-controls","aria-expanded"],Fs=["innerHTML"],js=["id"],Gs={key:0,class:"item"},Us={key:1,class:"item"},qs={key:2,class:"group"},Ws=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(a){const e=a,t=z(!1),o=P(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(s(),m("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,Fs),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,Ds),p("div",{id:o.value,class:"items"},[(s(!0),m(B,null,W(r.items,d=>(s(),m(B,{key:JSON.stringify(d)},["link"in d?(s(),m("div",Gs,[k(dt,{item:d},null,8,["item"])])):"component"in d?(s(),m("div",Us,[(s(),y(Z(d.component),ae({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),m("div",qs,[k(Os,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,js)],2))}}),Rs=L(Ws,[["__scopeId","data-v-e2a9fdbf"]]),Ks={key:0,class:"VPNavScreenMenu"},Js=g({__name:"VPNavScreenMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Ks,[(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Cs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),y(Rs,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Ys=g({__name:"VPNavScreenSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),Xs={class:"list"},Zs=g({__name:"VPNavScreenTranslations",setup(a){const{localeLinks:e,currentLang:t}=ve({correspondingLink:!0}),o=z(!1);function n(){o.value=!o.value}return(r,l)=>i(e).length&&i(t).label?(s(),m("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),re(" "+H(i(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",Xs,[(s(!0),m(B,null,W(i(e),d=>(s(),m("li",{key:d.link,class:"item"},[k(Q,{class:"link",href:d.link},{default:v(()=>[re(H(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Qs=L(Zs,[["__scopeId","data-v-de1d668d"]]),xs={class:"container"},er=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(a){const e=z(null),t=at(Pe?document.body:null);return(o,n)=>(s(),y(Ae,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:v(()=>[o.open?(s(),m("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",xs,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),k(Js,{class:"menu"}),k(Qs,{class:"translations"}),k(Ns,{class:"appearance"}),k(Ys,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),tr=L(er,[["__scopeId","data-v-f2624b07"]]),nr={key:0,class:"VPNav"},or=g({__name:"VPNav",setup(a){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=Qo(),{frontmatter:n}=T(),r=P(()=>n.value.navbar!==!1);return st("close-screen",t),ye(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(s(),m("header",nr,[k(Ss,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(tr,{open:i(e)},{"nav-screen-content-before":v(()=>[u(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ar=L(or,[["__scopeId","data-v-589e79fd"]]),sr=["role","tabindex"],rr={key:1,class:"items"},ir=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(a){const e=a,{collapsed:t,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:c}=en(P(()=>e.item)),b=P(()=>d.value?"section":"div"),$=P(()=>n.value?"a":"div"),_=P(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=P(()=>n.value?void 0:"button"),I=P(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function E(C){"key"in C&&C.key!=="Enter"||!e.item.link&&c()}function D(){e.item.link&&c()}return(C,R)=>{const Y=le("VPSidebarItem",!0);return s(),y(Z(b.value),{class:M(["VPSidebarItem",I.value])},{default:v(()=>[C.item.text?(s(),m("div",ae({key:0,class:"item",role:S.value},It(C.item.items?{click:E,keydown:E}:{},!0),{tabindex:C.item.items&&0}),[R[1]||(R[1]=p("div",{class:"indicator"},null,-1)),C.item.link?(s(),y(Q,{key:0,tag:$.value,class:"link",href:C.item.link,rel:C.item.rel,target:C.item.target},{default:v(()=>[(s(),y(Z(_.value),{class:"text",innerHTML:C.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),y(Z(_.value),{key:1,class:"text",innerHTML:C.item.text},null,8,["innerHTML"])),C.item.collapsed!=null&&C.item.items&&C.item.items.length?(s(),m("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:D,onKeydown:Ct(D,["enter"]),tabindex:"0"},R[0]||(R[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,sr)):h("",!0),C.item.items&&C.item.items.length?(s(),m("div",rr,[C.depth<5?(s(!0),m(B,{key:0},W(C.item.items,F=>(s(),y(Y,{key:F.text,item:F,depth:C.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),lr=L(ir,[["__scopeId","data-v-ebdf843f"]]),cr=g({__name:"VPSidebarGroup",props:{items:{}},setup(a){const e=z(!0);let t=null;return x(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),zt(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(s(!0),m(B,null,W(o.items,r=>(s(),m("div",{key:r.text,class:M(["group",{"no-transition":e.value}])},[k(lr,{item:r,depth:0},null,8,["item"])],2))),128))}}),ur=L(cr,[["__scopeId","data-v-767e70d5"]]),dr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},mr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(a){const{sidebarGroups:e,hasSidebar:t}=te(),o=a,n=z(null),r=at(Pe?document.body:null);J([o,n],()=>{var d;o.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=z(0);return J(e,()=>{l.value+=1},{deep:!0}),(d,c)=>i(t)?(s(),m("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:c[0]||(c[0]=Ht(()=>{},["stop"]))},[c[2]||(c[2]=p("div",{class:"curtain"},null,-1)),p("nav",dr,[c[1]||(c[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),y(ur,{items:i(e),key:l.value},null,8,["items"])),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),pr=L(mr,[["__scopeId","data-v-4bfecd24"]]),vr=g({__name:"VPSkipLink",setup(a){const e=pe(),t=z();J(()=>e.path,()=>t.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(s(),m(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),fr=L(vr,[["__scopeId","data-v-35b2da14"]]),hr=g({__name:"Layout",setup(a){const{isOpen:e,open:t,close:o}=te(),n=pe();J(()=>n.path,o),xt(e,o);const{frontmatter:r}=T(),l=Mt(),d=P(()=>!!l["home-hero-image"]);return st("hero-image-slot-exists",d),(c,b)=>{const $=le("Content");return i(r).layout!==!1?(s(),m("div",{key:0,class:M(["Layout",i(r).pageClass])},[u(c.$slots,"layout-top",{},void 0,!0),k(fr),k(Ft,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),k(ar,null,{"nav-bar-title-before":v(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Zo,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(pr,{open:i(e)},{"sidebar-nav-before":v(()=>[u(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(Mo,null,{"page-top":v(()=>[u(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(c.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(c.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(c.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Fo),u(c.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),y($,{key:1}))}}}),gr=L(hr,[["__scopeId","data-v-2ef56004"]]),_r={Layout:gr,enhanceApp:({app:a})=>{a.component("Badge",Bt)}},br=a=>{if(window.dataLayer&&window.gtag)return;const e=document.createElement("script");e.src=`https://www.googletagmanager.com/gtag/js?id=${a}`,e.async=!0,document.head.appendChild(e),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),gtag("config",a)},kr=({id:a})=>{a&&typeof window<"u"&&br(a)};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var se=Object.assign||function(a){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},o=window.Promise||function(V){function w(){}V(w,w)},n=function(V){var w=V.target;if(w===fe){E();return}F.indexOf(w)!==-1&&D({target:w})},r=function(){if(!(X||!f.original)){var V=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(Re-V)>A.scrollOffset&&setTimeout(E,150)}},l=function(V){var w=V.key||V.keyCode;(w==="Escape"||w==="Esc"||w===27)&&E()},d=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V;if(V.background&&(fe.style.background=V.background),V.container&&V.container instanceof Object&&(w.container=se({},A.container,V.container)),V.template){var O=be(V.template)?V.template:document.querySelector(V.template);w.template=O}return A=se({},A,w),F.forEach(function(j){j.dispatchEvent(ue("medium-zoom:update",{detail:{zoom:G}}))}),G},c=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return a(se({},A,V))},b=function(){for(var V=arguments.length,w=Array(V),O=0;O0?w.reduce(function(N,q){return[].concat(N,Xe(q))},[]):F;return j.forEach(function(N){N.classList.remove("medium-zoom-image"),N.dispatchEvent(ue("medium-zoom:detach",{detail:{zoom:G}}))}),F=F.filter(function(N){return j.indexOf(N)===-1}),G},_=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.addEventListener("medium-zoom:"+V,w,O)}),ne.push({type:"medium-zoom:"+V,listener:w,options:O}),G},S=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.removeEventListener("medium-zoom:"+V,w,O)}),ne=ne.filter(function(j){return!(j.type==="medium-zoom:"+V&&j.listener.toString()===w.toString())}),G},I=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target,O=function(){var N={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},q=void 0,K=void 0;if(A.container)if(A.container instanceof Object)N=se({},N,A.container),q=N.width-N.left-N.right-A.margin*2,K=N.height-N.top-N.bottom-A.margin*2;else{var ce=be(A.container)?A.container:document.querySelector(A.container),oe=ce.getBoundingClientRect(),Ve=oe.width,pt=oe.height,vt=oe.left,ft=oe.top;N=se({},N,{width:Ve,height:pt,left:vt,top:ft})}q=q||N.width-A.margin*2,K=K||N.height-A.margin*2;var de=f.zoomedHd||f.original,ht=Ye(de)?q:de.naturalWidth||q,gt=Ye(de)?K:de.naturalHeight||K,he=de.getBoundingClientRect(),_t=he.top,bt=he.left,Te=he.width,we=he.height,kt=Math.min(Math.max(Te,ht),q)/Te,yt=Math.min(Math.max(we,gt),K)/we,Ne=Math.min(kt,yt),$t=(-bt+(q-Te)/2+A.margin+N.left)/Ne,Lt=(-_t+(K-we)/2+A.margin+N.top)/Ne,Ke="scale("+Ne+") translate3d("+$t+"px, "+Lt+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new o(function(j){if(w&&F.indexOf(w)===-1){j(G);return}var N=function Ve(){X=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(ue("medium-zoom:opened",{detail:{zoom:G}})),j(G)};if(f.zoomed){j(G);return}if(w)f.original=w;else if(F.length>0){var q=F;f.original=q[0]}else{j(G);return}if(f.original.dispatchEvent(ue("medium-zoom:open",{detail:{zoom:G}})),Re=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,X=!0,f.zoomed=Lr(f.original),document.body.appendChild(fe),A.template){var K=be(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(K.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",E),f.zoomed.addEventListener("transitionend",N),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ce),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ce=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ce),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var oe=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",oe),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O()})}else O()})},E=function(){return new o(function(V){if(X||!f.original){V(G);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),X=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(ue("medium-zoom:closed",{detail:{zoom:G}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,V(G)};X=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(ue("medium-zoom:close",{detail:{zoom:G}})),f.zoomed.addEventListener("transitionend",w)})},D=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target;return f.original?E():I({target:w})},C=function(){return A},R=function(){return F},Y=function(){return f.original},F=[],ne=[],X=!1,Re=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&b(e),A=se({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=$r(A.background);document.addEventListener("click",n),document.addEventListener("keyup",l),document.addEventListener("scroll",r),window.addEventListener("resize",E);var G={open:I,close:E,toggle:D,update:d,clone:c,attach:b,detach:$,on:_,off:S,getOptions:C,getImages:R,getZoomedImage:Y};return G};function Sr(a,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=a:n.appendChild(document.createTextNode(a))}}var Vr=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Sr(Vr);const Tr=["id","host","repo","repoid","category","categoryid","mapping","term","strict","reactionsenabled","emitmetadata","inputposition","theme","lang","loading"],wr=g({__name:"Giscus",props:{id:{},host:{},repo:{},repoId:{},category:{},categoryId:{},mapping:{},term:{},theme:{},strict:{},reactionsEnabled:{},emitMetadata:{},inputPosition:{},lang:{},loading:{}},setup(a){const e=z(!1);return x(()=>{e.value=!0,ot(()=>import("./giscus-aTimukGI.CKTvSCx2.js"),[])}),(t,o)=>e.value?(s(),m("giscus-widget",{key:0,id:t.id,host:t.host,repo:t.repo,repoid:t.repoId,category:t.category,categoryid:t.categoryId,mapping:t.mapping,term:t.term,strict:t.strict,reactionsenabled:t.reactionsEnabled,emitmetadata:t.emitMetadata,inputposition:t.inputPosition,theme:t.theme,lang:t.lang,loading:t.loading},null,8,Tr)):h("",!0)}}),Ze=(a,e,t=!0)=>{var b;const o={id:"comment",host:"https://giscus.app",category:"General",mapping:"pathname",term:"Welcome to giscus!",reactionsEnabled:"1",inputPosition:"top",lang:"zh-CN",loading:"lazy",repo:"xxx/xxx",repoId:"",homePageShowComment:!1};if(a.locales){const _=document.querySelector("html").getAttribute("lang");_&&a.locales[_]&&(a.lang=a.locales[_])}const n=a.lightTheme||"light",r=a.darkTheme||"transparent_dark";let l=document.getElementById("giscus");if(l&&l.parentNode.removeChild(l),(e==null?void 0:e.value.comment)!==void 0){if(!(e!=null&&e.value.comment))return}else if(!t)return;if(!a.homePageShowComment&&(!location.pathname||location.pathname==="/"))return;const d=((b=document.querySelector("html"))==null?void 0:b.className.indexOf("dark"))!==-1,c=document.getElementsByClassName("content-container")[0];if(c){const $=document.createElement("div");$.setAttribute("id","giscus"),$.style.height="auto",$.style.marginTop="40px",$.style.borderTop="1px solid var(--vp-c-divider)",$.style.paddingTop="20px",c.append($),At({render:()=>ee(wr,{...o,theme:d?r:n,...a})}).mount("#giscus")}},Nr=a=>{const e=document.querySelector("html"),t=a.lightTheme||"light",o=a.darkTheme||"transparent_dark";new MutationObserver(r=>{r.forEach(l=>{if(l.type=="attributes"){let d=document.getElementById("comment");d==null||d.setAttribute("theme",e.className.indexOf("dark")!==-1?o:t)}})}).observe(e,{attributeFilter:["class"]})},Er=(a,e,t=!0)=>{x(()=>{Ze(a,e.frontmatter,t),Nr(a)}),J(()=>e.route.path,()=>De(()=>{Ze(a,e.frontmatter,t)}))},Ir=typeof global=="object"&&global!==null&&global.Object===Object&&global,Cr=typeof globalThis=="object"&&globalThis!==null&&globalThis.Object==Object&&globalThis,zr=typeof self=="object"&&self!==null&&self.Object===Object&&self;Cr||Ir||zr||Function("return this")();const Hr=/.md((\?|#).*)?$/,Mr=a=>/^(https?:)?\/\//.test(a),Ar=a=>a.startsWith("ftp://"),Br=(a,e="/")=>!!(Mr(a)||Ar(a)||a.startsWith("/")&&!a.startsWith(e)&&!Hr.test(a)),Or=a=>/^(?!www\.|http[s]?:\/\/|[A-Za-z]:\\|\/\/).*/.test(a),mt=({title:a,desc:e="",logo:t="",color:o="",link:n="",theme:r="normal",hoverShadow:l=!0,shadow:d=!0})=>{let c="";t===""&&n!==""&&(n.includes("bilibili.com")?c="i-custom-bilibili":n.includes("txc.qq.com")||n.includes("support.qq.com")?c="i-custom-txc":n.includes("youtube.com")?c="i-logos-youtube-icon":n.includes("twitter.com")?c="i-logos-twitter":n.includes("discord")?c="i-logos-discord-icon":n.includes("reddit.com")?c="i-logos-reddit-icon":n.includes("baidu.com")?c="i-custom-baidu":n.includes("qq.com")?c="i-custom-qq":n.includes("weixitianli.com")&&(c="i-custom-wxtl"));const b=[c===""?ee("img",{class:"vp-card-logo no-zoomable",src:me(t||"/阿库娅.png")}):ee("label",{class:`vp-card-icon ${c}`}),ee("div",{class:"vp-card-content"},[ee("div",{class:"vp-card-title",innerHTML:a}),ee("hr"),ee("div",{class:"vp-card-desc",innerHTML:e||(Or(n)?`https://oldmemorie.github.io/Tritium_docs/${n.substring(0,3).replace(/(\.\/|\/)/g,"")+n.substring(3)}`:n)})])],$={class:`vp-card vp-card-theme-${r} ${l?"vp-card-hover":""}`,title:a};return o&&($.style={background:o}),d&&($.style={"box-shadow":"var(--vp-shadow-1)"}),Br(n)?ee("a",{href:n,target:"_blank",...$},b):ee("a",{href:me(n),target:"_self",...$},b)};mt.displayName="Card";const Fr={extends:_r,enhanceApp({app:a}){kr({id:"G-NHBWV2NV00"}),a.component("VPCard",mt)},setup(){const a=pe(),e=()=>{Pr(".main img",{background:"var(--vp-c-bg)"})};x(()=>{e()}),J(()=>a.path,()=>De(()=>e()));const{frontmatter:t}=Qe();Er({repo:"TimeBreeze/Tritium_docs",repoId:"R_kgDOKuS8tw id",category:"Announcements",categoryId:"DIC_kwDOKuS8t84CcvVC",mapping:"pathname",inputPosition:"bottom",lang:"zh-CN"},{frontmatter:t,route:a},!0)}};export{Fr as R,es as c,T as u}; diff --git a/maisk_fiage/webroot/assets/chunks/theme.DtwH47Qa.js b/maisk_fiage/webroot/assets/chunks/theme.DtwH47Qa.js new file mode 100644 index 0000000..269b3f6 --- /dev/null +++ b/maisk_fiage/webroot/assets/chunks/theme.DtwH47Qa.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.D7Ph3Mkl.js","assets/chunks/framework.BXE2pAXj.js"])))=>i.map(i=>d[i]); +import{d as g,o as s,c as m,r as u,n as M,a as re,t as H,b as y,w as v,e as h,T as Ae,_ as L,u as Qe,i as Pt,f as St,g as me,h as P,j as p,k as i,l as ie,m as Ie,p as z,q as J,s as ye,v as x,x as Be,y as Oe,z as Vt,A as Tt,B as le,F as B,C as W,D as xe,E as $e,G as k,H as Z,I as et,J as pe,K as ae,L as Le,M as wt,N as tt,O as Ce,P as De,Q as nt,R as Pe,S as Nt,U as Et,V as ot,W as at,X as st,Y as It,Z as Ct,$ as zt,a0 as Ht,a1 as Mt,a2 as At,a3 as ee}from"./framework.BXE2pAXj.js";const Bt=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(a){return(e,t)=>(s(),m("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[re(H(e.text),1)])],2))}}),Ot={key:0,class:"VPBackdrop"},Dt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(a){return(e,t)=>(s(),y(Ae,{name:"fade"},{default:v(()=>[e.show?(s(),m("div",Ot)):h("",!0)]),_:1}))}}),Ft=L(Dt,[["__scopeId","data-v-555f8904"]]),T=Qe;function jt(a,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(a,e):(a(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ze(a){return/^\//.test(a)?a:`/${a}`}function Fe(a){const{pathname:e,search:t,hash:o,protocol:n}=new URL(a,"http://a.com");if(Pt(a)||a.startsWith("#")||!n.startsWith("http")||!St(e))return a;const{site:r}=T(),l=e.endsWith("/")||e.endsWith(".html")?a:a.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${o}`);return me(l)}function ve({correspondingLink:a=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:r}=T(),l=P(()=>{var c,b;return{label:(c=e.value.locales[t.value])==null?void 0:c.label,link:((b=e.value.locales[t.value])==null?void 0:b.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:P(()=>Object.entries(e.value.locales).flatMap(([c,b])=>l.value.label===b.label?[]:{text:b.label,link:Gt(b.link||(c==="root"?"/":`/${c}/`),n.value.i18nRouting!==!1&&a,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function Gt(a,e,t,o){return e?a.replace(/\/$/,"")+ze(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):a}const Ut={class:"NotFound"},qt={class:"code"},Wt={class:"title"},Rt={class:"quote"},Kt={class:"action"},Jt=["href","aria-label"],Yt=g({__name:"NotFound",setup(a){const{theme:e}=T(),{currentLang:t}=ve();return(o,n)=>{var r,l,d,c,b;return s(),m("div",Ut,[p("p",qt,H(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),p("h1",Wt,H(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=p("div",{class:"divider"},null,-1)),p("blockquote",Rt,H(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Kt,[p("a",{class:"link",href:i(me)(i(t).link),"aria-label":((c=i(e).notFound)==null?void 0:c.linkLabel)??"go to home"},H(((b=i(e).notFound)==null?void 0:b.linkText)??"Take me home"),9,Jt)])])}}}),Xt=L(Yt,[["__scopeId","data-v-a2512220"]]);function rt(a,e){if(Array.isArray(a))return _e(a);if(a==null)return[];e=ze(e);const t=Object.keys(a).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(ze(n))),o=t?a[t]:[];return Array.isArray(o)?_e(o):_e(o.items,o.base)}function Zt(a){const e=[];let t=0;for(const o in a){const n=a[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function Qt(a){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(a),e}function He(a,e){return Array.isArray(e)?e.some(t=>He(a,t)):ie(a,e.link)?!0:e.items?He(a,e.items):!1}function _e(a,e){return[...a].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=_e(o.items,n)),o})}function te(){const{frontmatter:a,page:e,theme:t}=T(),o=Ie("(min-width: 960px)"),n=z(!1),r=P(()=>{const D=t.value.sidebar,C=e.value.relativePath;return D?rt(D,C):[]}),l=z(r.value);J(r,(D,C)=>{JSON.stringify(D)!==JSON.stringify(C)&&(l.value=r.value)});const d=P(()=>a.value.sidebar!==!1&&l.value.length>0&&a.value.layout!=="home"),c=P(()=>b?a.value.aside==null?t.value.aside==="left":a.value.aside==="left":!1),b=P(()=>a.value.layout==="home"?!1:a.value.aside!=null?!!a.value.aside:t.value.aside!==!1),$=P(()=>d.value&&o.value),_=P(()=>d.value?Zt(l.value):[]);function S(){n.value=!0}function I(){n.value=!1}function E(){n.value?I():S()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:b,leftAside:c,isSidebarEnabled:$,open:S,close:I,toggle:E}}function xt(a,e){let t;ye(()=>{t=a.value?document.activeElement:void 0}),x(()=>{window.addEventListener("keyup",o)}),Be(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&a.value&&(e(),t==null||t.focus())}}function en(a){const{page:e,hash:t}=T(),o=z(!1),n=P(()=>a.value.collapsed!=null),r=P(()=>!!a.value.link),l=z(!1),d=()=>{l.value=ie(e.value.relativePath,a.value.link)};J([e,a,t],d),x(d);const c=P(()=>l.value?!0:a.value.items?He(e.value.relativePath,a.value.items):!1),b=P(()=>!!(a.value.items&&a.value.items.length));ye(()=>{o.value=!!(n.value&&a.value.collapsed)}),Oe(()=>{(l.value||c.value)&&(o.value=!1)});function $(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:c,hasChildren:b,toggle:$}}function tn(){const{hasSidebar:a}=te(),e=Ie("(min-width: 960px)"),t=Ie("(min-width: 1280px)");return{isAsideEnabled:P(()=>!t.value&&!e.value?!1:a.value?t.value:e.value)}}const Me=[];function it(a){return typeof a.outline=="object"&&!Array.isArray(a.outline)&&a.outline.label||a.outlineTitle||"On this page"}function je(a){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:nn(t),link:"#"+t.id,level:o}});return on(e,a)}function nn(a){let e="";for(const t of a.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function on(a,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return rn(a,o,n)}function an(a,e){const{isAsideEnabled:t}=tn(),o=jt(r,100);let n=null;x(()=>{requestAnimationFrame(r),window.addEventListener("scroll",o)}),Vt(()=>{l(location.hash)}),Be(()=>{window.removeEventListener("scroll",o)});function r(){if(!t.value)return;const d=window.scrollY,c=window.innerHeight,b=document.body.offsetHeight,$=Math.abs(d+c-b)<1,_=Me.map(({element:I,link:E})=>({link:E,top:sn(I)})).filter(({top:I})=>!Number.isNaN(I)).sort((I,E)=>I.top-E.top);if(!_.length){l(null);return}if(d<1){l(null);return}if($){l(_[_.length-1].link);return}let S=null;for(const{link:I,top:E}of _){if(E>d+Tt()+4)break;S=I}l(S)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=a.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const c=n;c?(c.classList.add("active"),e.value.style.top=c.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function sn(a){let e=0;for(;a!==document.body;){if(a===null)return NaN;e+=a.offsetTop,a=a.offsetParent}return e}function rn(a,e,t){Me.length=0;const o=[],n=[];return a.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=le("VPDocOutlineItem",!0);return s(),m("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),m(B,null,W(t.headers,({children:r,link:l,title:d})=>(s(),m("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},H(d),9,ln),r!=null&&r.length?(s(),y(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),lt=L(cn,[["__scopeId","data-v-8b07c751"]]),un={class:"content"},dn={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},mn=g({__name:"VPDocAsideOutline",setup(a){const{frontmatter:e,theme:t}=T(),o=xe([]);$e(()=>{o.value=je(e.value.outline??t.value.outline)});const n=z(),r=z();return an(n,r),(l,d)=>(s(),m("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[p("div",un,[p("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),p("div",dn,H(i(it)(i(t))),1),k(lt,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),pn=L(mn,[["__scopeId","data-v-1ca7049f"]]),vn={class:"VPDocAsideCarbonAds"},fn=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(a){const e=()=>null;return(t,o)=>(s(),m("div",vn,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),hn={class:"VPDocAside"},gn=g({__name:"VPDocAside",setup(a){const{theme:e}=T();return(t,o)=>(s(),m("div",hn,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(pn),u(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=p("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(s(),y(fn,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),_n=L(gn,[["__scopeId","data-v-1c6e4e59"]]);function bn(){const{theme:a,page:e}=T();return P(()=>{const{text:t="Edit this page",pattern:o=""}=a.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function kn(){const{page:a,theme:e,frontmatter:t}=T();return P(()=>{var b,$,_,S,I,E,D,C;const o=rt(e.value.sidebar,a.value.relativePath),n=Qt(o),r=yn(n,R=>R.link.replace(/[?#].*$/,"")),l=r.findIndex(R=>ie(a.value.relativePath,R.link)),d=((b=e.value.docFooter)==null?void 0:b.prev)===!1&&!t.value.prev||t.value.prev===!1,c=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((S=r[l-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=r[l-1])==null?void 0:I.link)},next:c?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[l+1])==null?void 0:E.docFooterText)??((D=r[l+1])==null?void 0:D.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((C=r[l+1])==null?void 0:C.link)}}})}function yn(a,e){const t=new Set;return a.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const Q=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.tag??(e.href?"a":"span")),o=P(()=>e.href&&et.test(e.href)||e.target==="_blank");return(n,r)=>(s(),y(Z(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?i(Fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:v(()=>[u(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),$n={class:"VPLastUpdated"},Ln=["datetime"],Pn=g({__name:"VPDocFooterLastUpdated",setup(a){const{theme:e,page:t,lang:o}=T(),n=P(()=>new Date(t.value.lastUpdated)),r=P(()=>n.value.toISOString()),l=z("");return x(()=>{ye(()=>{var d,c,b;l.value=new Intl.DateTimeFormat((c=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&c.forceLocale?o.value:void 0,((b=e.value.lastUpdated)==null?void 0:b.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,c)=>{var b;return s(),m("p",$n,[re(H(((b=i(e).lastUpdated)==null?void 0:b.text)||i(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:r.value},H(l.value),9,Ln)])}}}),Sn=L(Pn,[["__scopeId","data-v-9df8358f"]]),Vn={key:0,class:"VPDocFooter"},Tn={key:0,class:"edit-info"},wn={key:0,class:"edit-link"},Nn={key:1,class:"last-updated"},En={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},In={class:"pager"},Cn=["innerHTML"],zn=["innerHTML"],Hn={class:"pager"},Mn=["innerHTML"],An=["innerHTML"],Bn=g({__name:"VPDocFooter",setup(a){const{theme:e,page:t,frontmatter:o}=T(),n=bn(),r=kn(),l=P(()=>e.value.editLink&&o.value.editLink!==!1),d=P(()=>t.value.lastUpdated),c=P(()=>l.value||d.value||r.value.prev||r.value.next);return(b,$)=>{var _,S,I,E;return c.value?(s(),m("footer",Vn,[u(b.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(s(),m("div",Tn,[l.value?(s(),m("div",wn,[k(Q,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:v(()=>[$[0]||($[0]=p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),re(" "+H(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),m("div",Nn,[k(Sn)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(S=i(r).next)!=null&&S.link?(s(),m("nav",En,[$[1]||($[1]=p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),p("div",In,[(I=i(r).prev)!=null&&I.link?(s(),y(Q,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.prev)||"Previous page"},null,8,Cn),p("span",{class:"title",innerHTML:i(r).prev.text},null,8,zn)]}),_:1},8,["href"])):h("",!0)]),p("div",Hn,[(E=i(r).next)!=null&&E.link?(s(),y(Q,{key:0,class:"pager-link next",href:i(r).next.link},{default:v(()=>{var D;return[p("span",{class:"desc",innerHTML:((D=i(e).docFooter)==null?void 0:D.next)||"Next page"},null,8,Mn),p("span",{class:"title",innerHTML:i(r).next.text},null,8,An)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),On=L(Bn,[["__scopeId","data-v-73bc8135"]]),Dn={class:"container"},Fn={class:"aside-container"},jn={class:"aside-content"},Gn={class:"content"},Un={class:"content-container"},qn={class:"main"},Wn=g({__name:"VPDoc",setup(a){const{theme:e}=T(),t=pe(),{hasSidebar:o,hasAside:n,leftAside:r}=te(),l=P(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,c)=>{const b=le("Content");return s(),m("div",{class:M(["VPDoc",{"has-sidebar":i(o),"has-aside":i(n)}])},[u(d.$slots,"doc-top",{},void 0,!0),p("div",Dn,[i(n)?(s(),m("div",{key:0,class:M(["aside",{"left-aside":i(r)}])},[c[0]||(c[0]=p("div",{class:"aside-curtain"},null,-1)),p("div",Fn,[p("div",jn,[k(_n,null,{"aside-top":v(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Gn,[p("div",Un,[u(d.$slots,"doc-before",{},void 0,!0),p("main",qn,[k(b,{class:M(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(On,null,{"doc-footer-before":v(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(d.$slots,"doc-after",{},void 0,!0)])])]),u(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Rn=L(Wn,[["__scopeId","data-v-954eab99"]]),Kn=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(a){const e=a,t=P(()=>e.href&&et.test(e.href)),o=P(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(s(),y(Z(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?i(Fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[re(H(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Jn=L(Kn,[["__scopeId","data-v-d931a3b4"]]),Yn=["src","alt"],Xn=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(a){return(e,t)=>{const o=le("VPImage",!0);return e.image?(s(),m(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),m("img",ae({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(me)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Yn)):(s(),m(B,{key:1},[k(o,ae({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(o,ae({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=L(Xn,[["__scopeId","data-v-430dcc9b"]]),Zn={class:"container"},Qn={class:"main"},xn={key:0,class:"name"},eo=["innerHTML"],to=["innerHTML"],no=["innerHTML"],oo={key:0,class:"actions"},ao={key:0,class:"image"},so={class:"image-container"},ro=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(a){const e=Le("hero-image-slot-exists");return(t,o)=>(s(),m("div",{class:M(["VPHero",{"has-image":t.image||i(e)}])},[p("div",Zn,[p("div",Qn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(s(),m("h1",xn,[p("span",{innerHTML:t.name,class:"clip"},null,8,eo)])):h("",!0),t.text?(s(),m("p",{key:1,innerHTML:t.text,class:"text"},null,8,to)):h("",!0),t.tagline?(s(),m("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,no)):h("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),m("div",oo,[(s(!0),m(B,null,W(t.actions,n=>(s(),m("div",{key:n.link,class:"action"},[k(Jn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(s(),m("div",ao,[p("div",so,[o[0]||(o[0]=p("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(s(),y(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),io=L(ro,[["__scopeId","data-v-d74ca98a"]]),lo=g({__name:"VPHomeHero",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).hero?(s(),y(io,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),co={class:"box"},uo={key:0,class:"icon"},mo=["innerHTML"],po=["innerHTML"],vo=["innerHTML"],fo={key:4,class:"link-text"},ho={class:"link-text-value"},go=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(a){return(e,t)=>(s(),y(Q,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[p("article",co,[typeof e.icon=="object"&&e.icon.wrap?(s(),m("div",uo,[k(ke,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(s(),y(ke,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(s(),m("div",{key:2,class:"icon",innerHTML:e.icon},null,8,mo)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,po),e.details?(s(),m("p",{key:3,class:"details",innerHTML:e.details},null,8,vo)):h("",!0),e.linkText?(s(),m("div",fo,[p("p",ho,[re(H(e.linkText)+" ",1),t[0]||(t[0]=p("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),_o=L(go,[["__scopeId","data-v-dd502c38"]]),bo={key:0,class:"VPFeatures"},ko={class:"container"},yo={class:"items"},$o=g({__name:"VPFeatures",props:{features:{}},setup(a){const e=a,t=P(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(s(),m("div",bo,[p("div",ko,[p("div",yo,[(s(!0),m(B,null,W(o.features,r=>(s(),m("div",{key:r.title,class:M(["item",[t.value]])},[k(_o,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Lo=L($o,[["__scopeId","data-v-f4290047"]]),Po=g({__name:"VPHomeFeatures",setup(a){const{frontmatter:e}=T();return(t,o)=>i(e).features?(s(),y(Lo,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),So=g({__name:"VPHomeContent",setup(a){const{width:e}=wt({initialWidth:0,includeScrollbar:!1});return(t,o)=>(s(),m("div",{class:"vp-doc container",style:tt(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),Vo=L(So,[["__scopeId","data-v-5db0fc11"]]),To={class:"VPHome"},wo=g({__name:"VPHome",setup(a){const{frontmatter:e}=T();return(t,o)=>{const n=le("Content");return s(),m("div",To,[u(t.$slots,"home-hero-before",{},void 0,!0),k(lo,null,{"home-hero-info-before":v(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(Po),u(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(s(),y(Vo,{key:0},{default:v(()=>[k(n)]),_:1})):(s(),y(n,{key:1}))])}}}),No=L(wo,[["__scopeId","data-v-945e2803"]]),Eo={},Io={class:"VPPage"};function Co(a,e){const t=le("Content");return s(),m("div",Io,[u(a.$slots,"page-top"),k(t),u(a.$slots,"page-bottom")])}const zo=L(Eo,[["render",Co]]),Ho=g({__name:"VPContent",setup(a){const{page:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>(s(),m("div",{class:M(["VPContent",{"has-sidebar":i(o),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(n.$slots,"not-found",{key:0},()=>[k(Xt)],!0):i(t).layout==="page"?(s(),y(zo,{key:1},{"page-top":v(()=>[u(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(s(),y(No,{key:2},{"home-hero-before":v(()=>[u(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(s(),y(Z(i(t).layout),{key:3})):(s(),y(Rn,{key:4},{"doc-top":v(()=>[u(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Mo=L(Ho,[["__scopeId","data-v-e21f1c97"]]),Ao={class:"container"},Bo=["innerHTML"],Oo=["innerHTML"],Do=g({__name:"VPFooter",setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te();return(n,r)=>i(e).footer&&i(t).footer!==!1?(s(),m("footer",{key:0,class:M(["VPFooter",{"has-sidebar":i(o)}])},[p("div",Ao,[i(e).footer.message?(s(),m("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Bo)):h("",!0),i(e).footer.copyright?(s(),m("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,Oo)):h("",!0)])],2)):h("",!0)}}),Fo=L(Do,[["__scopeId","data-v-30d44c97"]]);function jo(){const{theme:a,frontmatter:e}=T(),t=xe([]),o=P(()=>t.value.length>0);return $e(()=>{t.value=je(e.value.outline??a.value.outline)}),{headers:t,hasLocalNav:o}}const Go={class:"menu-text"},Uo={class:"header"},qo={class:"outline"},Wo=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(a){const e=a,{theme:t}=T(),o=z(!1),n=z(0),r=z(),l=z();function d(_){var S;(S=r.value)!=null&&S.contains(_.target)||(o.value=!1)}J(o,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),Ce("Escape",()=>{o.value=!1}),$e(()=>{o.value=!1});function c(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function b(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),De(()=>{o.value=!1}))}function $(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,S)=>(s(),m("div",{class:"VPLocalNavOutlineDropdown",style:tt({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(s(),m("button",{key:0,onClick:c,class:M({open:o.value})},[p("span",Go,H(i(it)(i(t))),1),S[0]||(S[0]=p("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(s(),m("button",{key:1,onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)),k(Ae,{name:"flyout"},{default:v(()=>[o.value?(s(),m("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[p("div",Uo,[p("a",{class:"top-link",href:"#",onClick:$},H(i(t).returnToTopLabel||"Return to top"),1)]),p("div",qo,[k(lt,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Ro=L(Wo,[["__scopeId","data-v-e15d2741"]]),Ko={class:"container"},Jo=["aria-expanded"],Yo={class:"menu-text"},Xo=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(a){const{theme:e,frontmatter:t}=T(),{hasSidebar:o}=te(),{headers:n}=jo(),{y:r}=nt(),l=z(0);x(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),$e(()=>{n.value=je(t.value.outline??e.value.outline)});const d=P(()=>n.value.length===0),c=P(()=>d.value&&!o.value),b=P(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:d.value,fixed:c.value}));return($,_)=>i(t).layout!=="home"&&(!c.value||i(r)>=l.value)?(s(),m("div",{key:0,class:M(b.value)},[p("div",Ko,[i(o)?(s(),m("button",{key:0,class:"menu","aria-expanded":$.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=S=>$.$emit("open-menu"))},[_[1]||(_[1]=p("span",{class:"vpi-align-left menu-icon"},null,-1)),p("span",Yo,H(i(e).sidebarMenuLabel||"Menu"),1)],8,Jo)):h("",!0),k(Ro,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Zo=L(Xo,[["__scopeId","data-v-9b286bf4"]]);function Qo(){const a=z(!1);function e(){a.value=!0,window.addEventListener("resize",n)}function t(){a.value=!1,window.removeEventListener("resize",n)}function o(){a.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=pe();return J(()=>r.path,t),{isScreenOpen:a,openScreen:e,closeScreen:t,toggleScreen:o}}const xo={},ea={class:"VPSwitch",type:"button",role:"switch"},ta={class:"check"},na={key:0,class:"icon"};function oa(a,e){return s(),m("button",ea,[p("span",ta,[a.$slots.default?(s(),m("span",na,[u(a.$slots,"default",{},void 0,!0)])):h("",!0)])])}const aa=L(xo,[["render",oa],["__scopeId","data-v-5f515241"]]),sa=g({__name:"VPSwitchAppearance",setup(a){const{isDark:e,theme:t}=T(),o=Le("toggle-appearance",()=>{e.value=!e.value}),n=z("");return Oe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(s(),y(aa,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(o)},{default:v(()=>l[0]||(l[0]=[p("span",{class:"vpi-sun sun"},null,-1),p("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),Ge=L(sa,[["__scopeId","data-v-c66bea29"]]),ra={key:0,class:"VPNavBarAppearance"},ia=g({__name:"VPNavBarAppearance",setup(a){const{site:e}=T();return(t,o)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",ra,[k(Ge)])):h("",!0)}}),la=L(ia,[["__scopeId","data-v-fb4cefbb"]]),Ue=z();let ct=!1,Ee=0;function ca(a){const e=z(!1);if(Pe){!ct&&ua(),Ee++;const t=J(Ue,o=>{var n,r,l;o===a.el.value||(n=a.el.value)!=null&&n.contains(o)?(e.value=!0,(r=a.onFocus)==null||r.call(a)):(e.value=!1,(l=a.onBlur)==null||l.call(a))});Be(()=>{t(),Ee--,Ee||da()})}return Nt(e)}function ua(){document.addEventListener("focusin",ut),ct=!0,Ue.value=document.activeElement}function da(){document.removeEventListener("focusin",ut)}function ut(){Ue.value=document.activeElement}const ma={class:"VPMenuLink"},pa=["innerHTML"],va=g({__name:"VPMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),m("div",ma,[k(Q,{class:M({active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,pa)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),Se=L(va,[["__scopeId","data-v-00baf487"]]),fa={class:"VPMenuGroup"},ha={key:0,class:"title"},ga=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",fa,[e.text?(s(),m("p",ha,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),m(B,null,["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),_a=L(ga,[["__scopeId","data-v-bd0f1d65"]]),ba={class:"VPMenu"},ka={key:0,class:"items"},ya=g({__name:"VPMenu",props:{items:{}},setup(a){return(e,t)=>(s(),m("div",ba,[e.items?(s(),m("div",ka,[(s(!0),m(B,null,W(e.items,o=>(s(),m(B,{key:JSON.stringify(o)},["link"in o?(s(),y(Se,{key:0,item:o},null,8,["item"])):"component"in o?(s(),y(Z(o.component),ae({key:1,ref_for:!0},o.props),null,16)):(s(),y(_a,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),$a=L(ya,[["__scopeId","data-v-3613d363"]]),La=["aria-expanded","aria-label"],Pa={key:0,class:"text"},Sa=["innerHTML"],Va={key:1,class:"vpi-more-horizontal icon"},Ta={class:"menu"},wa=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(a){const e=z(!1),t=z();ca({el:t,onBlur:o});function o(){e.value=!1}return(n,r)=>(s(),m("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(s(),m("span",Pa,[n.icon?(s(),m("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),m("span",{key:1,innerHTML:n.button},null,8,Sa)):h("",!0),r[3]||(r[3]=p("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(s(),m("span",Va))],8,La),p("div",Ta,[k($a,{items:n.items},{default:v(()=>[u(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=L(wa,[["__scopeId","data-v-15b46e80"]]),Na=["href","aria-label","innerHTML"],Ea=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(a){const e=a,t=P(()=>typeof e.icon=="object"?e.icon.svg:``);return(o,n)=>(s(),m("a",{class:"VPSocialLink no-icon",href:o.link,"aria-label":o.ariaLabel??(typeof o.icon=="string"?o.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Na))}}),Ia=L(Ea,[["__scopeId","data-v-2e3c9df7"]]),Ca={class:"VPSocialLinks"},za=g({__name:"VPSocialLinks",props:{links:{}},setup(a){return(e,t)=>(s(),m("div",Ca,[(s(!0),m(B,null,W(e.links,({link:o,icon:n,ariaLabel:r})=>(s(),y(Ia,{key:o,icon:n,link:o,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),We=L(za,[["__scopeId","data-v-2ec96a47"]]),Ha={key:0,class:"group translations"},Ma={class:"trans-title"},Aa={key:1,class:"group"},Ba={class:"item appearance"},Oa={class:"label"},Da={class:"appearance-action"},Fa={key:2,class:"group"},ja={class:"item social-links"},Ga=g({__name:"VPNavBarExtra",setup(a){const{site:e,theme:t}=T(),{localeLinks:o,currentLang:n}=ve({correspondingLink:!0}),r=P(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(s(),y(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(o).length&&i(n).label?(s(),m("div",Ha,[p("p",Ma,H(i(n).label),1),(s(!0),m(B,null,W(i(o),c=>(s(),y(Se,{key:c.link,item:c},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Aa,[p("div",Ba,[p("p",Oa,H(i(t).darkModeSwitchLabel||"Appearance"),1),p("div",Da,[k(Ge)])])])):h("",!0),i(t).socialLinks?(s(),m("div",Fa,[p("div",ja,[k(We,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Ua=L(Ga,[["__scopeId","data-v-eed872a2"]]),qa=["aria-expanded"],Wa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(a){return(e,t)=>(s(),m("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)]),10,qa))}}),Ra=L(Wa,[["__scopeId","data-v-6bee53bd"]]),Ka=["innerHTML"],Ja=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(a){const{page:e}=T();return(t,o)=>(s(),y(Q,{class:M({VPNavBarMenuLink:!0,active:i(ie)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Ka)]),_:1},8,["class","href","target","rel","no-icon"]))}}),Ya=L(Ja,[["__scopeId","data-v-1eb8619e"]]),Xa=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(a){const e=a,{page:t}=T(),o=r=>"component"in r?!1:"link"in r?ie(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(o),n=P(()=>o(e.item));return(r,l)=>(s(),y(qe,{class:M({VPNavBarMenuGroup:!0,active:i(ie)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Za={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Qa=g({__name:"VPNavBarMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Za,[o[0]||(o[0]=p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Ya,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props),null,16)):(s(),y(Xa,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),xa=L(Qa,[["__scopeId","data-v-4a55a947"]]);function es(a){const{localeIndex:e,theme:t}=T();function o(n){var E,D,C;const r=n.split("."),l=(E=t.value.search)==null?void 0:E.options,d=l&&typeof l=="object",c=d&&((C=(D=l.locales)==null?void 0:D[e.value])==null?void 0:C.translations)||null,b=d&&l.translations||null;let $=c,_=b,S=a;const I=r.pop();for(const R of r){let Y=null;const F=S==null?void 0:S[R];F&&(Y=S=F);const ne=_==null?void 0:_[R];ne&&(Y=_=ne);const X=$==null?void 0:$[R];X&&(Y=$=X),F||(S=Y),ne||(_=Y),X||($=Y)}return($==null?void 0:$[I])??(_==null?void 0:_[I])??(S==null?void 0:S[I])??""}return o}const ts=["aria-label"],ns={class:"DocSearch-Button-Container"},os={class:"DocSearch-Button-Placeholder"},Je=g({__name:"VPNavBarSearchButton",setup(a){const t=es({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(s(),m("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[p("span",ns,[n[0]||(n[0]=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),p("span",os,H(i(t)("button.buttonText")),1)]),n[1]||(n[1]=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,ts))}}),as={class:"VPNavBarSearch"},ss={id:"local-search"},rs={key:1,id:"docsearch"},is=g({__name:"VPNavBarSearch",setup(a){const e=Et(()=>ot(()=>import("./VPLocalSearchBox.D7Ph3Mkl.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=T(),n=z(!1),r=z(!1);x(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function c(_){const S=_.target,I=S.tagName;return S.isContentEditable||I==="INPUT"||I==="SELECT"||I==="TEXTAREA"}const b=z(!1);Ce("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),b.value=!0)}),Ce("/",_=>{c(_)||(_.preventDefault(),b.value=!0)});const $="local";return(_,S)=>{var I;return s(),m("div",as,[i($)==="local"?(s(),m(B,{key:0},[b.value?(s(),y(i(e),{key:0,onClose:S[0]||(S[0]=E=>b.value=!1)})):h("",!0),p("div",ss,[k(Je,{onClick:S[1]||(S[1]=E=>b.value=!0)})])],64)):i($)==="algolia"?(s(),m(B,{key:1},[n.value?(s(),y(i(t),{key:0,algolia:((I=i(o).search)==null?void 0:I.options)??i(o).algolia,onVnodeBeforeMount:S[2]||(S[2]=E=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(s(),m("div",rs,[k(Je,{onClick:l})]))],64)):h("",!0)])}}}),ls=g({__name:"VPNavBarSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),cs=L(ls,[["__scopeId","data-v-3e7e1f46"]]),us=["href","rel","target"],ds={key:1},ms={key:2},ps=g({__name:"VPNavBarTitle",setup(a){const{site:e,theme:t}=T(),{hasSidebar:o}=te(),{currentLang:n}=ve(),r=P(()=>{var c;return typeof t.value.logoLink=="string"?t.value.logoLink:(c=t.value.logoLink)==null?void 0:c.link}),l=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.rel}),d=P(()=>{var c;return typeof t.value.logoLink=="string"||(c=t.value.logoLink)==null?void 0:c.target});return(c,b)=>(s(),m("div",{class:M(["VPNavBarTitle",{"has-sidebar":i(o)}])},[p("a",{class:"title",href:r.value??i(Fe)(i(n).link),rel:l.value,target:d.value},[u(c.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(s(),y(ke,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(s(),m("span",ds,H(i(t).siteTitle),1)):i(t).siteTitle===void 0?(s(),m("span",ms,H(i(e).title),1)):h("",!0),u(c.$slots,"nav-bar-title-after",{},void 0,!0)],8,us)],2))}}),vs=L(ps,[["__scopeId","data-v-204b6ee7"]]),fs={class:"items"},hs={class:"title"},gs=g({__name:"VPNavBarTranslations",setup(a){const{theme:e}=T(),{localeLinks:t,currentLang:o}=ve({correspondingLink:!0});return(n,r)=>i(t).length&&i(o).label?(s(),y(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:v(()=>[p("div",fs,[p("p",hs,H(i(o).label),1),(s(!0),m(B,null,W(i(t),l=>(s(),y(Se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),_s=L(gs,[["__scopeId","data-v-a4dce8d3"]]),bs={class:"wrapper"},ks={class:"container"},ys={class:"title"},$s={class:"content"},Ls={class:"content-body"},Ps=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(a){const e=a,{y:t}=nt(),{hasSidebar:o}=te(),{frontmatter:n}=T(),r=z({});return Oe(()=>{r.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(s(),m("div",{class:M(["VPNavBar",r.value])},[p("div",bs,[p("div",ks,[p("div",ys,[k(vs,null,{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",$s,[p("div",Ls,[u(l.$slots,"nav-bar-content-before",{},void 0,!0),k(is,{class:"search"}),k(xa,{class:"menu"}),k(_s,{class:"translations"}),k(la,{class:"appearance"}),k(cs,{class:"social-links"}),k(Ua,{class:"extra"}),u(l.$slots,"nav-bar-content-after",{},void 0,!0),k(Ra,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=c=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1))],2))}}),Ss=L(Ps,[["__scopeId","data-v-63cad245"]]),Vs={key:0,class:"VPNavScreenAppearance"},Ts={class:"text"},ws=g({__name:"VPNavScreenAppearance",setup(a){const{site:e,theme:t}=T();return(o,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),m("div",Vs,[p("p",Ts,H(i(t).darkModeSwitchLabel||"Appearance"),1),k(Ge)])):h("",!0)}}),Ns=L(ws,[["__scopeId","data-v-01da29ba"]]),Es=["innerHTML"],Is=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Es)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Cs=L(Is,[["__scopeId","data-v-8ffd5011"]]),zs=["innerHTML"],Hs=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(a){const e=Le("close-screen");return(t,o)=>(s(),y(Q,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),dt=L(Hs,[["__scopeId","data-v-99f4497d"]]),Ms={class:"VPNavScreenMenuGroupSection"},As={key:0,class:"title"},Bs=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(a){return(e,t)=>(s(),m("div",Ms,[e.text?(s(),m("p",As,H(e.text),1)):h("",!0),(s(!0),m(B,null,W(e.items,o=>(s(),y(dt,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Os=L(Bs,[["__scopeId","data-v-a37a870b"]]),Ds=["aria-controls","aria-expanded"],Fs=["innerHTML"],js=["id"],Gs={key:0,class:"item"},Us={key:1,class:"item"},qs={key:2,class:"group"},Ws=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(a){const e=a,t=z(!1),o=P(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(s(),m("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:r.text},null,8,Fs),l[0]||(l[0]=p("span",{class:"vpi-plus button-icon"},null,-1))],8,Ds),p("div",{id:o.value,class:"items"},[(s(!0),m(B,null,W(r.items,d=>(s(),m(B,{key:JSON.stringify(d)},["link"in d?(s(),m("div",Gs,[k(dt,{item:d},null,8,["item"])])):"component"in d?(s(),m("div",Us,[(s(),y(Z(d.component),ae({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),m("div",qs,[k(Os,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,js)],2))}}),Rs=L(Ws,[["__scopeId","data-v-e2a9fdbf"]]),Ks={key:0,class:"VPNavScreenMenu"},Js=g({__name:"VPNavScreenMenu",setup(a){const{theme:e}=T();return(t,o)=>i(e).nav?(s(),m("nav",Ks,[(s(!0),m(B,null,W(i(e).nav,n=>(s(),m(B,{key:JSON.stringify(n)},["link"in n?(s(),y(Cs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),y(Z(n.component),ae({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),y(Rs,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Ys=g({__name:"VPNavScreenSocialLinks",setup(a){const{theme:e}=T();return(t,o)=>i(e).socialLinks?(s(),y(We,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),Xs={class:"list"},Zs=g({__name:"VPNavScreenTranslations",setup(a){const{localeLinks:e,currentLang:t}=ve({correspondingLink:!0}),o=z(!1);function n(){o.value=!o.value}return(r,l)=>i(e).length&&i(t).label?(s(),m("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[p("button",{class:"title",onClick:n},[l[0]||(l[0]=p("span",{class:"vpi-languages icon lang"},null,-1)),re(" "+H(i(t).label)+" ",1),l[1]||(l[1]=p("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),p("ul",Xs,[(s(!0),m(B,null,W(i(e),d=>(s(),m("li",{key:d.link,class:"item"},[k(Q,{class:"link",href:d.link},{default:v(()=>[re(H(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Qs=L(Zs,[["__scopeId","data-v-de1d668d"]]),xs={class:"container"},er=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(a){const e=z(null),t=at(Pe?document.body:null);return(o,n)=>(s(),y(Ae,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:v(()=>[o.open?(s(),m("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",xs,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),k(Js,{class:"menu"}),k(Qs,{class:"translations"}),k(Ns,{class:"appearance"}),k(Ys,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),tr=L(er,[["__scopeId","data-v-f2624b07"]]),nr={key:0,class:"VPNav"},or=g({__name:"VPNav",setup(a){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=Qo(),{frontmatter:n}=T(),r=P(()=>n.value.navbar!==!1);return st("close-screen",t),ye(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(s(),m("header",nr,[k(Ss,{"is-screen-open":i(e),onToggleScreen:i(o)},{"nav-bar-title-before":v(()=>[u(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(tr,{open:i(e)},{"nav-screen-content-before":v(()=>[u(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ar=L(or,[["__scopeId","data-v-589e79fd"]]),sr=["role","tabindex"],rr={key:1,class:"items"},ir=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(a){const e=a,{collapsed:t,collapsible:o,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:c}=en(P(()=>e.item)),b=P(()=>d.value?"section":"div"),$=P(()=>n.value?"a":"div"),_=P(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=P(()=>n.value?void 0:"button"),I=P(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function E(C){"key"in C&&C.key!=="Enter"||!e.item.link&&c()}function D(){e.item.link&&c()}return(C,R)=>{const Y=le("VPSidebarItem",!0);return s(),y(Z(b.value),{class:M(["VPSidebarItem",I.value])},{default:v(()=>[C.item.text?(s(),m("div",ae({key:0,class:"item",role:S.value},It(C.item.items?{click:E,keydown:E}:{},!0),{tabindex:C.item.items&&0}),[R[1]||(R[1]=p("div",{class:"indicator"},null,-1)),C.item.link?(s(),y(Q,{key:0,tag:$.value,class:"link",href:C.item.link,rel:C.item.rel,target:C.item.target},{default:v(()=>[(s(),y(Z(_.value),{class:"text",innerHTML:C.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),y(Z(_.value),{key:1,class:"text",innerHTML:C.item.text},null,8,["innerHTML"])),C.item.collapsed!=null&&C.item.items&&C.item.items.length?(s(),m("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:D,onKeydown:Ct(D,["enter"]),tabindex:"0"},R[0]||(R[0]=[p("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,sr)):h("",!0),C.item.items&&C.item.items.length?(s(),m("div",rr,[C.depth<5?(s(!0),m(B,{key:0},W(C.item.items,F=>(s(),y(Y,{key:F.text,item:F,depth:C.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),lr=L(ir,[["__scopeId","data-v-ebdf843f"]]),cr=g({__name:"VPSidebarGroup",props:{items:{}},setup(a){const e=z(!0);let t=null;return x(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),zt(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(s(!0),m(B,null,W(o.items,r=>(s(),m("div",{key:r.text,class:M(["group",{"no-transition":e.value}])},[k(lr,{item:r,depth:0},null,8,["item"])],2))),128))}}),ur=L(cr,[["__scopeId","data-v-767e70d5"]]),dr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},mr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(a){const{sidebarGroups:e,hasSidebar:t}=te(),o=a,n=z(null),r=at(Pe?document.body:null);J([o,n],()=>{var d;o.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=z(0);return J(e,()=>{l.value+=1},{deep:!0}),(d,c)=>i(t)?(s(),m("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:c[0]||(c[0]=Ht(()=>{},["stop"]))},[c[2]||(c[2]=p("div",{class:"curtain"},null,-1)),p("nav",dr,[c[1]||(c[1]=p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),y(ur,{items:i(e),key:l.value},null,8,["items"])),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),pr=L(mr,[["__scopeId","data-v-4bfecd24"]]),vr=g({__name:"VPSkipLink",setup(a){const e=pe(),t=z();J(()=>e.path,()=>t.value.focus());function o({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(s(),m(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),fr=L(vr,[["__scopeId","data-v-35b2da14"]]),hr=g({__name:"Layout",setup(a){const{isOpen:e,open:t,close:o}=te(),n=pe();J(()=>n.path,o),xt(e,o);const{frontmatter:r}=T(),l=Mt(),d=P(()=>!!l["home-hero-image"]);return st("hero-image-slot-exists",d),(c,b)=>{const $=le("Content");return i(r).layout!==!1?(s(),m("div",{key:0,class:M(["Layout",i(r).pageClass])},[u(c.$slots,"layout-top",{},void 0,!0),k(fr),k(Ft,{class:"backdrop",show:i(e),onClick:i(o)},null,8,["show","onClick"]),k(ar,null,{"nav-bar-title-before":v(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Zo,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(pr,{open:i(e)},{"sidebar-nav-before":v(()=>[u(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(Mo,null,{"page-top":v(()=>[u(c.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(c.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(c.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[u(c.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(c.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[u(c.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[u(c.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[u(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(c.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(c.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(c.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(Fo),u(c.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),y($,{key:1}))}}}),gr=L(hr,[["__scopeId","data-v-2ef56004"]]),_r={Layout:gr,enhanceApp:({app:a})=>{a.component("Badge",Bt)}},br=a=>{if(window.dataLayer&&window.gtag)return;const e=document.createElement("script");e.src=`https://www.googletagmanager.com/gtag/js?id=${a}`,e.async=!0,document.head.appendChild(e),window.dataLayer=window.dataLayer||[],window.gtag=function(){dataLayer.push(arguments)},gtag("js",new Date),gtag("config",a)},kr=({id:a})=>{a&&typeof window<"u"&&br(a)};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var se=Object.assign||function(a){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},o=window.Promise||function(V){function w(){}V(w,w)},n=function(V){var w=V.target;if(w===fe){E();return}F.indexOf(w)!==-1&&D({target:w})},r=function(){if(!(X||!f.original)){var V=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(Re-V)>A.scrollOffset&&setTimeout(E,150)}},l=function(V){var w=V.key||V.keyCode;(w==="Escape"||w==="Esc"||w===27)&&E()},d=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V;if(V.background&&(fe.style.background=V.background),V.container&&V.container instanceof Object&&(w.container=se({},A.container,V.container)),V.template){var O=be(V.template)?V.template:document.querySelector(V.template);w.template=O}return A=se({},A,w),F.forEach(function(j){j.dispatchEvent(ue("medium-zoom:update",{detail:{zoom:G}}))}),G},c=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return a(se({},A,V))},b=function(){for(var V=arguments.length,w=Array(V),O=0;O0?w.reduce(function(N,q){return[].concat(N,Xe(q))},[]):F;return j.forEach(function(N){N.classList.remove("medium-zoom-image"),N.dispatchEvent(ue("medium-zoom:detach",{detail:{zoom:G}}))}),F=F.filter(function(N){return j.indexOf(N)===-1}),G},_=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.addEventListener("medium-zoom:"+V,w,O)}),ne.push({type:"medium-zoom:"+V,listener:w,options:O}),G},S=function(V,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return F.forEach(function(j){j.removeEventListener("medium-zoom:"+V,w,O)}),ne=ne.filter(function(j){return!(j.type==="medium-zoom:"+V&&j.listener.toString()===w.toString())}),G},I=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target,O=function(){var N={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},q=void 0,K=void 0;if(A.container)if(A.container instanceof Object)N=se({},N,A.container),q=N.width-N.left-N.right-A.margin*2,K=N.height-N.top-N.bottom-A.margin*2;else{var ce=be(A.container)?A.container:document.querySelector(A.container),oe=ce.getBoundingClientRect(),Ve=oe.width,pt=oe.height,vt=oe.left,ft=oe.top;N=se({},N,{width:Ve,height:pt,left:vt,top:ft})}q=q||N.width-A.margin*2,K=K||N.height-A.margin*2;var de=f.zoomedHd||f.original,ht=Ye(de)?q:de.naturalWidth||q,gt=Ye(de)?K:de.naturalHeight||K,he=de.getBoundingClientRect(),_t=he.top,bt=he.left,Te=he.width,we=he.height,kt=Math.min(Math.max(Te,ht),q)/Te,yt=Math.min(Math.max(we,gt),K)/we,Ne=Math.min(kt,yt),$t=(-bt+(q-Te)/2+A.margin+N.left)/Ne,Lt=(-_t+(K-we)/2+A.margin+N.top)/Ne,Ke="scale("+Ne+") translate3d("+$t+"px, "+Lt+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new o(function(j){if(w&&F.indexOf(w)===-1){j(G);return}var N=function Ve(){X=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(ue("medium-zoom:opened",{detail:{zoom:G}})),j(G)};if(f.zoomed){j(G);return}if(w)f.original=w;else if(F.length>0){var q=F;f.original=q[0]}else{j(G);return}if(f.original.dispatchEvent(ue("medium-zoom:open",{detail:{zoom:G}})),Re=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,X=!0,f.zoomed=Lr(f.original),document.body.appendChild(fe),A.template){var K=be(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(K.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",E),f.zoomed.addEventListener("transitionend",N),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ce),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ce=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ce),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var oe=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",oe),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",E),document.body.appendChild(f.zoomedHd),O()})}else O()})},E=function(){return new o(function(V){if(X||!f.original){V(G);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),X=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(ue("medium-zoom:closed",{detail:{zoom:G}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,V(G)};X=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(ue("medium-zoom:close",{detail:{zoom:G}})),f.zoomed.addEventListener("transitionend",w)})},D=function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=V.target;return f.original?E():I({target:w})},C=function(){return A},R=function(){return F},Y=function(){return f.original},F=[],ne=[],X=!1,Re=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&b(e),A=se({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=$r(A.background);document.addEventListener("click",n),document.addEventListener("keyup",l),document.addEventListener("scroll",r),window.addEventListener("resize",E);var G={open:I,close:E,toggle:D,update:d,clone:c,attach:b,detach:$,on:_,off:S,getOptions:C,getImages:R,getZoomedImage:Y};return G};function Sr(a,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=a:n.appendChild(document.createTextNode(a))}}var Vr=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Sr(Vr);const Tr=["id","host","repo","repoid","category","categoryid","mapping","term","strict","reactionsenabled","emitmetadata","inputposition","theme","lang","loading"],wr=g({__name:"Giscus",props:{id:{},host:{},repo:{},repoId:{},category:{},categoryId:{},mapping:{},term:{},theme:{},strict:{},reactionsEnabled:{},emitMetadata:{},inputPosition:{},lang:{},loading:{}},setup(a){const e=z(!1);return x(()=>{e.value=!0,ot(()=>import("./giscus-aTimukGI.CKTvSCx2.js"),[])}),(t,o)=>e.value?(s(),m("giscus-widget",{key:0,id:t.id,host:t.host,repo:t.repo,repoid:t.repoId,category:t.category,categoryid:t.categoryId,mapping:t.mapping,term:t.term,strict:t.strict,reactionsenabled:t.reactionsEnabled,emitmetadata:t.emitMetadata,inputposition:t.inputPosition,theme:t.theme,lang:t.lang,loading:t.loading},null,8,Tr)):h("",!0)}}),Ze=(a,e,t=!0)=>{var b;const o={id:"comment",host:"https://giscus.app",category:"General",mapping:"pathname",term:"Welcome to giscus!",reactionsEnabled:"1",inputPosition:"top",lang:"zh-CN",loading:"lazy",repo:"xxx/xxx",repoId:"",homePageShowComment:!1};if(a.locales){const _=document.querySelector("html").getAttribute("lang");_&&a.locales[_]&&(a.lang=a.locales[_])}const n=a.lightTheme||"light",r=a.darkTheme||"transparent_dark";let l=document.getElementById("giscus");if(l&&l.parentNode.removeChild(l),(e==null?void 0:e.value.comment)!==void 0){if(!(e!=null&&e.value.comment))return}else if(!t)return;if(!a.homePageShowComment&&(!location.pathname||location.pathname==="/"))return;const d=((b=document.querySelector("html"))==null?void 0:b.className.indexOf("dark"))!==-1,c=document.getElementsByClassName("content-container")[0];if(c){const $=document.createElement("div");$.setAttribute("id","giscus"),$.style.height="auto",$.style.marginTop="40px",$.style.borderTop="1px solid var(--vp-c-divider)",$.style.paddingTop="20px",c.append($),At({render:()=>ee(wr,{...o,theme:d?r:n,...a})}).mount("#giscus")}},Nr=a=>{const e=document.querySelector("html"),t=a.lightTheme||"light",o=a.darkTheme||"transparent_dark";new MutationObserver(r=>{r.forEach(l=>{if(l.type=="attributes"){let d=document.getElementById("comment");d==null||d.setAttribute("theme",e.className.indexOf("dark")!==-1?o:t)}})}).observe(e,{attributeFilter:["class"]})},Er=(a,e,t=!0)=>{x(()=>{Ze(a,e.frontmatter,t),Nr(a)}),J(()=>e.route.path,()=>De(()=>{Ze(a,e.frontmatter,t)}))},Ir=typeof global=="object"&&global!==null&&global.Object===Object&&global,Cr=typeof globalThis=="object"&&globalThis!==null&&globalThis.Object==Object&&globalThis,zr=typeof self=="object"&&self!==null&&self.Object===Object&&self;Cr||Ir||zr||Function("return this")();const Hr=/.md((\?|#).*)?$/,Mr=a=>/^(https?:)?\/\//.test(a),Ar=a=>a.startsWith("ftp://"),Br=(a,e="/")=>!!(Mr(a)||Ar(a)||a.startsWith("/")&&!a.startsWith(e)&&!Hr.test(a)),Or=a=>/^(?!www\.|http[s]?:\/\/|[A-Za-z]:\\|\/\/).*/.test(a),mt=({title:a,desc:e="",logo:t="",color:o="",link:n="",theme:r="normal",hoverShadow:l=!0,shadow:d=!0})=>{let c="";t===""&&n!==""&&(n.includes("bilibili.com")?c="i-custom-bilibili":n.includes("txc.qq.com")||n.includes("support.qq.com")?c="i-custom-txc":n.includes("youtube.com")?c="i-logos-youtube-icon":n.includes("twitter.com")?c="i-logos-twitter":n.includes("discord")?c="i-logos-discord-icon":n.includes("reddit.com")?c="i-logos-reddit-icon":n.includes("baidu.com")?c="i-custom-baidu":n.includes("qq.com")?c="i-custom-qq":n.includes("weixitianli.com")&&(c="i-custom-wxtl"));const b=[c===""?ee("img",{class:"vp-card-logo no-zoomable",src:me(t||"/阿库娅.png")}):ee("label",{class:`vp-card-icon ${c}`}),ee("div",{class:"vp-card-content"},[ee("div",{class:"vp-card-title",innerHTML:a}),ee("hr"),ee("div",{class:"vp-card-desc",innerHTML:e||(Or(n)?`https://oldmemorie.github.io/Tritium_docs/${n.substring(0,3).replace(/(\.\/|\/)/g,"")+n.substring(3)}`:n)})])],$={class:`vp-card vp-card-theme-${r} ${l?"vp-card-hover":""}`,title:a};return o&&($.style={background:o}),d&&($.style={"box-shadow":"var(--vp-shadow-1)"}),Br(n)?ee("a",{href:n,target:"_blank",...$},b):ee("a",{href:me(n),target:"_self",...$},b)};mt.displayName="Card";const Fr={extends:_r,enhanceApp({app:a}){kr({id:"G-NHBWV2NV00"}),a.component("VPCard",mt)},setup(){const a=pe(),e=()=>{Pr(".main img",{background:"var(--vp-c-bg)"})};x(()=>{e()}),J(()=>a.path,()=>De(()=>e()));const{frontmatter:t}=Qe();Er({repo:"TimeBreeze/Tritium_docs",repoId:"R_kgDOKuS8tw id",category:"Announcements",categoryId:"DIC_kwDOKuS8t84CcvVC",mapping:"pathname",inputPosition:"bottom",lang:"zh-CN"},{frontmatter:t,route:a},!0)}};export{Fr as R,es as c,T as u}; diff --git a/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.js b/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.js new file mode 100644 index 0000000..576a47f --- /dev/null +++ b/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.js @@ -0,0 +1 @@ +import{_ as o,c,j as l,a as m,G as h,w as p,a4 as u,B as n,o as s,b as g,e as P}from"./chunks/framework.BXE2pAXj.js";const N=JSON.parse('{"title":"乐子","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"乐子","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"clown.md","filePath":"clown.md","lastUpdated":1709223136000}'),v={name:"clown.md"};function f(e,t,j,k,b,y){const r=n("ArticleMetadata"),d=n("ClientOnly");return s(),c("div",null,[t[0]||(t[0]=l("h1",{id:"如你所见我们会记录一些🤡",tabindex:"-1"},[m("如你所见我们会记录一些🤡 "),l("a",{class:"header-anchor",href:"#如你所见我们会记录一些🤡","aria-label":'Permalink to "如你所见我们会记录一些🤡"'},"​")],-1)),h(d,null,{default:p(()=>{var a,i;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((i=e.$frontmatter)==null?void 0:i.showArticleMetadata)??!0)?(s(),g(r,{key:0,article:e.$frontmatter},null,8,["article"])):P("",!0)]}),_:1}),t[1]||(t[1]=u('
2024-02-29
  • 4年一次,难得 20240301001030894

我的自由

2024-02-21

202402250229020362024022502290577420240225022911760

2024-02-18
  • 为什么这么多要求🤣🤣

2024-01-26
  • 怎么用😅

2024-01-24
  • 人人皆是垃圾🤔🤔

',5))])}const q=o(v,[["render",f]]);export{N as __pageData,q as default}; diff --git a/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.lean.js b/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.lean.js new file mode 100644 index 0000000..576a47f --- /dev/null +++ b/maisk_fiage/webroot/assets/clown.md.COUTQ7Br.lean.js @@ -0,0 +1 @@ +import{_ as o,c,j as l,a as m,G as h,w as p,a4 as u,B as n,o as s,b as g,e as P}from"./chunks/framework.BXE2pAXj.js";const N=JSON.parse('{"title":"乐子","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"乐子","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"clown.md","filePath":"clown.md","lastUpdated":1709223136000}'),v={name:"clown.md"};function f(e,t,j,k,b,y){const r=n("ArticleMetadata"),d=n("ClientOnly");return s(),c("div",null,[t[0]||(t[0]=l("h1",{id:"如你所见我们会记录一些🤡",tabindex:"-1"},[m("如你所见我们会记录一些🤡 "),l("a",{class:"header-anchor",href:"#如你所见我们会记录一些🤡","aria-label":'Permalink to "如你所见我们会记录一些🤡"'},"​")],-1)),h(d,null,{default:p(()=>{var a,i;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((i=e.$frontmatter)==null?void 0:i.showArticleMetadata)??!0)?(s(),g(r,{key:0,article:e.$frontmatter},null,8,["article"])):P("",!0)]}),_:1}),t[1]||(t[1]=u('
2024-02-29
  • 4年一次,难得 20240301001030894

我的自由

2024-02-21

202402250229020362024022502290577420240225022911760

2024-02-18
  • 为什么这么多要求🤣🤣

2024-01-26
  • 怎么用😅

2024-01-24
  • 人人皆是垃圾🤔🤔

',5))])}const q=o(v,[["render",f]]);export{N as __pageData,q as default}; diff --git a/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.js b/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.js new file mode 100644 index 0000000..c906620 --- /dev/null +++ b/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.js @@ -0,0 +1 @@ +import{_ as d,c as m,j as i,a as c,G as u,w as p,a4 as h,B as o,o as l,b as f,e as T}from"./chunks/framework.BXE2pAXj.js";const P=JSON.parse('{"title":"免责声明","description":"免责声明","frontmatter":{"title":"免责声明","description":"免责声明","layout":"doc","aside":false,"comment":false},"headers":[],"relativePath":"disclaimer.md","filePath":"disclaimer.md","lastUpdated":1729674076000}'),b={name:"disclaimer.md"};function _(e,t,k,$,q,x){const n=o("ArticleMetadata"),s=o("ClientOnly");return l(),m("div",null,[t[0]||(t[0]=i("h1",{id:"tritium-项目免责声明",tabindex:"-1"},[c("Tritium 项目免责声明 "),i("a",{class:"header-anchor",href:"#tritium-项目免责声明","aria-label":'Permalink to "Tritium 项目免责声明"'},"​")],-1)),u(s,null,{default:p(()=>{var a,r;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:e.$frontmatter},null,8,["article"])):T("",!0)]}),_:1}),t[1]||(t[1]=h('

目的

本平台提供的Tritium项目调度服务仅用于一般性信息交流和参考学习目的。任何由Tritium生成的内容不构成法律、专业建议。使用Tritium服务时,请谨慎评估并自主判断信息的准确性和适用性。

责任限制

我们不对因使用Tritium服务而导致的任何直接或间接损失、误解或问题承担责任。用户在使用Tritium服务的同时应当遵守适用法律法规,并理解Tritium的回应基于先前测试的数据,可能不具有实时性和个性化的特点

服务变更

我们保留随时更改、修订或终止Tritium服务的权利,而无需提前通知。用户在使用本服务前应审慎考虑并理解免责声明的内容。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

',8))])}const B=d(b,[["render",_]]);export{P as __pageData,B as default}; diff --git a/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.lean.js b/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.lean.js new file mode 100644 index 0000000..c906620 --- /dev/null +++ b/maisk_fiage/webroot/assets/disclaimer.md.BUfyEDfO.lean.js @@ -0,0 +1 @@ +import{_ as d,c as m,j as i,a as c,G as u,w as p,a4 as h,B as o,o as l,b as f,e as T}from"./chunks/framework.BXE2pAXj.js";const P=JSON.parse('{"title":"免责声明","description":"免责声明","frontmatter":{"title":"免责声明","description":"免责声明","layout":"doc","aside":false,"comment":false},"headers":[],"relativePath":"disclaimer.md","filePath":"disclaimer.md","lastUpdated":1729674076000}'),b={name:"disclaimer.md"};function _(e,t,k,$,q,x){const n=o("ArticleMetadata"),s=o("ClientOnly");return l(),m("div",null,[t[0]||(t[0]=i("h1",{id:"tritium-项目免责声明",tabindex:"-1"},[c("Tritium 项目免责声明 "),i("a",{class:"header-anchor",href:"#tritium-项目免责声明","aria-label":'Permalink to "Tritium 项目免责声明"'},"​")],-1)),u(s,null,{default:p(()=>{var a,r;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:e.$frontmatter},null,8,["article"])):T("",!0)]}),_:1}),t[1]||(t[1]=h('

目的

本平台提供的Tritium项目调度服务仅用于一般性信息交流和参考学习目的。任何由Tritium生成的内容不构成法律、专业建议。使用Tritium服务时,请谨慎评估并自主判断信息的准确性和适用性。

责任限制

我们不对因使用Tritium服务而导致的任何直接或间接损失、误解或问题承担责任。用户在使用Tritium服务的同时应当遵守适用法律法规,并理解Tritium的回应基于先前测试的数据,可能不具有实时性和个性化的特点

服务变更

我们保留随时更改、修订或终止Tritium服务的权利,而无需提前通知。用户在使用本服务前应审慎考虑并理解免责声明的内容。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

',8))])}const B=d(b,[["render",_]]);export{P as __pageData,B as default}; diff --git a/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.js b/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.js new file mode 100644 index 0000000..b19f05d --- /dev/null +++ b/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.js @@ -0,0 +1 @@ +import{_ as m,c as d,j as i,a as c,G as u,w as p,a4 as h,B as o,o as l,b as f,e as T}from"./chunks/framework.BXE2pAXj.js";const P=JSON.parse('{"title":"免责声明","titleTemplate":"空荧酒馆","description":"免责声明","frontmatter":{"title":"免责声明","description":"免责声明","titleTemplate":"空荧酒馆","layout":"doc","aside":false,"comment":false},"headers":[],"relativePath":"disclaimer.md","filePath":"disclaimer.md","lastUpdated":1706220153000}'),b={name:"disclaimer.md"};function _(e,t,k,$,q,x){const n=o("ArticleMetadata"),s=o("ClientOnly");return l(),d("div",null,[t[0]||(t[0]=i("h1",{id:"tritium-项目免责声明",tabindex:"-1"},[c("Tritium 项目免责声明 "),i("a",{class:"header-anchor",href:"#tritium-项目免责声明","aria-label":'Permalink to "Tritium 项目免责声明"'},"​")],-1)),u(s,null,{default:p(()=>{var a,r;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:e.$frontmatter},null,8,["article"])):T("",!0)]}),_:1}),t[1]||(t[1]=h('

目的

本平台提供的Tritium项目调度服务仅用于一般性信息交流和参考学习目的。任何由Tritium生成的内容不构成法律、专业建议。使用Tritium服务时,请谨慎评估并自主判断信息的准确性和适用性。

责任限制

我们不对因使用Tritium服务而导致的任何直接或间接损失、误解或问题承担责任。用户在使用Tritium服务的同时应当遵守适用法律法规,并理解Tritium的回应基于先前测试的数据,可能不具有实时性和个性化的特点

服务变更

我们保留随时更改、修订或终止Tritium服务的权利,而无需提前通知。用户在使用本服务前应审慎考虑并理解免责声明的内容。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

',8))])}const B=m(b,[["render",_]]);export{P as __pageData,B as default}; diff --git a/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.lean.js b/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.lean.js new file mode 100644 index 0000000..b19f05d --- /dev/null +++ b/maisk_fiage/webroot/assets/disclaimer.md.t5lkAs8z.lean.js @@ -0,0 +1 @@ +import{_ as m,c as d,j as i,a as c,G as u,w as p,a4 as h,B as o,o as l,b as f,e as T}from"./chunks/framework.BXE2pAXj.js";const P=JSON.parse('{"title":"免责声明","titleTemplate":"空荧酒馆","description":"免责声明","frontmatter":{"title":"免责声明","description":"免责声明","titleTemplate":"空荧酒馆","layout":"doc","aside":false,"comment":false},"headers":[],"relativePath":"disclaimer.md","filePath":"disclaimer.md","lastUpdated":1706220153000}'),b={name:"disclaimer.md"};function _(e,t,k,$,q,x){const n=o("ArticleMetadata"),s=o("ClientOnly");return l(),d("div",null,[t[0]||(t[0]=i("h1",{id:"tritium-项目免责声明",tabindex:"-1"},[c("Tritium 项目免责声明 "),i("a",{class:"header-anchor",href:"#tritium-项目免责声明","aria-label":'Permalink to "Tritium 项目免责声明"'},"​")],-1)),u(s,null,{default:p(()=>{var a,r;return[(((a=e.$frontmatter)==null?void 0:a.aside)??!0)&&(((r=e.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),f(n,{key:0,article:e.$frontmatter},null,8,["article"])):T("",!0)]}),_:1}),t[1]||(t[1]=h('

目的

本平台提供的Tritium项目调度服务仅用于一般性信息交流和参考学习目的。任何由Tritium生成的内容不构成法律、专业建议。使用Tritium服务时,请谨慎评估并自主判断信息的准确性和适用性。

责任限制

我们不对因使用Tritium服务而导致的任何直接或间接损失、误解或问题承担责任。用户在使用Tritium服务的同时应当遵守适用法律法规,并理解Tritium的回应基于先前测试的数据,可能不具有实时性和个性化的特点

服务变更

我们保留随时更改、修订或终止Tritium服务的权利,而无需提前通知。用户在使用本服务前应审慎考虑并理解免责声明的内容。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

',8))])}const B=m(b,[["render",_]]);export{P as __pageData,B as default}; diff --git a/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js b/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js new file mode 100644 index 0000000..75af7a7 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.js @@ -0,0 +1,109 @@ +import{_ as i,c as a,a4 as n,o as t}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"CPU混合调频器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"CPU混合调频器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/CpuGovernor.md","filePath":"guide/CpuGovernor.md","lastUpdated":1729565666000}'),l={name:"guide/CpuGovernor.md"};function e(p,s,h,k,r,C){return t(),a("div",null,s[0]||(s[0]=[n(`

CpuGovernor - CPU混合调频器

此模块通过在各种不同场景下选择合适的CPU频率以改善使用体验.

params - 调频器参数

TIP

enable 字段为是否启用

json
{
+"CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+  }
+  ...//其他模块
+}

提示

工作频率是CPU混合调频器的重要参数, 通常Linux内核频率为300HZ,即3.33ms记录一次, 活跃时间/总时间*100即为CPU负载百分比.
如果工作频率过高将会导致调频器的开销增加且无法获得有效的CPU负载(例如100HZ时只能获得0% 33% 66% 100%四种负载), 过低将导致调频器无法应对瞬时负载.
最小频率差值为生成CPU频率表的关键参数, 设置得过小将会导致调频速度过慢,过大将会导致调频不够精细.

policies - 策略组

此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个策略组.
每个策略组中的CPU频率将会同步控制, 应当与内核中每个cluster中包含的CPU对应.
由于是按照数组的序号来为策略组编号的, 所以策略组的排序应与cluster的排序一致.
例如SDM845为4+4设计, 即policy0: CPU0-3; policy1: CPU4-7.

字段类型定义
coreNumint策略组中包含的CPU核心数量
perfScaleintCPU相对同频算力值
lowPowerFreqintCPU功耗最低频率(单位:MHz)
optimalFreqintCPU最优频率(单位:MHz)
modelFreqint用于生成CPU功耗模型的CPU频率(单位:MHz)
modelPowerint处于modelFreq时CPU的满载功耗(单位:mW)

CpuGovernor模块设定中的所有频率都将会被取近似值, 例如CPU频率表中有1200, 1450, 1700三个频率, 设定频率为1500, 最终取值将为1450.

JSON
  "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1200,
+        "modelFreq": 2000,
+        "modelPower": 360
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 320,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1700,
+        "modelFreq": 2600,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 320,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2600,
+        "modelPower": 1750
+      }
+    ],

modes - 模式参数

字段类型定义
powerLimitintCPU整体功耗限制(单位:mW)
perfMarginArrayIntCPU性能冗余(范围:0-100)
upRateLatencyintCPU频率提升延迟(单位:ms)
overHeatTempint过热温度(单位:°C)
burstCapacityint频率加速容量(单位:W·ms)
recoverTimeint容量恢复时间(单位:ms)

CPU整体功耗限制会影响CPU频率上限, 调频器计算的是满载功耗,不会随CPU负载变化而改变.
perfMargin使用ArrayInt即整数数组方式存储参数, 数组的序号对应策略组编号.
CPU频率提升延迟用于降低CPU频率被提升得过高的几率, 每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频.
过热温度为触发调频器温度控制的阈值, 当CPU温度超过该值时将限制CPU功耗在powerLimit以内并忽略频率加速直到温度降低.
当触发CPU频率加速时调频器将会忽略powerLimit, 如果实时功耗超过powerLimit就会消耗burstCapacity, 直到容量耗尽时恢复功耗限制.
当实时功耗低于功耗限制值时将会逐渐恢复burstCapacity, recoverTime即为容量从耗尽到完全恢复所需的时间.

freqBurst - CPU频率加速

CPU频率加速可以在特定条件触发时调高CPU频率提升积极性, 用于降低部分场景下卡顿的几率.

字段类型定义
durationTimeint频率加速持续时间(单位:ms)
lowLatencybool是否降低延迟
extraMarginint额外性能冗余(范围:0-100)
boostint频率加速值(范围:0-100)

触发条件包含tap swipe gesture heavyload jank bigJank,分别在 点击屏幕 滑动屏幕 手势操作 重负载 掉帧 严重掉帧 时触发.
触发的优先级为none < tap < swipe < gesture < heavyload < jank < bigJank, 当更高优先级的加速触发时将覆盖低优先级的加速.
当要求调频器降低延迟时调频器将会以最快的速度提升CPU频率, 适用于检测到掉帧等需要迅速提升CPU频率的场景.
extraMargin值用于提供额外的性能冗余, 计算公式如下: acturalMargin = perfMargin + extraMargin.
boost值用于夸大实际的CPU负载, 计算公式如下: cpuLoad = cpuLoad + (100 - cpuLoad) * boost / 100.
当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度小于90度时最大功耗限制在5000mW, CPU温度大于等于90度时最大功耗限制在4000mW.

例如

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 3000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        
+       ...
+}

WARNING

当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度时最大功耗限制在3000mW,

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 2000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        "burstCapacity": 8000,
+        "recoverTime": 2000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance",
+      "performance",
+      "fast",
+}
`,22)]))}const g=i(l,[["render",e]]);export{o as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js b/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js new file mode 100644 index 0000000..75af7a7 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_CpuGovernor.md.C7ITKPMv.lean.js @@ -0,0 +1,109 @@ +import{_ as i,c as a,a4 as n,o as t}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"CPU混合调频器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"CPU混合调频器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/CpuGovernor.md","filePath":"guide/CpuGovernor.md","lastUpdated":1729565666000}'),l={name:"guide/CpuGovernor.md"};function e(p,s,h,k,r,C){return t(),a("div",null,s[0]||(s[0]=[n(`

CpuGovernor - CPU混合调频器

此模块通过在各种不同场景下选择合适的CPU频率以改善使用体验.

params - 调频器参数

TIP

enable 字段为是否启用

json
{
+"CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+  }
+  ...//其他模块
+}

提示

工作频率是CPU混合调频器的重要参数, 通常Linux内核频率为300HZ,即3.33ms记录一次, 活跃时间/总时间*100即为CPU负载百分比.
如果工作频率过高将会导致调频器的开销增加且无法获得有效的CPU负载(例如100HZ时只能获得0% 33% 66% 100%四种负载), 过低将导致调频器无法应对瞬时负载.
最小频率差值为生成CPU频率表的关键参数, 设置得过小将会导致调频速度过慢,过大将会导致调频不够精细.

policies - 策略组

此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个策略组.
每个策略组中的CPU频率将会同步控制, 应当与内核中每个cluster中包含的CPU对应.
由于是按照数组的序号来为策略组编号的, 所以策略组的排序应与cluster的排序一致.
例如SDM845为4+4设计, 即policy0: CPU0-3; policy1: CPU4-7.

字段类型定义
coreNumint策略组中包含的CPU核心数量
perfScaleintCPU相对同频算力值
lowPowerFreqintCPU功耗最低频率(单位:MHz)
optimalFreqintCPU最优频率(单位:MHz)
modelFreqint用于生成CPU功耗模型的CPU频率(单位:MHz)
modelPowerint处于modelFreq时CPU的满载功耗(单位:mW)

CpuGovernor模块设定中的所有频率都将会被取近似值, 例如CPU频率表中有1200, 1450, 1700三个频率, 设定频率为1500, 最终取值将为1450.

JSON
  "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1200,
+        "modelFreq": 2000,
+        "modelPower": 360
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 320,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1700,
+        "modelFreq": 2600,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 320,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2600,
+        "modelPower": 1750
+      }
+    ],

modes - 模式参数

字段类型定义
powerLimitintCPU整体功耗限制(单位:mW)
perfMarginArrayIntCPU性能冗余(范围:0-100)
upRateLatencyintCPU频率提升延迟(单位:ms)
overHeatTempint过热温度(单位:°C)
burstCapacityint频率加速容量(单位:W·ms)
recoverTimeint容量恢复时间(单位:ms)

CPU整体功耗限制会影响CPU频率上限, 调频器计算的是满载功耗,不会随CPU负载变化而改变.
perfMargin使用ArrayInt即整数数组方式存储参数, 数组的序号对应策略组编号.
CPU频率提升延迟用于降低CPU频率被提升得过高的几率, 每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频.
过热温度为触发调频器温度控制的阈值, 当CPU温度超过该值时将限制CPU功耗在powerLimit以内并忽略频率加速直到温度降低.
当触发CPU频率加速时调频器将会忽略powerLimit, 如果实时功耗超过powerLimit就会消耗burstCapacity, 直到容量耗尽时恢复功耗限制.
当实时功耗低于功耗限制值时将会逐渐恢复burstCapacity, recoverTime即为容量从耗尽到完全恢复所需的时间.

freqBurst - CPU频率加速

CPU频率加速可以在特定条件触发时调高CPU频率提升积极性, 用于降低部分场景下卡顿的几率.

字段类型定义
durationTimeint频率加速持续时间(单位:ms)
lowLatencybool是否降低延迟
extraMarginint额外性能冗余(范围:0-100)
boostint频率加速值(范围:0-100)

触发条件包含tap swipe gesture heavyload jank bigJank,分别在 点击屏幕 滑动屏幕 手势操作 重负载 掉帧 严重掉帧 时触发.
触发的优先级为none < tap < swipe < gesture < heavyload < jank < bigJank, 当更高优先级的加速触发时将覆盖低优先级的加速.
当要求调频器降低延迟时调频器将会以最快的速度提升CPU频率, 适用于检测到掉帧等需要迅速提升CPU频率的场景.
extraMargin值用于提供额外的性能冗余, 计算公式如下: acturalMargin = perfMargin + extraMargin.
boost值用于夸大实际的CPU负载, 计算公式如下: cpuLoad = cpuLoad + (100 - cpuLoad) * boost / 100.
当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度小于90度时最大功耗限制在5000mW, CPU温度大于等于90度时最大功耗限制在4000mW.

例如

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 3000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        
+       ...
+}

WARNING

当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度时最大功耗限制在3000mW,

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 2000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        "burstCapacity": 8000,
+        "recoverTime": 2000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance",
+      "performance",
+      "fast",
+}
`,22)]))}const g=i(l,[["render",e]]);export{o as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.js b/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.js new file mode 100644 index 0000000..02b5c94 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.js @@ -0,0 +1,572 @@ +import{_ as i,c as a,a4 as n,o as l}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"自定义配置开发文档","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"自定义配置开发文档","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Customize.md","filePath":"guide/Customize.md","lastUpdated":1729674076000}'),p={name:"guide/Customize.md"};function h(k,s,t,e,C,r){return l(),a("div",null,s[0]||(s[0]=[n(`

CuprumTurbo V19 自定义配置开发文档

本文档来自于上游开发者我们只是对其字段进行通俗理解,当然我们不可能比开发者更懂这些参数

导航

完整config以高通865为例

json
{
+  "name": "Snapdragon865/865+/870",
+  "author": "Suni",
+  "configVersion": 10,
+  "CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+    "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 600,
+        "optimalFreq": 1400,
+        "modelFreq": 1800,
+        "modelPower": 320
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 300,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2420,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 300,
+        "lowPowerFreq": 800,
+        "optimalFreq": 2000,
+        "modelFreq": 2840,
+        "modelPower": 1880
+      }
+    ],
+    "modes": {
+      "powersave": {
+        "powerLimit": 1500,
+        "perfMargin": [10, 10, 10],
+        "upRateLatency": 600,
+        "overHeatTemp": 65,
+        "burstCapacity": 12000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 5
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance": {
+        "powerLimit": 2800,
+        "perfMargin": [15, 20, 20],
+        "upRateLatency": 360,
+        "overHeatTemp": 70,
+        "burstCapacity": 16000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 360,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 510,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1100,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "jank": {
+            "durationTime": 500,
+            "lowLatency": true,
+            "extraMargin": 5,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 960,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 50
+          }
+        }
+      },
+      "performance": {
+        "powerLimit": 4600,
+        "perfMargin": [10, 30, 40],
+        "upRateLatency": 200,
+        "overHeatTemp": 90,
+        "burstCapacity": 20000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 280,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 390,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 25
+          },
+          "jank": {
+            "durationTime": 530,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 1100,
+            "lowLatency": true,
+            "extraMargin": 15,
+            "boost": 55
+          }
+        }
+      },
+      "fast": {
+        "powerLimit": 10000,
+        "perfMargin": [30, 80, 90],
+        "upRateLatency": 0,
+        "overHeatTemp": 95,
+        "burstCapacity": 0,
+        "recoverTime": 0,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 35
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      }
+    }
+  },
+  "ThreadSchedOpt": {
+    "enable": true,
+    "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+    "defaultPriority": 0,
+    "appTypes": {
+      "unity_genshin": {
+        "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*",
+        "symbol": null
+      },
+      "unity_common": {
+        "pkgName": null,
+        "symbol": "Unity*"
+      },
+      "unreal_engine": {
+        "pkgName": null,
+        "symbol": "(TaskGraph|RHIThread)*"
+      },
+      "minecraft": {
+        "pkgName": null,
+        "symbol": "MINECRAFT*"
+      },
+      "neox_engine": {
+        "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*",
+        "symbol": null
+      },
+      "sky_game": {
+        "pkgName": "(com.netease.sky|com.tgc.sky)*",
+        "symbol": null
+      },
+      "benchmark": {
+        "pkgName": "com.futuremark.*|*[Bb]ench*",
+        "symbol": null
+      }
+    },
+    "schedRules": {
+      "DEFAULT_RULE": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "*[Rr]ender*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -20
+        },
+        {
+          "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        },
+        {
+          "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        }
+      ],
+      "unity_genshin": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityGfx*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unity_common": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityMain*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unreal_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(RenderThread|GameThread|RHIThread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "minecraft": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(Rendering Pool|MINECRAFT)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "Thread-*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+          "priority": -8
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "neox_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Thread-)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(IO|Compute|Resource|NativeThread)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "sky_game": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Program Thread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(JobThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "benchmark": []
+    }
+  },
+  "MtkGpuGovernor": {
+    "enable": false
+  },
+  "FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+}
`,6)]))}const g=i(p,[["render",h]]);export{y as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js b/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js new file mode 100644 index 0000000..02b5c94 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Customize.md.C2zSKp6n.lean.js @@ -0,0 +1,572 @@ +import{_ as i,c as a,a4 as n,o as l}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"自定义配置开发文档","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"自定义配置开发文档","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Customize.md","filePath":"guide/Customize.md","lastUpdated":1729674076000}'),p={name:"guide/Customize.md"};function h(k,s,t,e,C,r){return l(),a("div",null,s[0]||(s[0]=[n(`

CuprumTurbo V19 自定义配置开发文档

本文档来自于上游开发者我们只是对其字段进行通俗理解,当然我们不可能比开发者更懂这些参数

导航

完整config以高通865为例

json
{
+  "name": "Snapdragon865/865+/870",
+  "author": "Suni",
+  "configVersion": 10,
+  "CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+    "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 600,
+        "optimalFreq": 1400,
+        "modelFreq": 1800,
+        "modelPower": 320
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 300,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2420,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 300,
+        "lowPowerFreq": 800,
+        "optimalFreq": 2000,
+        "modelFreq": 2840,
+        "modelPower": 1880
+      }
+    ],
+    "modes": {
+      "powersave": {
+        "powerLimit": 1500,
+        "perfMargin": [10, 10, 10],
+        "upRateLatency": 600,
+        "overHeatTemp": 65,
+        "burstCapacity": 12000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 5
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance": {
+        "powerLimit": 2800,
+        "perfMargin": [15, 20, 20],
+        "upRateLatency": 360,
+        "overHeatTemp": 70,
+        "burstCapacity": 16000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 360,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 510,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1100,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "jank": {
+            "durationTime": 500,
+            "lowLatency": true,
+            "extraMargin": 5,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 960,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 50
+          }
+        }
+      },
+      "performance": {
+        "powerLimit": 4600,
+        "perfMargin": [10, 30, 40],
+        "upRateLatency": 200,
+        "overHeatTemp": 90,
+        "burstCapacity": 20000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 280,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 390,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 25
+          },
+          "jank": {
+            "durationTime": 530,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 1100,
+            "lowLatency": true,
+            "extraMargin": 15,
+            "boost": 55
+          }
+        }
+      },
+      "fast": {
+        "powerLimit": 10000,
+        "perfMargin": [30, 80, 90],
+        "upRateLatency": 0,
+        "overHeatTemp": 95,
+        "burstCapacity": 0,
+        "recoverTime": 0,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 35
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      }
+    }
+  },
+  "ThreadSchedOpt": {
+    "enable": true,
+    "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+    "defaultPriority": 0,
+    "appTypes": {
+      "unity_genshin": {
+        "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*",
+        "symbol": null
+      },
+      "unity_common": {
+        "pkgName": null,
+        "symbol": "Unity*"
+      },
+      "unreal_engine": {
+        "pkgName": null,
+        "symbol": "(TaskGraph|RHIThread)*"
+      },
+      "minecraft": {
+        "pkgName": null,
+        "symbol": "MINECRAFT*"
+      },
+      "neox_engine": {
+        "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*",
+        "symbol": null
+      },
+      "sky_game": {
+        "pkgName": "(com.netease.sky|com.tgc.sky)*",
+        "symbol": null
+      },
+      "benchmark": {
+        "pkgName": "com.futuremark.*|*[Bb]ench*",
+        "symbol": null
+      }
+    },
+    "schedRules": {
+      "DEFAULT_RULE": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "*[Rr]ender*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -20
+        },
+        {
+          "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        },
+        {
+          "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        }
+      ],
+      "unity_genshin": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityGfx*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unity_common": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityMain*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unreal_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(RenderThread|GameThread|RHIThread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "minecraft": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(Rendering Pool|MINECRAFT)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "Thread-*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+          "priority": -8
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "neox_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Thread-)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(IO|Compute|Resource|NativeThread)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "sky_game": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Program Thread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(JobThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "benchmark": []
+    }
+  },
+  "MtkGpuGovernor": {
+    "enable": false
+  },
+  "FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+}
`,6)]))}const g=i(p,[["render",h]]);export{y as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js b/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js new file mode 100644 index 0000000..48f4435 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.js @@ -0,0 +1,572 @@ +import{_ as i,c as a,a4 as n,o as l}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"自定义配置开发文档","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"自定义配置开发文档","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Customize.md","filePath":"guide/Customize.md","lastUpdated":1718244730000}'),p={name:"guide/Customize.md"};function h(k,s,t,e,C,r){return l(),a("div",null,s[0]||(s[0]=[n(`

CuprumTurbo V18 自定义配置开发文档

本文档来自于上游开发者我们只是对其字段进行通俗理解,当然我们不可能比开发者更懂这些参数

导航

完整config以高通865为例

json
{
+  "name": "Snapdragon865/865+/870",
+  "author": "Suni",
+  "configVersion": 10,
+  "CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+    "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 600,
+        "optimalFreq": 1400,
+        "modelFreq": 1800,
+        "modelPower": 320
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 300,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2420,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 300,
+        "lowPowerFreq": 800,
+        "optimalFreq": 2000,
+        "modelFreq": 2840,
+        "modelPower": 1880
+      }
+    ],
+    "modes": {
+      "powersave": {
+        "powerLimit": 1500,
+        "perfMargin": [10, 10, 10],
+        "upRateLatency": 600,
+        "overHeatTemp": 65,
+        "burstCapacity": 12000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 5
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance": {
+        "powerLimit": 2800,
+        "perfMargin": [15, 20, 20],
+        "upRateLatency": 360,
+        "overHeatTemp": 70,
+        "burstCapacity": 16000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 360,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 510,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1100,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "jank": {
+            "durationTime": 500,
+            "lowLatency": true,
+            "extraMargin": 5,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 960,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 50
+          }
+        }
+      },
+      "performance": {
+        "powerLimit": 4600,
+        "perfMargin": [10, 30, 40],
+        "upRateLatency": 200,
+        "overHeatTemp": 90,
+        "burstCapacity": 20000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 280,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 390,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 25
+          },
+          "jank": {
+            "durationTime": 530,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 1100,
+            "lowLatency": true,
+            "extraMargin": 15,
+            "boost": 55
+          }
+        }
+      },
+      "fast": {
+        "powerLimit": 10000,
+        "perfMargin": [30, 80, 90],
+        "upRateLatency": 0,
+        "overHeatTemp": 95,
+        "burstCapacity": 0,
+        "recoverTime": 0,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 35
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      }
+    }
+  },
+  "ThreadSchedOpt": {
+    "enable": true,
+    "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+    "defaultPriority": 0,
+    "appTypes": {
+      "unity_genshin": {
+        "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*",
+        "symbol": null
+      },
+      "unity_common": {
+        "pkgName": null,
+        "symbol": "Unity*"
+      },
+      "unreal_engine": {
+        "pkgName": null,
+        "symbol": "(TaskGraph|RHIThread)*"
+      },
+      "minecraft": {
+        "pkgName": null,
+        "symbol": "MINECRAFT*"
+      },
+      "neox_engine": {
+        "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*",
+        "symbol": null
+      },
+      "sky_game": {
+        "pkgName": "(com.netease.sky|com.tgc.sky)*",
+        "symbol": null
+      },
+      "benchmark": {
+        "pkgName": "com.futuremark.*|*[Bb]ench*",
+        "symbol": null
+      }
+    },
+    "schedRules": {
+      "DEFAULT_RULE": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "*[Rr]ender*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -20
+        },
+        {
+          "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        },
+        {
+          "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        }
+      ],
+      "unity_genshin": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityGfx*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unity_common": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityMain*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unreal_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(RenderThread|GameThread|RHIThread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "minecraft": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(Rendering Pool|MINECRAFT)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "Thread-*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+          "priority": -8
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "neox_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Thread-)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(IO|Compute|Resource|NativeThread)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "sky_game": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Program Thread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(JobThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "benchmark": []
+    }
+  },
+  "MtkGpuGovernor": {
+    "enable": false
+  },
+  "FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+}
`,6)]))}const g=i(p,[["render",h]]);export{y as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js b/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js new file mode 100644 index 0000000..48f4435 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Customize.md.Cn2Uj_Pl.lean.js @@ -0,0 +1,572 @@ +import{_ as i,c as a,a4 as n,o as l}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"自定义配置开发文档","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"自定义配置开发文档","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Customize.md","filePath":"guide/Customize.md","lastUpdated":1718244730000}'),p={name:"guide/Customize.md"};function h(k,s,t,e,C,r){return l(),a("div",null,s[0]||(s[0]=[n(`

CuprumTurbo V18 自定义配置开发文档

本文档来自于上游开发者我们只是对其字段进行通俗理解,当然我们不可能比开发者更懂这些参数

导航

完整config以高通865为例

json
{
+  "name": "Snapdragon865/865+/870",
+  "author": "Suni",
+  "configVersion": 10,
+  "CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+    "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 600,
+        "optimalFreq": 1400,
+        "modelFreq": 1800,
+        "modelPower": 320
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 300,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2420,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 300,
+        "lowPowerFreq": 800,
+        "optimalFreq": 2000,
+        "modelFreq": 2840,
+        "modelPower": 1880
+      }
+    ],
+    "modes": {
+      "powersave": {
+        "powerLimit": 1500,
+        "perfMargin": [10, 10, 10],
+        "upRateLatency": 600,
+        "overHeatTemp": 65,
+        "burstCapacity": 12000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 5
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance": {
+        "powerLimit": 2800,
+        "perfMargin": [15, 20, 20],
+        "upRateLatency": 360,
+        "overHeatTemp": 70,
+        "burstCapacity": 16000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 360,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 510,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1100,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "jank": {
+            "durationTime": 500,
+            "lowLatency": true,
+            "extraMargin": 5,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 960,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 50
+          }
+        }
+      },
+      "performance": {
+        "powerLimit": 4600,
+        "perfMargin": [10, 30, 40],
+        "upRateLatency": 200,
+        "overHeatTemp": 90,
+        "burstCapacity": 20000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 280,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 390,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 25
+          },
+          "jank": {
+            "durationTime": 530,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 1100,
+            "lowLatency": true,
+            "extraMargin": 15,
+            "boost": 55
+          }
+        }
+      },
+      "fast": {
+        "powerLimit": 10000,
+        "perfMargin": [30, 80, 90],
+        "upRateLatency": 0,
+        "overHeatTemp": 95,
+        "burstCapacity": 0,
+        "recoverTime": 0,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 35
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      }
+    }
+  },
+  "ThreadSchedOpt": {
+    "enable": true,
+    "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+    "defaultPriority": 0,
+    "appTypes": {
+      "unity_genshin": {
+        "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*",
+        "symbol": null
+      },
+      "unity_common": {
+        "pkgName": null,
+        "symbol": "Unity*"
+      },
+      "unreal_engine": {
+        "pkgName": null,
+        "symbol": "(TaskGraph|RHIThread)*"
+      },
+      "minecraft": {
+        "pkgName": null,
+        "symbol": "MINECRAFT*"
+      },
+      "neox_engine": {
+        "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*",
+        "symbol": null
+      },
+      "sky_game": {
+        "pkgName": "(com.netease.sky|com.tgc.sky)*",
+        "symbol": null
+      },
+      "benchmark": {
+        "pkgName": "com.futuremark.*|*[Bb]ench*",
+        "symbol": null
+      }
+    },
+    "schedRules": {
+      "DEFAULT_RULE": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "*[Rr]ender*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -20
+        },
+        {
+          "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        },
+        {
+          "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        }
+      ],
+      "unity_genshin": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityGfx*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unity_common": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityMain*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unreal_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(RenderThread|GameThread|RHIThread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "minecraft": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(Rendering Pool|MINECRAFT)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "Thread-*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+          "priority": -8
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "neox_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Thread-)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(IO|Compute|Resource|NativeThread)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "sky_game": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Program Thread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(JobThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "benchmark": []
+    }
+  },
+  "MtkGpuGovernor": {
+    "enable": false
+  },
+  "FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+}
`,6)]))}const g=i(p,[["render",h]]);export{y as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.js b/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.js new file mode 100644 index 0000000..5fe30a9 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.js @@ -0,0 +1,34 @@ +import{_ as a,c as i,a4 as n,o as e}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"文件写入器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"文件写入器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/FileWriter.md","filePath":"guide/FileWriter.md","lastUpdated":1708800081000}'),t={name:"guide/FileWriter.md"};function l(p,s,h,r,k,d){return e(),i("div",null,s[0]||(s[0]=[n(`

FileWriter - 文件写入器

此模块用于在触发某些场景时自动写入文件

scenes - 场景触发器

当触发指定场景时将会自动向文件中写入预设的文本, 写入方式与echo [text] > [path]相同且效率更高, 写入单个文件的耗时通常不超过1ms.
支持的场景如下:
init: 调度初始化时触发, 仅执行一次.
screenOn: 屏幕点亮时触发.
screenOff: 屏幕熄灭时触发.
powersaveMode: 切换到powersave模式时触发.
balanceMode: 切换到balance模式时触发.
performanceMode: 切换到performance模式时触发.
fastMode: 切换到fast模式时触发.
此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个文件写入任务.

字段类型定义
pathstring写入的目标地址
textstring需要写入的文本

举个例子

TIP

当某个节点写入文本时,path 应该是绝对路径,而不是相对路径,例如下面,目标路径为/dev/cpuset/restricted/cpus,写入的文本是 0-3

json

+"FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
`,8)]))}const u=a(t,[["render",l]]);export{o as __pageData,u as default}; diff --git a/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js b/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js new file mode 100644 index 0000000..5fe30a9 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_FileWriter.md.CXfMFAog.lean.js @@ -0,0 +1,34 @@ +import{_ as a,c as i,a4 as n,o as e}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"文件写入器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"文件写入器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/FileWriter.md","filePath":"guide/FileWriter.md","lastUpdated":1708800081000}'),t={name:"guide/FileWriter.md"};function l(p,s,h,r,k,d){return e(),i("div",null,s[0]||(s[0]=[n(`

FileWriter - 文件写入器

此模块用于在触发某些场景时自动写入文件

scenes - 场景触发器

当触发指定场景时将会自动向文件中写入预设的文本, 写入方式与echo [text] > [path]相同且效率更高, 写入单个文件的耗时通常不超过1ms.
支持的场景如下:
init: 调度初始化时触发, 仅执行一次.
screenOn: 屏幕点亮时触发.
screenOff: 屏幕熄灭时触发.
powersaveMode: 切换到powersave模式时触发.
balanceMode: 切换到balance模式时触发.
performanceMode: 切换到performance模式时触发.
fastMode: 切换到fast模式时触发.
此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个文件写入任务.

字段类型定义
pathstring写入的目标地址
textstring需要写入的文本

举个例子

TIP

当某个节点写入文本时,path 应该是绝对路径,而不是相对路径,例如下面,目标路径为/dev/cpuset/restricted/cpus,写入的文本是 0-3

json

+"FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
`,8)]))}const u=a(t,[["render",l]]);export{o as __pageData,u as default}; diff --git a/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.js b/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.js new file mode 100644 index 0000000..3b57f10 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.js @@ -0,0 +1,7 @@ +import{_ as t,c as i,a4 as a,o as n}from"./chunks/framework.BXE2pAXj.js";const c=JSON.parse('{"title":"基本信息","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"基本信息","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Json.md","filePath":"guide/Json.md","lastUpdated":1729565666000}'),e={name:"guide/Json.md"};function l(p,s,h,d,r,o){return n(),i("div",null,s[0]||(s[0]=[a(`

Json信息

在这里你可以定义配置文件的名称和作者信息, 请注意不要修改配置文件版本, 此字段将会用于验证调度与该配置是否兼容.

字段类型定义
namestring配置文件的名称
authorstring配置文件的作者信息
configVersionint配置文件版本
json
{
+  "name": "Dimensity1100/1200/1300", //名称
+  "author": "chenzyadb",//作者
+  "configVersion": 10,//版本
+   ... 
+   //其他模块
+}

注意

configVersion 字段会验证调度版本,请确定版本对应,使用最新发布版本时,应与开发者仓库中的保持一致

`,5)]))}const g=t(e,[["render",l]]);export{c as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.lean.js b/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.lean.js new file mode 100644 index 0000000..3b57f10 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_Json.md.BG_wBOYT.lean.js @@ -0,0 +1,7 @@ +import{_ as t,c as i,a4 as a,o as n}from"./chunks/framework.BXE2pAXj.js";const c=JSON.parse('{"title":"基本信息","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"基本信息","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/Json.md","filePath":"guide/Json.md","lastUpdated":1729565666000}'),e={name:"guide/Json.md"};function l(p,s,h,d,r,o){return n(),i("div",null,s[0]||(s[0]=[a(`

Json信息

在这里你可以定义配置文件的名称和作者信息, 请注意不要修改配置文件版本, 此字段将会用于验证调度与该配置是否兼容.

字段类型定义
namestring配置文件的名称
authorstring配置文件的作者信息
configVersionint配置文件版本
json
{
+  "name": "Dimensity1100/1200/1300", //名称
+  "author": "chenzyadb",//作者
+  "configVersion": 10,//版本
+   ... 
+   //其他模块
+}

注意

configVersion 字段会验证调度版本,请确定版本对应,使用最新发布版本时,应与开发者仓库中的保持一致

`,5)]))}const g=t(e,[["render",l]]);export{c as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js b/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js new file mode 100644 index 0000000..0de0078 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.js @@ -0,0 +1,39 @@ +import{_ as a,c as i,a4 as n,o as t}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"联发科GPU调频器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"联发科GPU调频器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/MtkGpuGovernor.md","filePath":"guide/MtkGpuGovernor.md","lastUpdated":1708800081000}'),e={name:"guide/MtkGpuGovernor.md"};function l(p,s,h,k,r,d){return t(),i("div",null,s[0]||(s[0]=[n(`

MtkGpuGovernor - 联发科GPU调频器

这个简易的GPU调频器可以满足对联发科GPU频率的基础调控

params - 调频器参数

字段类型定义
activeRateHzint活跃时工作频率
idleRateHzint空闲时工作频率
preferredFreqArrayInt偏好GPU频率(单位:MHz)

当GPU负载为0时调频器按照idleRateHz频率工作, 当负载非0时调频器按照activeRateHz频率工作.
由于联发科内核提供的GPU频率数量过多, 此调频器将只会选取部分GPU频率,具体信息请查看调度日志.
preferredFreq为偏好的GPU频率, 调度选取GPU频率时将优先考虑这些频率.

modes - 模式参数

字段类型定义
maxFreqintGPU频率上限(单位:MHz)
minFreqintGPU频率下限(单位:MHz)
upRateThresintGPU升频阈值(范围:0-100)
downRateDiffintGPU降频差值(范围:0-100)

当GPU负载大于upRateThres时提升频率, 当GPU负载减少的差值大于downRateDiff时降低频率.
例如: 设置upRateThres=90, downRateDiff=10, 当GPU负载为75时降低GPU频率, 当GPU负载为85时GPU频率不变,当GPU负载为95时提升GPU频率.
upRateThres的值越小升频越积极, downRateDiff的值越大降频越缓慢, downRateDiff的值不得大于upRateThres.

json

+"MtkGpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "preferredFreq": [
+        540,
+        660,
+        770
+      ]
+    },
+    "modes": {
+      "powersave": {
+        "maxFreq": 540,
+        "minFreq": 0,
+        "upRateThres": 90,
+        "downRateDiff": 10
+      },
+      "balance": {
+        "maxFreq": 660,
+        "minFreq": 0,
+        "upRateThres": 80,
+        "downRateDiff": 10
+      },
+      "performance": {
+        "maxFreq": 770,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 10
+      },
+      "fast": {
+        "maxFreq": 890,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 20
+      }
+    }
+  },
`,9)]))}const g=a(e,[["render",l]]);export{o as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js b/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js new file mode 100644 index 0000000..0de0078 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_MtkGpuGovernor.md.D-jFebN0.lean.js @@ -0,0 +1,39 @@ +import{_ as a,c as i,a4 as n,o as t}from"./chunks/framework.BXE2pAXj.js";const o=JSON.parse('{"title":"联发科GPU调频器","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"联发科GPU调频器","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/MtkGpuGovernor.md","filePath":"guide/MtkGpuGovernor.md","lastUpdated":1708800081000}'),e={name:"guide/MtkGpuGovernor.md"};function l(p,s,h,k,r,d){return t(),i("div",null,s[0]||(s[0]=[n(`

MtkGpuGovernor - 联发科GPU调频器

这个简易的GPU调频器可以满足对联发科GPU频率的基础调控

params - 调频器参数

字段类型定义
activeRateHzint活跃时工作频率
idleRateHzint空闲时工作频率
preferredFreqArrayInt偏好GPU频率(单位:MHz)

当GPU负载为0时调频器按照idleRateHz频率工作, 当负载非0时调频器按照activeRateHz频率工作.
由于联发科内核提供的GPU频率数量过多, 此调频器将只会选取部分GPU频率,具体信息请查看调度日志.
preferredFreq为偏好的GPU频率, 调度选取GPU频率时将优先考虑这些频率.

modes - 模式参数

字段类型定义
maxFreqintGPU频率上限(单位:MHz)
minFreqintGPU频率下限(单位:MHz)
upRateThresintGPU升频阈值(范围:0-100)
downRateDiffintGPU降频差值(范围:0-100)

当GPU负载大于upRateThres时提升频率, 当GPU负载减少的差值大于downRateDiff时降低频率.
例如: 设置upRateThres=90, downRateDiff=10, 当GPU负载为75时降低GPU频率, 当GPU负载为85时GPU频率不变,当GPU负载为95时提升GPU频率.
upRateThres的值越小升频越积极, downRateDiff的值越大降频越缓慢, downRateDiff的值不得大于upRateThres.

json

+"MtkGpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "preferredFreq": [
+        540,
+        660,
+        770
+      ]
+    },
+    "modes": {
+      "powersave": {
+        "maxFreq": 540,
+        "minFreq": 0,
+        "upRateThres": 90,
+        "downRateDiff": 10
+      },
+      "balance": {
+        "maxFreq": 660,
+        "minFreq": 0,
+        "upRateThres": 80,
+        "downRateDiff": 10
+      },
+      "performance": {
+        "maxFreq": 770,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 10
+      },
+      "fast": {
+        "maxFreq": 890,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 20
+      }
+    }
+  },
`,9)]))}const g=a(e,[["render",l]]);export{o as __pageData,g as default}; diff --git a/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js b/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js new file mode 100644 index 0000000..ebc292a --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.js @@ -0,0 +1 @@ +import{_ as a,c as d,j as e,a as r,o as l}from"./chunks/framework.BXE2pAXj.js";const m=JSON.parse('{"title":"线程调度优化","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"线程调度优化","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/ThreadSchedOpt.md","filePath":"guide/ThreadSchedOpt.md","lastUpdated":1718244730000}'),o={name:"guide/ThreadSchedOpt.md"};function c(s,t,n,i,p,h){return l(),d("div",null,t[0]||(t[0]=[e("h3",{id:"threadschedopt-线程调度优化",tabindex:"-1"},[r("ThreadSchedOpt - 线程调度优化 "),e("a",{class:"header-anchor",href:"#threadschedopt-线程调度优化","aria-label":'Permalink to "ThreadSchedOpt - 线程调度优化"'},"​")],-1),e("blockquote",null,[e("p",null,"此模块通过智能分类线程来实现较为合理的线程调度策略")],-1),e("p",null,[e("strong",null,[e("code",null,"此模块未使用标准的规则编写, 暂不建议自行修改此模块的参数.")])],-1)]))}const T=a(o,[["render",c]]);export{m as __pageData,T as default}; diff --git a/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js b/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js new file mode 100644 index 0000000..ebc292a --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_ThreadSchedOpt.md.DdUcZG4k.lean.js @@ -0,0 +1 @@ +import{_ as a,c as d,j as e,a as r,o as l}from"./chunks/framework.BXE2pAXj.js";const m=JSON.parse('{"title":"线程调度优化","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"线程调度优化","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/ThreadSchedOpt.md","filePath":"guide/ThreadSchedOpt.md","lastUpdated":1718244730000}'),o={name:"guide/ThreadSchedOpt.md"};function c(s,t,n,i,p,h){return l(),d("div",null,t[0]||(t[0]=[e("h3",{id:"threadschedopt-线程调度优化",tabindex:"-1"},[r("ThreadSchedOpt - 线程调度优化 "),e("a",{class:"header-anchor",href:"#threadschedopt-线程调度优化","aria-label":'Permalink to "ThreadSchedOpt - 线程调度优化"'},"​")],-1),e("blockquote",null,[e("p",null,"此模块通过智能分类线程来实现较为合理的线程调度策略")],-1),e("p",null,[e("strong",null,[e("code",null,"此模块未使用标准的规则编写, 暂不建议自行修改此模块的参数.")])],-1)]))}const T=a(o,[["render",c]]);export{m as __pageData,T as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.js b/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.js new file mode 100644 index 0000000..517d47b --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.js @@ -0,0 +1 @@ +import{_ as n,c as i,a4 as a,j as t,a as o,G as l,B as d,o as s}from"./chunks/framework.BXE2pAXj.js";const x=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729511773000}'),u={name:"guide/download.md"},h={id:"下载配置文件并cutoolbox导入使用",tabindex:"-1"};function c(g,e,b,p,m,G){const r=d("Badge");return s(),i("div",null,[e[3]||(e[3]=a('

已适配Soc

  • 骁龙 845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835

  • 联发科 1000L/800U/820/900/920/1000+/1100/1200/1300/8000/8100/8200/9000/8300/9000+/9200/9200+

可选择下方任意方式下载

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

',4)),t("h2",h,[e[0]||(e[0]=o("下载配置文件并cutoolbox导入使用")),l(r,{type:"tip",text:"推荐✨"}),e[1]||(e[1]=o()),e[2]||(e[2]=t("a",{class:"header-anchor",href:"#下载配置文件并cutoolbox导入使用","aria-label":'Permalink to "下载配置文件并cutoolbox导入使用"'},"​",-1))]),e[4]||(e[4]=a('

下载链接🔗

Tritium

- GitHub

- 蓝奏云

',4))])}const q=n(u,[["render",c]]);export{x as __pageData,q as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.lean.js b/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.lean.js new file mode 100644 index 0000000..517d47b --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.BVZAE2IL.lean.js @@ -0,0 +1 @@ +import{_ as n,c as i,a4 as a,j as t,a as o,G as l,B as d,o as s}from"./chunks/framework.BXE2pAXj.js";const x=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729511773000}'),u={name:"guide/download.md"},h={id:"下载配置文件并cutoolbox导入使用",tabindex:"-1"};function c(g,e,b,p,m,G){const r=d("Badge");return s(),i("div",null,[e[3]||(e[3]=a('

已适配Soc

  • 骁龙 845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835

  • 联发科 1000L/800U/820/900/920/1000+/1100/1200/1300/8000/8100/8200/9000/8300/9000+/9200/9200+

可选择下方任意方式下载

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

',4)),t("h2",h,[e[0]||(e[0]=o("下载配置文件并cutoolbox导入使用")),l(r,{type:"tip",text:"推荐✨"}),e[1]||(e[1]=o()),e[2]||(e[2]=t("a",{class:"header-anchor",href:"#下载配置文件并cutoolbox导入使用","aria-label":'Permalink to "下载配置文件并cutoolbox导入使用"'},"​",-1))]),e[4]||(e[4]=a('

下载链接🔗

Tritium

- GitHub

- 蓝奏云

',4))])}const q=n(u,[["render",c]]);export{x as __pageData,q as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.js b/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.js new file mode 100644 index 0000000..489d40d --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.js @@ -0,0 +1 @@ +import{_ as t,c as a,a4 as o,o as l}from"./chunks/framework.BXE2pAXj.js";const n=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729847636000}'),r={name:"guide/download.md"};function i(s,e,d,c,u,p){return l(),a("div",null,e[0]||(e[0]=[o('

兼容状态

支持安卓6-14的arm64设备(APP最低支持安卓9)

目前支持架构 : arm64-v8a

支持的SOC列表(后续也可能会增加) (注:仅代表本调度,并不代表原CT)

骁龙:845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835/7+Gen3

天玑:1000+/8000/8100/9200/9200+

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

DANGER

模块和app是2种不同的选择,Magisk 模块Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

下载配置文件或模块刷入使用(建议一并安装附加模块)

GitHub all releases

下载cutoolbox

GitHub all releases

下载附加模块

TIP

此模块app已经内置,模块需要拆包app获取或者群文件,再者github拉去压缩后刷入

GitHub all releases

下载Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

GitHub all releases

',22)]))}const b=t(r,[["render",i]]);export{n as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.lean.js b/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.lean.js new file mode 100644 index 0000000..489d40d --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.C7nbBbZD.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,a4 as o,o as l}from"./chunks/framework.BXE2pAXj.js";const n=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729847636000}'),r={name:"guide/download.md"};function i(s,e,d,c,u,p){return l(),a("div",null,e[0]||(e[0]=[o('

兼容状态

支持安卓6-14的arm64设备(APP最低支持安卓9)

目前支持架构 : arm64-v8a

支持的SOC列表(后续也可能会增加) (注:仅代表本调度,并不代表原CT)

骁龙:845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835/7+Gen3

天玑:1000+/8000/8100/9200/9200+

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

DANGER

模块和app是2种不同的选择,Magisk 模块Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

下载配置文件或模块刷入使用(建议一并安装附加模块)

GitHub all releases

下载cutoolbox

GitHub all releases

下载附加模块

TIP

此模块app已经内置,模块需要拆包app获取或者群文件,再者github拉去压缩后刷入

GitHub all releases

下载Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

GitHub all releases

',22)]))}const b=t(r,[["render",i]]);export{n as __pageData,b as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.js b/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.js new file mode 100644 index 0000000..6ca80c4 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.js @@ -0,0 +1 @@ +import{_ as n,c as d,a4 as a,j as t,a as o,G as i,B as l,o as s}from"./chunks/framework.BXE2pAXj.js";const G=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729674076000}'),p={name:"guide/download.md"},u={id:"下载配置文件并cutoolbox导入使用",tabindex:"-1"};function c(h,e,m,b,f,x){const r=l("Badge");return s(),d("div",null,[e[3]||(e[3]=a('

兼容状态

支持安卓6-14的arm64设备(APP最低支持安卓9)

目前支持架构 : arm64-v8a

支持的SOC列表(后续也可能会增加) (注:仅代表本调度,并不代表原CT)

骁龙:845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835/7+Gen3

天玑:1000+/8000/8100/9200/9200+

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

',7)),t("h2",u,[e[0]||(e[0]=o("下载配置文件并cutoolbox导入使用")),i(r,{type:"tip",text:"推荐✨"}),e[1]||(e[1]=o()),e[2]||(e[2]=t("a",{class:"header-anchor",href:"#下载配置文件并cutoolbox导入使用","aria-label":'Permalink to "下载配置文件并cutoolbox导入使用"'},"​",-1))]),e[4]||(e[4]=a('

- GitHub

- 蓝奏云

',2))])}const w=n(p,[["render",c]]);export{G as __pageData,w as default}; diff --git a/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.lean.js b/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.lean.js new file mode 100644 index 0000000..6ca80c4 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_download.md.CtbZV98n.lean.js @@ -0,0 +1 @@ +import{_ as n,c as d,a4 as a,j as t,a as o,G as i,B as l,o as s}from"./chunks/framework.BXE2pAXj.js";const G=JSON.parse('{"title":"下载配置","description":"","frontmatter":{"title":"下载配置","layout":"doc"},"headers":[],"relativePath":"guide/download.md","filePath":"guide/download.md","lastUpdated":1729674076000}'),p={name:"guide/download.md"},u={id:"下载配置文件并cutoolbox导入使用",tabindex:"-1"};function c(h,e,m,b,f,x){const r=l("Badge");return s(),d("div",null,[e[3]||(e[3]=a('

兼容状态

支持安卓6-14的arm64设备(APP最低支持安卓9)

目前支持架构 : arm64-v8a

支持的SOC列表(后续也可能会增加) (注:仅代表本调度,并不代表原CT)

骁龙:845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835/7+Gen3

天玑:1000+/8000/8100/9200/9200+

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

',7)),t("h2",u,[e[0]||(e[0]=o("下载配置文件并cutoolbox导入使用")),i(r,{type:"tip",text:"推荐✨"}),e[1]||(e[1]=o()),e[2]||(e[2]=t("a",{class:"header-anchor",href:"#下载配置文件并cutoolbox导入使用","aria-label":'Permalink to "下载配置文件并cutoolbox导入使用"'},"​",-1))]),e[4]||(e[4]=a('

- GitHub

- 蓝奏云

',2))])}const w=n(p,[["render",c]]);export{G as __pageData,w as default}; diff --git a/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.js b/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.js new file mode 100644 index 0000000..9717a70 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.js @@ -0,0 +1 @@ +import{_ as d,c as h,j as r,a as c,G as s,w as m,a4 as p,B as l,o,b,e as f}from"./chunks/framework.BXE2pAXj.js";const x=JSON.parse('{"title":"什么是Tritium","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"什么是Tritium","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/start.md","filePath":"guide/start.md","lastUpdated":1729565666000}'),T={name:"guide/start.md"},k={align:"center"};function q(a,e,C,_,g,y){const u=l("ArticleMetadata"),n=l("ClientOnly");return o(),h("div",null,[r("div",k,[e[0]||(e[0]=r("h1",{id:"✨什么是tritium🤔",tabindex:"-1"},[c("✨什么是Tritium🤔 "),r("a",{class:"header-anchor",href:"#✨什么是tritium🤔","aria-label":'Permalink to "✨什么是Tritium🤔"'},"​")],-1)),s(n,null,{default:m(()=>{var t,i;return[(((t=a.$frontmatter)==null?void 0:t.aside)??!0)&&(((i=a.$frontmatter)==null?void 0:i.showArticleMetadata)??!0)?(o(),b(u,{key:0,article:a.$frontmatter},null,8,["article"])):f("",!0)]}),_:1})]),e[1]||(e[1]=p('

Tritium

CuprumTurbo Scheduler的衍生版本

Tritium调度是CuprumTurbo Scheduler的衍生版本,保留了大部分原有结构,但针对不同的SoC进行了深度适配和配置参数调整。我们致力于优化其性能,以更好地适应不同硬件环境。

我们绝大多数模板来自于上游仓库,但我们也对模块进行了一些修改

我们为什么选择CuprumTurbo Scheduler进行2次修改

CuprumTurbo Scheduler是一个高性能的调度器,具有非常强的自定义性,但它的配置较为复杂,需要一定的学习成本。Tritium调度器则是在CuprumTurbo Scheduler的基础上进行了一些优化和简化,更加深入soc的适配,使其在soc上获得个更加优秀的功耗控制和性能表现。

其他的调度

  • 类似于uperf的app动态配置调节。
  • scene适配等

相关协议

当开始使用Tritium时,请确保您已阅读相关协议,当然大多数与CuprumTurbo Scheduler保持一致

免责声明

用户协议

Apache-2.0 license

✨我该如何选择🤔?

根据个人喜好需求选择即可,当然你也可以选择

类似的项目 apodidae

',17))])}const P=d(T,[["render",q]]);export{x as __pageData,P as default}; diff --git a/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.lean.js b/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.lean.js new file mode 100644 index 0000000..9717a70 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_start.md.CNF3qU_l.lean.js @@ -0,0 +1 @@ +import{_ as d,c as h,j as r,a as c,G as s,w as m,a4 as p,B as l,o,b,e as f}from"./chunks/framework.BXE2pAXj.js";const x=JSON.parse('{"title":"什么是Tritium","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"什么是Tritium","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/start.md","filePath":"guide/start.md","lastUpdated":1729565666000}'),T={name:"guide/start.md"},k={align:"center"};function q(a,e,C,_,g,y){const u=l("ArticleMetadata"),n=l("ClientOnly");return o(),h("div",null,[r("div",k,[e[0]||(e[0]=r("h1",{id:"✨什么是tritium🤔",tabindex:"-1"},[c("✨什么是Tritium🤔 "),r("a",{class:"header-anchor",href:"#✨什么是tritium🤔","aria-label":'Permalink to "✨什么是Tritium🤔"'},"​")],-1)),s(n,null,{default:m(()=>{var t,i;return[(((t=a.$frontmatter)==null?void 0:t.aside)??!0)&&(((i=a.$frontmatter)==null?void 0:i.showArticleMetadata)??!0)?(o(),b(u,{key:0,article:a.$frontmatter},null,8,["article"])):f("",!0)]}),_:1})]),e[1]||(e[1]=p('

Tritium

CuprumTurbo Scheduler的衍生版本

Tritium调度是CuprumTurbo Scheduler的衍生版本,保留了大部分原有结构,但针对不同的SoC进行了深度适配和配置参数调整。我们致力于优化其性能,以更好地适应不同硬件环境。

我们绝大多数模板来自于上游仓库,但我们也对模块进行了一些修改

我们为什么选择CuprumTurbo Scheduler进行2次修改

CuprumTurbo Scheduler是一个高性能的调度器,具有非常强的自定义性,但它的配置较为复杂,需要一定的学习成本。Tritium调度器则是在CuprumTurbo Scheduler的基础上进行了一些优化和简化,更加深入soc的适配,使其在soc上获得个更加优秀的功耗控制和性能表现。

其他的调度

  • 类似于uperf的app动态配置调节。
  • scene适配等

相关协议

当开始使用Tritium时,请确保您已阅读相关协议,当然大多数与CuprumTurbo Scheduler保持一致

免责声明

用户协议

Apache-2.0 license

✨我该如何选择🤔?

根据个人喜好需求选择即可,当然你也可以选择

类似的项目 apodidae

',17))])}const P=d(T,[["render",q]]);export{x as __pageData,P as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.js b/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.js new file mode 100644 index 0000000..186be04 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.js @@ -0,0 +1 @@ +import{_ as d,c,j as t,a as u,G as m,w as p,a4 as h,B as r,o,b as _,e as g}from"./chunks/framework.BXE2pAXj.js";const $=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1729674076000}'),f={name:"guide/use.md"},b={align:"center"};function k(a,e,P,q,y,x){const n=r("ArticleMetadata"),s=r("ClientOnly");return o(),c("div",null,[t("div",b,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[u("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),m(s,null,{default:p(()=>{var i,l;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((l=a.$frontmatter)==null?void 0:l.showArticleMetadata)??!0)?(o(),_(n,{key:0,article:a.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必并卸载asoulopt模块
  • 2.使用软件和模块时请勿开启系统的性能模式开关,保持均衡即可
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector附加模块,保证调度的体验

使用方法1 -app导入

使用方法2 -模块刷入

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',9))])}const A=d(f,[["render",k]]);export{$ as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.lean.js b/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.lean.js new file mode 100644 index 0000000..186be04 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.BIwuto16.lean.js @@ -0,0 +1 @@ +import{_ as d,c,j as t,a as u,G as m,w as p,a4 as h,B as r,o,b as _,e as g}from"./chunks/framework.BXE2pAXj.js";const $=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1729674076000}'),f={name:"guide/use.md"},b={align:"center"};function k(a,e,P,q,y,x){const n=r("ArticleMetadata"),s=r("ClientOnly");return o(),c("div",null,[t("div",b,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[u("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),m(s,null,{default:p(()=>{var i,l;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((l=a.$frontmatter)==null?void 0:l.showArticleMetadata)??!0)?(o(),_(n,{key:0,article:a.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必并卸载asoulopt模块
  • 2.使用软件和模块时请勿开启系统的性能模式开关,保持均衡即可
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector附加模块,保证调度的体验

使用方法1 -app导入

使用方法2 -模块刷入

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',9))])}const A=d(f,[["render",k]]);export{$ as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.js b/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.js new file mode 100644 index 0000000..8d5236c --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.js @@ -0,0 +1 @@ +import{_ as s,c as d,j as t,a as p,G as u,w as m,a4 as h,B as l,o as r,b as g,e as b}from"./chunks/framework.BXE2pAXj.js";const v=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1729674076000}'),f={name:"guide/use.md"},k={align:"center"};function _(a,e,P,x,q,y){const c=l("ArticleMetadata"),n=l("ClientOnly");return r(),d("div",null,[t("div",k,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[p("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),u(n,null,{default:m(()=>{var i,o;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((o=a.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(r(),g(c,{key:0,article:a.$frontmatter},null,8,["article"])):b("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必并卸载asoulopt模块
  • 2.使用软件和模块时请勿开启系统的性能模式开关,保持均衡即可
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector附加模块,保证调度的体验

DANGER

模块和app是2种不同的选择,Magisk 模块和 Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

使用方法1 -app导入

使用方法2 -模块刷入

使用方法3 -Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',13))])}const A=s(f,[["render",_]]);export{v as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.lean.js b/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.lean.js new file mode 100644 index 0000000..8d5236c --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.CdXeE44Q.lean.js @@ -0,0 +1 @@ +import{_ as s,c as d,j as t,a as p,G as u,w as m,a4 as h,B as l,o as r,b as g,e as b}from"./chunks/framework.BXE2pAXj.js";const v=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1729674076000}'),f={name:"guide/use.md"},k={align:"center"};function _(a,e,P,x,q,y){const c=l("ArticleMetadata"),n=l("ClientOnly");return r(),d("div",null,[t("div",k,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[p("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),u(n,null,{default:m(()=>{var i,o;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((o=a.$frontmatter)==null?void 0:o.showArticleMetadata)??!0)?(r(),g(c,{key:0,article:a.$frontmatter},null,8,["article"])):b("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必并卸载asoulopt模块
  • 2.使用软件和模块时请勿开启系统的性能模式开关,保持均衡即可
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector附加模块,保证调度的体验

DANGER

模块和app是2种不同的选择,Magisk 模块和 Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

使用方法1 -app导入

使用方法2 -模块刷入

使用方法3 -Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',13))])}const A=s(f,[["render",_]]);export{v as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.js b/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.js new file mode 100644 index 0000000..75033c5 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.js @@ -0,0 +1 @@ +import{_ as d,c,j as t,a as u,G as m,w as p,a4 as h,B as l,o,b as g,e as _}from"./chunks/framework.BXE2pAXj.js";const $=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1726998145000}'),f={name:"guide/use.md"},b={align:"center"};function k(a,e,P,q,x,y){const n=l("ArticleMetadata"),s=l("ClientOnly");return o(),c("div",null,[t("div",b,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[u("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),m(s,null,{default:p(()=>{var i,r;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=a.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(o(),g(n,{key:0,article:a.$frontmatter},null,8,["article"])):_("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必删除asoulopt
  • 2.使用软件和模块时请勿开启系统的性能模式开关,如果有Extreme gt请务必开启
  • 3.使用模块的就没有必要安装软件
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector模块

使用方法1 -app导入

使用方法2 -模块刷入

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',9))])}const A=d(f,[["render",k]]);export{$ as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.lean.js b/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.lean.js new file mode 100644 index 0000000..75033c5 --- /dev/null +++ b/maisk_fiage/webroot/assets/guide_use.md.Dz3GJxB1.lean.js @@ -0,0 +1 @@ +import{_ as d,c,j as t,a as u,G as m,w as p,a4 as h,B as l,o,b as g,e as _}from"./chunks/framework.BXE2pAXj.js";const $=JSON.parse('{"title":"如何使用","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"如何使用","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"guide/use.md","filePath":"guide/use.md","lastUpdated":1726998145000}'),f={name:"guide/use.md"},b={align:"center"};function k(a,e,P,q,x,y){const n=l("ArticleMetadata"),s=l("ClientOnly");return o(),c("div",null,[t("div",b,[e[0]||(e[0]=t("h1",{id:"如何使用",tabindex:"-1"},[u("如何使用 "),t("a",{class:"header-anchor",href:"#如何使用","aria-label":'Permalink to "如何使用"'},"​")],-1)),m(s,null,{default:p(()=>{var i,r;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=a.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(o(),g(n,{key:0,article:a.$frontmatter},null,8,["article"])):_("",!0)]}),_:1})]),e[1]||(e[1]=h('

使用须知

  • 1.安装软件或者模块之前请务必删除asoulopt
  • 2.使用软件和模块时请勿开启系统的性能模式开关,如果有Extreme gt请务必开启
  • 3.使用模块的就没有必要安装软件
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector模块

使用方法1 -app导入

使用方法2 -模块刷入

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

',9))])}const A=d(f,[["render",k]]);export{$ as __pageData,A as default}; diff --git a/maisk_fiage/webroot/assets/index.md.Vooex8u3.js b/maisk_fiage/webroot/assets/index.md.Vooex8u3.js new file mode 100644 index 0000000..f4bb452 --- /dev/null +++ b/maisk_fiage/webroot/assets/index.md.Vooex8u3.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.BXE2pAXj.js";const g=JSON.parse('{"title":"vitepress","titleTemplate":"Tritium","description":"","frontmatter":{"layout":"home","title":"vitepress","titleTemplate":"Tritium","hero":{"name":"Tritium","text":"CuprumTurbo Scheduler的衍生版本","tagline":"他何尝不是我们心中神明呢,一切,终将得到救赎... ...","image":{"src":"芙宁娜.png"},"actions":[{"theme":"brand","text":"开始","link":"/guide/start.md"},{"theme":"alt","text":"常见问题","link":"/FAQ/FAQ.md"},{"theme":"brand","text":"参与者&贡献者","link":"/team.md"},{"theme":"brand","text":"加入我们","link":"https://qm.qq.com/q/kkBufFwfeM"},{"theme":"alt","text":"乐子记录","link":"/clown.md"}]},"features":[{"icon":{"src":"/img/svg/home/智能优化.svg"},"title":"极致优化","details":"省电&性能兼得,针对不同场景合理分配性能余量"},{"icon":{"src":"/img/svg/home/icon_实时更新.svg"},"title":"长期更新","details":"深入探究,数以百计的测试数据,会长期不断调整更新"},{"icon":{"src":"/img/svg/home/简单.svg"},"title":"上手简单","details":"我们主打让每一位用户用最简单的方式获得最佳体验,"},{"icon":{"src":"/img/svg/home/场景.svg"},"title":"场景细节","details":"场景细节优化和性能分配是提高视觉效果和系统性能的重要手段"},{"icon":{"src":"/img/svg/home/高效.svg"},"title":"高效","details":"性能分配执行高效,提高系统性能的合理性"},{"icon":{"src":"/img/svg/home/接入简单.svg"},"title":"接入简单","details":"只需作为magisk或kernelsu模块刷入即可"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1729565666000}'),s={name:"index.md"};function a(m,n,r,l,o,c){return i(),t("div")}const h=e(s,[["render",a]]);export{g as __pageData,h as default}; diff --git a/maisk_fiage/webroot/assets/index.md.Vooex8u3.lean.js b/maisk_fiage/webroot/assets/index.md.Vooex8u3.lean.js new file mode 100644 index 0000000..f4bb452 --- /dev/null +++ b/maisk_fiage/webroot/assets/index.md.Vooex8u3.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.BXE2pAXj.js";const g=JSON.parse('{"title":"vitepress","titleTemplate":"Tritium","description":"","frontmatter":{"layout":"home","title":"vitepress","titleTemplate":"Tritium","hero":{"name":"Tritium","text":"CuprumTurbo Scheduler的衍生版本","tagline":"他何尝不是我们心中神明呢,一切,终将得到救赎... ...","image":{"src":"芙宁娜.png"},"actions":[{"theme":"brand","text":"开始","link":"/guide/start.md"},{"theme":"alt","text":"常见问题","link":"/FAQ/FAQ.md"},{"theme":"brand","text":"参与者&贡献者","link":"/team.md"},{"theme":"brand","text":"加入我们","link":"https://qm.qq.com/q/kkBufFwfeM"},{"theme":"alt","text":"乐子记录","link":"/clown.md"}]},"features":[{"icon":{"src":"/img/svg/home/智能优化.svg"},"title":"极致优化","details":"省电&性能兼得,针对不同场景合理分配性能余量"},{"icon":{"src":"/img/svg/home/icon_实时更新.svg"},"title":"长期更新","details":"深入探究,数以百计的测试数据,会长期不断调整更新"},{"icon":{"src":"/img/svg/home/简单.svg"},"title":"上手简单","details":"我们主打让每一位用户用最简单的方式获得最佳体验,"},{"icon":{"src":"/img/svg/home/场景.svg"},"title":"场景细节","details":"场景细节优化和性能分配是提高视觉效果和系统性能的重要手段"},{"icon":{"src":"/img/svg/home/高效.svg"},"title":"高效","details":"性能分配执行高效,提高系统性能的合理性"},{"icon":{"src":"/img/svg/home/接入简单.svg"},"title":"接入简单","details":"只需作为magisk或kernelsu模块刷入即可"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1729565666000}'),s={name:"index.md"};function a(m,n,r,l,o,c){return i(),t("div")}const h=e(s,[["render",a]]);export{g as __pageData,h as default}; diff --git a/maisk_fiage/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/maisk_fiage/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 new file mode 100644 index 0000000..b6b603d Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/maisk_fiage/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 new file mode 100644 index 0000000..def40a4 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-cyrillic.By2_1cv3.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/maisk_fiage/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 new file mode 100644 index 0000000..e070c3d Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-greek-ext.1u6EdAuj.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/maisk_fiage/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 new file mode 100644 index 0000000..a3c16ca Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-greek.DJ8dCoTZ.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/maisk_fiage/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 new file mode 100644 index 0000000..2210a89 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-latin-ext.CN1xVJS-.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 b/maisk_fiage/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 new file mode 100644 index 0000000..790d62d Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-latin.C2AdPX0b.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/maisk_fiage/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 new file mode 100644 index 0000000..1eec077 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-italic-vietnamese.BSbpV94h.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/maisk_fiage/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 new file mode 100644 index 0000000..2cfe615 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/maisk_fiage/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 new file mode 100644 index 0000000..e3886dd Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/maisk_fiage/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 new file mode 100644 index 0000000..36d6748 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 b/maisk_fiage/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 new file mode 100644 index 0000000..2bed1e8 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-greek.BBVDIX6e.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/maisk_fiage/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 new file mode 100644 index 0000000..9a8d1e2 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 b/maisk_fiage/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 new file mode 100644 index 0000000..07d3c53 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-latin.Di8DUHzh.woff2 differ diff --git a/maisk_fiage/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/maisk_fiage/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 new file mode 100644 index 0000000..57bdc22 Binary files /dev/null and b/maisk_fiage/webroot/assets/inter-roman-vietnamese.BjW4sHH5.woff2 differ diff --git a/maisk_fiage/webroot/assets/join.md.BWff1C_T.js b/maisk_fiage/webroot/assets/join.md.BWff1C_T.js new file mode 100644 index 0000000..9f2ee1f --- /dev/null +++ b/maisk_fiage/webroot/assets/join.md.BWff1C_T.js @@ -0,0 +1 @@ +import{_ as d,c,j as a,a as m,G as p,w as f,B as n,o as l,b as u,e as _}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"加入我们","titleTemplate":"空荧酒馆","description":"加入我们","frontmatter":{"title":"加入我们","layout":"doc","titleTemplate":"空荧酒馆","description":"加入我们"},"headers":[],"relativePath":"join.md","filePath":"join.md","lastUpdated":1707059878000}'),$={name:"join.md"};function h(t,e,j,k,B,C){const s=n("ArticleMetadata"),i=n("ClientOnly");return l(),c("div",null,[e[0]||(e[0]=a("h1",{id:"加入我们",tabindex:"-1"},[m("加入我们 "),a("a",{class:"header-anchor",href:"#加入我们","aria-label":'Permalink to "加入我们"'},"​")],-1)),p(i,null,{default:f(()=>{var o,r;return[(((o=t.$frontmatter)==null?void 0:o.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),u(s,{key:0,article:t.$frontmatter},null,8,["article"])):_("",!0)]}),_:1}),e[1]||(e[1]=a("p",null,"为了进一步完善和优化项目,我们诚招各位小伙伴加入团队一起完成项目,本项目及其衍生项目完全免费。 或者如果您有任何其他有任何好的想法或者设计,也欢迎加入我们一起实现。",-1))])}const V=d($,[["render",h]]);export{y as __pageData,V as default}; diff --git a/maisk_fiage/webroot/assets/join.md.BWff1C_T.lean.js b/maisk_fiage/webroot/assets/join.md.BWff1C_T.lean.js new file mode 100644 index 0000000..9f2ee1f --- /dev/null +++ b/maisk_fiage/webroot/assets/join.md.BWff1C_T.lean.js @@ -0,0 +1 @@ +import{_ as d,c,j as a,a as m,G as p,w as f,B as n,o as l,b as u,e as _}from"./chunks/framework.BXE2pAXj.js";const y=JSON.parse('{"title":"加入我们","titleTemplate":"空荧酒馆","description":"加入我们","frontmatter":{"title":"加入我们","layout":"doc","titleTemplate":"空荧酒馆","description":"加入我们"},"headers":[],"relativePath":"join.md","filePath":"join.md","lastUpdated":1707059878000}'),$={name:"join.md"};function h(t,e,j,k,B,C){const s=n("ArticleMetadata"),i=n("ClientOnly");return l(),c("div",null,[e[0]||(e[0]=a("h1",{id:"加入我们",tabindex:"-1"},[m("加入我们 "),a("a",{class:"header-anchor",href:"#加入我们","aria-label":'Permalink to "加入我们"'},"​")],-1)),p(i,null,{default:f(()=>{var o,r;return[(((o=t.$frontmatter)==null?void 0:o.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(l(),u(s,{key:0,article:t.$frontmatter},null,8,["article"])):_("",!0)]}),_:1}),e[1]||(e[1]=a("p",null,"为了进一步完善和优化项目,我们诚招各位小伙伴加入团队一起完成项目,本项目及其衍生项目完全免费。 或者如果您有任何其他有任何好的想法或者设计,也欢迎加入我们一起实现。",-1))])}const V=d($,[["render",h]]);export{y as __pageData,V as default}; diff --git a/maisk_fiage/webroot/assets/log.md.CII103bZ.js b/maisk_fiage/webroot/assets/log.md.CII103bZ.js new file mode 100644 index 0000000..f327ec0 --- /dev/null +++ b/maisk_fiage/webroot/assets/log.md.CII103bZ.js @@ -0,0 +1,7 @@ +import{_ as d,c as m,j as t,a as c,G as u,w as h,a4 as p,B as l,o as s,b,e as g}from"./chunks/framework.BXE2pAXj.js";const q=JSON.parse('{"title":"更新日志","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"更新日志","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"log.md","filePath":"log.md","lastUpdated":1729511773000}'),f={name:"log.md"},T={align:"center"};function v(a,e,_,k,V,B){const n=l("ArticleMetadata"),o=l("ClientOnly");return s(),m("div",null,[t("div",T,[e[0]||(e[0]=t("h1",{id:"更新日志",tabindex:"-1"},[c("更新日志 "),t("a",{class:"header-anchor",href:"#更新日志","aria-label":'Permalink to "更新日志"'},"​")],-1)),u(o,null,{default:h(()=>{var i,r;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=a.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(s(),b(n,{key:0,article:a.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=p(`

日志[🥰🥰]

2024-11-10

更新日志:

V4.8.2日志

重大更新,解决了部分人不看文档并且不会使用导入配置的bug. 现使用Tritium_box非必要不建议,存在未知bug,由于无人反馈使用状态,现快进到存档

V4.8.1日志

- 优化MTK平台的GPU参数
+- 优化性能模式的性能冗余 升频延迟
+- 改进性能jank Bigjank情况下的Boost值

贡献:

  • @chenzyadb
  • @Suni-code
  • @NightRainMilkyWay

Full Changelog: V4.8.1 -> V4.8.2

使用项目

2023-12-24

Tritium_V4.6.3

更新日志:

优化 均衡模式功耗
+优化 均衡模式流畅度
+改进 降低均衡模式点击延迟
+改进 均衡模式掉帧监测效果
+
2024-06-13

Tritium V4.0.0 正式版 Latest

更新日志:
模块更新:

  • 同步上游模块文件
    调度更新:
  • 适配上游调度V19版本的代码
  • 优化极速模式
  • 更改省电 均衡 性能模式功耗限制
2024-03-19
  • 大部分工作完成
2024-01-20
  • home页面美化,添加阿库娅
  • 更新config\`\`theme等配置文件及文件夹
2024-01-16

文档📃建站,

`,7))])}const z=d(f,[["render",v]]);export{q as __pageData,z as default}; diff --git a/maisk_fiage/webroot/assets/log.md.CII103bZ.lean.js b/maisk_fiage/webroot/assets/log.md.CII103bZ.lean.js new file mode 100644 index 0000000..f327ec0 --- /dev/null +++ b/maisk_fiage/webroot/assets/log.md.CII103bZ.lean.js @@ -0,0 +1,7 @@ +import{_ as d,c as m,j as t,a as c,G as u,w as h,a4 as p,B as l,o as s,b,e as g}from"./chunks/framework.BXE2pAXj.js";const q=JSON.parse('{"title":"更新日志","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"更新日志","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"log.md","filePath":"log.md","lastUpdated":1729511773000}'),f={name:"log.md"},T={align:"center"};function v(a,e,_,k,V,B){const n=l("ArticleMetadata"),o=l("ClientOnly");return s(),m("div",null,[t("div",T,[e[0]||(e[0]=t("h1",{id:"更新日志",tabindex:"-1"},[c("更新日志 "),t("a",{class:"header-anchor",href:"#更新日志","aria-label":'Permalink to "更新日志"'},"​")],-1)),u(o,null,{default:h(()=>{var i,r;return[(((i=a.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=a.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(s(),b(n,{key:0,article:a.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=p(`

日志[🥰🥰]

2024-11-10

更新日志:

V4.8.2日志

重大更新,解决了部分人不看文档并且不会使用导入配置的bug. 现使用Tritium_box非必要不建议,存在未知bug,由于无人反馈使用状态,现快进到存档

V4.8.1日志

- 优化MTK平台的GPU参数
+- 优化性能模式的性能冗余 升频延迟
+- 改进性能jank Bigjank情况下的Boost值

贡献:

  • @chenzyadb
  • @Suni-code
  • @NightRainMilkyWay

Full Changelog: V4.8.1 -> V4.8.2

使用项目

2023-12-24

Tritium_V4.6.3

更新日志:

优化 均衡模式功耗
+优化 均衡模式流畅度
+改进 降低均衡模式点击延迟
+改进 均衡模式掉帧监测效果
+
2024-06-13

Tritium V4.0.0 正式版 Latest

更新日志:
模块更新:

  • 同步上游模块文件
    调度更新:
  • 适配上游调度V19版本的代码
  • 优化极速模式
  • 更改省电 均衡 性能模式功耗限制
2024-03-19
  • 大部分工作完成
2024-01-20
  • home页面美化,添加阿库娅
  • 更新config\`\`theme等配置文件及文件夹
2024-01-16

文档📃建站,

`,7))])}const z=d(f,[["render",v]]);export{q as __pageData,z as default}; diff --git a/maisk_fiage/webroot/assets/log.md.DG8b1uGF.js b/maisk_fiage/webroot/assets/log.md.DG8b1uGF.js new file mode 100644 index 0000000..9e99a53 --- /dev/null +++ b/maisk_fiage/webroot/assets/log.md.DG8b1uGF.js @@ -0,0 +1,5 @@ +import{_ as d,c as m,j as a,a as c,G as p,w as u,a4 as h,B as l,o as s,b as f,e as g}from"./chunks/framework.BXE2pAXj.js";const q=JSON.parse('{"title":"更新日志","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"更新日志","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"log.md","filePath":"log.md","lastUpdated":1729511773000}'),b={name:"log.md"},_={align:"center"};function T(t,e,v,V,k,B){const o=l("ArticleMetadata"),n=l("ClientOnly");return s(),m("div",null,[a("div",_,[e[0]||(e[0]=a("h1",{id:"更新日志",tabindex:"-1"},[c("更新日志 "),a("a",{class:"header-anchor",href:"#更新日志","aria-label":'Permalink to "更新日志"'},"​")],-1)),p(n,null,{default:u(()=>{var i,r;return[(((i=t.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(s(),f(o,{key:0,article:t.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=h(`

日志[🥰🥰]

2023-12-24

Tritium_V4.6.3

更新日志:

优化 均衡模式功耗
+优化 均衡模式流畅度
+改进 降低均衡模式点击延迟
+改进 均衡模式掉帧监测效果
+
2024-06-13

Tritium V4.0.0 正式版 Latest

更新日志:
模块更新:

  • 同步上游模块文件
    调度更新:
  • 适配上游调度V19版本的代码
  • 优化极速模式
  • 更改省电 均衡 性能模式功耗限制
2024-03-19
  • 大部分工作完成
2024-01-20
  • home页面美化,添加阿库娅
  • 更新config\`\`theme等配置文件及文件夹
2024-01-16

文档📃建站,

`,6))])}const x=d(b,[["render",T]]);export{q as __pageData,x as default}; diff --git a/maisk_fiage/webroot/assets/log.md.DG8b1uGF.lean.js b/maisk_fiage/webroot/assets/log.md.DG8b1uGF.lean.js new file mode 100644 index 0000000..9e99a53 --- /dev/null +++ b/maisk_fiage/webroot/assets/log.md.DG8b1uGF.lean.js @@ -0,0 +1,5 @@ +import{_ as d,c as m,j as a,a as c,G as p,w as u,a4 as h,B as l,o as s,b as f,e as g}from"./chunks/framework.BXE2pAXj.js";const q=JSON.parse('{"title":"更新日志","titleTemplate":"Tritium_docs","description":"","frontmatter":{"title":"更新日志","layout":"doc","titleTemplate":"Tritium_docs"},"headers":[],"relativePath":"log.md","filePath":"log.md","lastUpdated":1729511773000}'),b={name:"log.md"},_={align:"center"};function T(t,e,v,V,k,B){const o=l("ArticleMetadata"),n=l("ClientOnly");return s(),m("div",null,[a("div",_,[e[0]||(e[0]=a("h1",{id:"更新日志",tabindex:"-1"},[c("更新日志 "),a("a",{class:"header-anchor",href:"#更新日志","aria-label":'Permalink to "更新日志"'},"​")],-1)),p(n,null,{default:u(()=>{var i,r;return[(((i=t.$frontmatter)==null?void 0:i.aside)??!0)&&(((r=t.$frontmatter)==null?void 0:r.showArticleMetadata)??!0)?(s(),f(o,{key:0,article:t.$frontmatter},null,8,["article"])):g("",!0)]}),_:1})]),e[1]||(e[1]=h(`

日志[🥰🥰]

2023-12-24

Tritium_V4.6.3

更新日志:

优化 均衡模式功耗
+优化 均衡模式流畅度
+改进 降低均衡模式点击延迟
+改进 均衡模式掉帧监测效果
+
2024-06-13

Tritium V4.0.0 正式版 Latest

更新日志:
模块更新:

  • 同步上游模块文件
    调度更新:
  • 适配上游调度V19版本的代码
  • 优化极速模式
  • 更改省电 均衡 性能模式功耗限制
2024-03-19
  • 大部分工作完成
2024-01-20
  • home页面美化,添加阿库娅
  • 更新config\`\`theme等配置文件及文件夹
2024-01-16

文档📃建站,

`,6))])}const x=d(b,[["render",T]]);export{q as __pageData,x as default}; diff --git a/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.js b/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.js new file mode 100644 index 0000000..9926928 --- /dev/null +++ b/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.js @@ -0,0 +1 @@ +import{_ as e,c as t,a4 as i,o as s}from"./chunks/framework.BXE2pAXj.js";const m=JSON.parse('{"title":"Markdown 增强语法","titleTemplate":"空荧酒馆","description":"","frontmatter":{"title":"Markdown 增强语法","layout":"doc","titleTemplate":"空荧酒馆"},"headers":[],"relativePath":"md-enhance-guide.md","filePath":"md-enhance-guide.md","lastUpdated":1706220153000}'),n={name:"md-enhance-guide.md"};function l(d,a,r,o,p,c){return s(),t("div",null,a[0]||(a[0]=[i('

上下角标

站点中的 Markdown 文件支持上下角标

语法

  • 使用 ^ ^ 进行上角标标注。
  • 使用 ~ ~ 进行下角标标注。

TIP

转义

你可以使用 \\ 来转义 ^ 和 ~:

md
H\\~2~O 19\\^th^

会被渲染为

H~2~O 19^th^

',6)]))}const u=e(n,[["render",l]]);export{m as __pageData,u as default}; diff --git a/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js b/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js new file mode 100644 index 0000000..9926928 --- /dev/null +++ b/maisk_fiage/webroot/assets/md-enhance-guide.md.BaUNba6Y.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,a4 as i,o as s}from"./chunks/framework.BXE2pAXj.js";const m=JSON.parse('{"title":"Markdown 增强语法","titleTemplate":"空荧酒馆","description":"","frontmatter":{"title":"Markdown 增强语法","layout":"doc","titleTemplate":"空荧酒馆"},"headers":[],"relativePath":"md-enhance-guide.md","filePath":"md-enhance-guide.md","lastUpdated":1706220153000}'),n={name:"md-enhance-guide.md"};function l(d,a,r,o,p,c){return s(),t("div",null,a[0]||(a[0]=[i('

上下角标

站点中的 Markdown 文件支持上下角标

语法

  • 使用 ^ ^ 进行上角标标注。
  • 使用 ~ ~ 进行下角标标注。

TIP

转义

你可以使用 \\ 来转义 ^ 和 ~:

md
H\\~2~O 19\\^th^

会被渲染为

H~2~O 19^th^

',6)]))}const u=e(n,[["render",l]]);export{m as __pageData,u as default}; diff --git a/maisk_fiage/webroot/assets/style.MqSvHpeK.css b/maisk_fiage/webroot/assets/style.MqSvHpeK.css new file mode 100644 index 0000000..139057a --- /dev/null +++ b/maisk_fiage/webroot/assets/style.MqSvHpeK.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f9f9f9;--vt-c-white-mute: #f1f1f1;--vt-c-black: #1a1a1a;--vt-c-black-pure: #000000;--vt-c-black-soft: #242424;--vt-c-black-mute: #2f2f2f;--vt-c-indigo: #213547;--vt-c-indigo-soft: #476582;--vt-c-indigo-light: #aac8e4;--vt-c-gray: #8e8e8e;--vt-c-gray-light-1: #aeaeae;--vt-c-gray-light-2: #c7c7c7;--vt-c-gray-light-3: #d1d1d1;--vt-c-gray-light-4: #e5e5e5;--vt-c-gray-light-5: #f2f2f2;--vt-c-gray-dark-1: #636363;--vt-c-gray-dark-2: #484848;--vt-c-gray-dark-3: #3a3a3a;--vt-c-gray-dark-4: #282828;--vt-c-gray-dark-5: #202020;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .7);--vt-c-text-light-3: rgba(60, 60, 60, .33);--vt-c-text-light-4: rgba(60, 60, 60, .18);--vt-c-text-light-code: var(--vt-c-indigo-soft);--vt-c-text-dark-1: rgba(255, 255, 255, .87);--vt-c-text-dark-2: rgba(235, 235, 235, .6);--vt-c-text-dark-3: rgba(235, 235, 235, .38);--vt-c-text-dark-4: rgba(235, 235, 235, .18);--vt-c-text-dark-code: var(--vt-c-indigo-light);--vt-c-green: #42b883;--vt-c-green-light: #42d392;--vt-c-green-lighter: #35eb9a;--vt-c-green-dark: #33a06f;--vt-c-green-darker: #155f3e;--vt-c-blue: #3b8eed;--vt-c-blue-light: #549ced;--vt-c-blue-lighter: #50a2ff;--vt-c-blue-dark: #3468a3;--vt-c-blue-darker: #255489;--vt-c-yellow: #ffc517;--vt-c-yellow-light: #ffe417;--vt-c-yellow-lighter: #ffff17;--vt-c-yellow-dark: #e0ad15;--vt-c-yellow-darker: #bc9112;--vt-c-red: #ed3c50;--vt-c-red-light: #f43771;--vt-c-red-lighter: #fd1d7c;--vt-c-red-dark: #cd2d3f;--vt-c-red-darker: #ab2131;--vt-c-purple: #de41e0;--vt-c-purple-light: #e936eb;--vt-c-purple-lighter: #f616f8;--vt-c-purple-dark: #823c83;--vt-c-purple-darker: #602960}:root{--vt-c-bg: var(--vt-c-white);--vt-c-bg-soft: var(--vt-c-white-soft);--vt-c-bg-mute: var(--vt-c-white-mute);--vt-c-divider: var(--vt-c-divider-light-1);--vt-c-divider-light: var(--vt-c-divider-light-2);--vt-c-divider-inverse: var(--vt-c-divider-dark-1);--vt-c-divider-inverse-light: var(--vt-c-divider-dark-2);--vt-c-text-1: var(--vt-c-text-light-1);--vt-c-text-2: var(--vt-c-text-light-2);--vt-c-text-3: var(--vt-c-text-light-3);--vt-c-text-4: var(--vt-c-text-light-4);--vt-c-text-code: var(--vt-c-text-light-code);--vt-c-text-inverse-1: var(--vt-c-text-dark-1);--vt-c-text-inverse-2: var(--vt-c-text-dark-2);--vt-c-text-inverse-3: var(--vt-c-text-dark-3);--vt-c-text-inverse-4: var(--vt-c-text-dark-4);--vt-c-brand: var(--vt-c-green);--vt-c-brand-light: var(--vt-c-green-light);--vt-c-brand-dark: var(--vt-c-green-dark);--vt-c-brand-highlight: var(--vt-c-brand-dark)}.dark{--vt-c-bg: var(--vt-c-black);--vt-c-bg-soft: var(--vt-c-black-soft);--vt-c-bg-mute: var(--vt-c-black-mute);--vt-c-divider: var(--vt-c-divider-dark-1);--vt-c-divider-light: var(--vt-c-divider-dark-2);--vt-c-divider-inverse: var(--vt-c-divider-light-1);--vt-c-divider-inverse-light: var(--vt-c-divider-light-2);--vt-c-text-1: var(--vt-c-text-dark-1);--vt-c-text-2: var(--vt-c-text-dark-2);--vt-c-text-3: var(--vt-c-text-dark-3);--vt-c-text-4: var(--vt-c-text-dark-4);--vt-c-text-code: var(--vt-c-text-dark-code);--vt-c-text-inverse-1: var(--vt-c-text-light-1);--vt-c-text-inverse-2: var(--vt-c-text-light-2);--vt-c-text-inverse-3: var(--vt-c-text-light-3);--vt-c-text-inverse-4: var(--vt-c-text-light-4);--vt-c-brand-highlight: var(--vt-c-brand-light)}:root{--vt-font-family-base: "Inter var experimental", "Inter var", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--vt-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace}:root{--vt-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vt-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vt-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vt-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vt-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vt-nav-height: 55px}body{width:100%;min-width:320px;min-height:100vh;font-family:var(--vt-font-family-base);letter-spacing:.2px;line-height:24px;font-size:16px;font-weight:400;color:var(--vt-c-text-1);background-color:var(--vt-c-bg);direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;transition:color .5s,background-color .5s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}pre,code,kbd,samp{font-family:var(--vt-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}button{padding:0;background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vt-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vt-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vt-c-text-3)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.vt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;transition:opacity .5s}.vt-backdrop.fade-enter-from,.vt-backdrop.fade-leave-to{opacity:0}.vt-backdrop.fade-leave-active{transition-duration:.3s}@media (min-width: 960px){.vt-backdrop{display:none}}.vt-code-group{display:flex;flex-direction:column}.vt-code-group-contents .vt-code-group-content div[class*=language-]{margin-top:0;border-top-left-radius:0}.vt-code-group-tabs{display:flex;overflow:auto}.vt-code-group-tab{white-space:pre;display:flex;justify-content:center;align-items:center;color:var(--vt-c-text-inverse-1);background:#292d3ef0;border-bottom-color:#ffffff4d;padding:6px 24px;border-width:2px;border-style:solid;border-top:transparent;border-right:transparent;border-left:transparent;cursor:pointer;transition:border,background-color .2s;transition-property:border,background-color;transition-duration:.2s,.2s;transition-timing-function:ease,ease;transition-delay:0s,0s}.vt-code-group-tab.vt-code-group-tab-active{background:#292d3e;border-bottom:2px solid var(--vt-c-brand)}.vt-code-group-tab:first-child{border-top-left-radius:8px}.vt-code-group-tab:last-child{border-top-right-radius:8px}.dark .vt-code-group-tab{color:var(--vt-c-text-1)}.dark .vt-code-group-tab:not(.vt-code-group-tab-active){border-bottom:2px solid rgba(255,255,255,.2);background:var(--vt-c-black-mute)}.dark .vt-code-group-tab.vt-code-group-tab-active{background:var(--vt-c-black-soft)}@media (max-width: 639px){.vt-code-group-tabs{margin:0 -24px}.vt-code-group-tab,.vt-code-group-tab:first-child,.vt-code-group-tab:last-child{flex-grow:1;border-radius:0}}.vt-doc{font-size:16px;line-height:1.7}.vt-doc h1,.vt-doc h2,.vt-doc h3,.vt-doc h4,.vt-doc h5,.vt-doc h6{position:relative;font-weight:600;line-height:1.5;outline:none}.vt-doc h1{margin:0 0 3rem;font-size:38px;line-height:1.4;letter-spacing:-.02em}.vt-doc h2{margin:4rem 0 1.8rem;border-top:1px solid var(--vt-c-divider-light);padding-top:1.8rem;font-size:24px;letter-spacing:-.02em}@media (max-width: 768px){.vt-doc h1{font-size:32px;margin-bottom:1.8rem}.vt-doc h1+h2{margin-top:36px}}.vt-doc h3{font-size:19px;letter-spacing:-.01em;margin:3rem 0 1.25rem}.vt-doc h2+h3{margin-top:0}.vt-doc h4{font-size:17px;margin:1.8rem 0 1rem}.vt-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;opacity:0;transition:color .25s,opacity .25s}.vt-doc .header-anchor:before{content:"#"}.vt-doc h1:hover .header-anchor,.vt-doc h1 .header-anchor:focus,.vt-doc h2:hover .header-anchor,.vt-doc h2 .header-anchor:focus,.vt-doc h3:hover .header-anchor,.vt-doc h3 .header-anchor:focus,.vt-doc h4:hover .header-anchor,.vt-doc h4 .header-anchor:focus,.vt-doc h5:hover .header-anchor,.vt-doc h5 .header-anchor:focus,.vt-doc h6:hover .header-anchor,.vt-doc h6 .header-anchor:focus{opacity:1}.vt-doc hr{border:none;border-top:1px solid var(--vt-c-divider-light);margin:1.8rem 0}.vt-doc p,.vt-doc ul,.vt-doc ol,.vt-doc summary{margin-bottom:1.2em}.vt-doc a{font-weight:500;color:var(--vt-c-brand);transition:color .25s;text-decoration-style:dotted}.vt-doc a:hover{color:var(--vt-c-brand-highlight)}.vt-doc strong{font-weight:600}.vt-doc table{display:block;border-collapse:collapse;margin:1rem 0;overflow-x:auto}.vt-doc tr{border-top:1px solid var(--vt-c-divider);transition:background-color .5s}.vt-doc tr:nth-child(2n){background-color:var(--vt-c-bg-soft)}.vt-doc th,.vt-doc td{border:1px solid var(--vt-c-divider);padding:.6em 1em}.vt-doc blockquote{margin:1rem 0;border-left:.2rem solid var(--vt-c-divider);padding-left:1rem;transition:border-color .5s}.vt-doc blockquote>p{margin:0;font-size:16px;color:var(--vt-c-text-2);transition:color .5s}.vt-doc figure{margin:0}.vt-doc img{max-width:100%}.vt-doc p>img{margin:28px auto}.vt-doc ol{counter-reset:item}.vt-doc ol[start="2"]{counter-reset:item 1}.vt-doc ol[start="3"]{counter-reset:item 2}.vt-doc ol[start="4"]{counter-reset:item 3}.vt-doc ol[start="5"]{counter-reset:item 4}.vt-doc ol[start="6"]{counter-reset:item 5}.vt-doc ol[start="7"]{counter-reset:item 6}.vt-doc ol[start="8"]{counter-reset:item 7}.vt-doc ol[start="9"]{counter-reset:item 8}.vt-doc ol[start="10"]{counter-reset:item 9}.vt-doc ol>li{counter-increment:item;position:relative;padding-left:1.5rem}.vt-doc ol>li:before{position:absolute;left:2px;top:1px;font-weight:700;font-size:14px;color:var(--vt-c-text-3);content:counter(item) "."}@media (min-width: 768px){.vt-doc ol>li:before{top:2px}}.vt-doc li{position:relative;margin:1px 0}.vt-doc ul{padding-left:1.25rem}.vt-doc ul>li:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background-color:var(--vt-c-text-3);transition:background-color .5s;left:-1.25rem;top:.75rem}.vt-doc .video:before{display:block;content:"";padding-top:56.25%}.vt-doc .video{overflow:hidden;width:calc(100% + 48px);min-width:415px;position:relative;margin:0 -24px 18px}.vt-doc .video-content{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}@media (min-width: 640px){.vt-doc .video{border-radius:8px}}@media (max-width: 463px){.vt-doc .video{width:100%;margin:0 calc((100vw - 463px)/2) 18px}}.vt-doc{--vt-doc-code-font-size: 14px;--vt-doc-code-line-height: 1.5}.vt-doc :not(pre)>code{background-color:var(--vt-c-bg-mute);padding:.15em .5em;border-radius:4px;color:var(--vt-c-text-code);transition:color .5s,background-color .5s}.vt-doc a>code{color:var(--vt-c-brand-dark)}.vt-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vt-doc-code-font-size)}@media (min-width: 768px){.vt-doc :not(pre)>code{white-space:nowrap}}.vt-doc div[class*=language-]{position:relative;margin:28px -24px;background-color:#292d3e;overflow-x:auto;transition:background-color .5s}.dark .vt-doc div[class*=language-]{background-color:var(--vt-c-bg-soft)}@media (min-width: 640px){.vt-doc div[class*=language-]{margin:28px 0;border-radius:8px}}@media (max-width: 639px){.vt-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vt-doc div[class*=language-]+div[class*=language-],.vt-doc div[class$=-api]+div[class*=language-],.vt-doc div[class*=language-]+div[class$=-api]>div[class*=language-]:first-child{margin-top:-16px}.vt-doc [class*=language-] pre,.vt-doc [class*=language-] code{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vt-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:14px 0;background:transparent;overflow-x:auto}.vt-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vt-doc-code-line-height);font-size:var(--vt-doc-code-font-size);color:#a6accd;transition:color .5s}.vt-doc [class*=language-] code .highlighted{background-color:#0000004d;transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.dark .vt-doc [class*=language-] code .highlighted{background-color:#ffffff0d}.vt-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vt-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vt-c-divider-light);padding:13px 0 11px;width:32px;text-align:center;font-family:var(--vt-font-family-mono);line-height:var(--vt-doc-code-line-height);font-size:var(--vt-doc-code-font-size);color:var(--vt-c-text-3);transition:border-color .5s,color .5s}.vt-doc [class*=language-]>span.lang{position:absolute;top:4px;right:10px;z-index:2;font-size:12px;font-weight:500;color:var(--vt-c-text-dark-3);transition:color .5s}@media (max-width: 480px){.vt-doc [class*=language-]>span.lang{top:1px;right:5px;font-size:11px}.vt-doc [class*=language-] pre{padding:18px 0 12px}}.vt-doc [class*=language-]>button.copy{position:absolute;top:4px;right:4px;z-index:3;display:block;justify-content:center;align-items:center;border-radius:4px;width:40px;height:40px;background-color:#292d3e;opacity:0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");background-position:50%;background-size:20px;background-repeat:no-repeat;transition:opacity .4s}.dark .vt-doc [class*=language-]>button.copy{background-color:var(--vt-c-bg-soft)}.vt-doc [class*=language-]:hover>button.copy,.vt-doc [class*=language-]>button.copy:focus{opacity:1}.vt-doc [class*=language-]>button.copy:hover,.vt-doc [class*=language-]>button.copy.copied,.vt-doc [class*=language-]>button.copy:hover.copied,.vt-doc [class*=language-]>button.copy.copied:before,.vt-doc [class*=language-]>button.copy:hover.copied:before{background-color:#343848}.dark .vt-doc [class*=language-]>button.copy:hover,.dark .vt-doc [class*=language-]>button.copy.copied,.dark .vt-doc [class*=language-]>button.copy:hover.copied,.dark .vt-doc [class*=language-]>button.copy.copied:before,.dark .vt-doc [class*=language-]>button.copy:hover.copied:before{background-color:#2f2f2f}.vt-doc [class*=language-]>button.copy.copied,.vt-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}.vt-doc [class*=language-]>button.copy.copied:before,.vt-doc [class*=language-]>button.copy:hover.copied:before{position:relative;left:-65px;display:block;border-radius:4px 0 0 4px;padding-top:10px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vt-c-text-dark-2);white-space:nowrap;content:"Copied"}.vt-doc [class*=language-]:hover>button.copy+span.lang,.vt-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vt-doc .custom-block{margin:28px 0;padding:20px 24px 4px 42px;border-radius:8px;overflow-x:auto;transition:color .5s,background-color .5s;position:relative;font-size:14px;line-height:1.6;font-weight:500;color:#0000008c;background-color:var(--vt-c-bg-soft)}.dark .vt-doc .custom-block{color:var(--vt-c-text-2)}.vt-doc .custom-block:before{content:"ⓘ";position:absolute;font-weight:600;font-size:15px;top:20px;left:17px}.vt-doc .custom-block.warning:before,.vt-doc .custom-block.danger:before{content:"⚠";font-size:17px;top:19px;left:16px}.vt-doc .custom-block .custom-block-title{margin-bottom:8px;font-size:15px;font-weight:500;color:var(--vt-c-text-1);transition:color .5s}.vt-doc .custom-block.tip{border:1px solid var(--vt-c-brand)}.vt-doc .custom-block.tip:before{color:var(--vt-c-brand)}.vt-doc .custom-block.warning{border:1px solid var(--vt-c-yellow)}.vt-doc .custom-block.warning:before{color:var(--vt-c-yellow)}.vt-doc .custom-block.danger{border:1px solid var(--vt-c-red)}.vt-doc .custom-block.danger .custom-block-title,.vt-doc .custom-block.danger:before{color:var(--vt-c-red)}.vt-doc .custom-block ul li:before{top:.55rem}.vt-doc .custom-block ol li:before{top:1px;font-size:13px}.vt-doc .custom-block :not(pre)>code{font-size:13px;background-color:#1b1f230d}.dark .vt-doc .custom-block :not(pre)>code{background-color:#0003}.vt-flyout{position:relative}.vt-flyout:hover{color:var(--vt-c-bland);transition:color .25s}.vt-flyout:hover .vt-flyout-button-text{color:var(--vt-c-text-2)}.vt-flyout:hover .vt-flyout-button-icon{fill:var(--vt-c-text-2)}.vt-flyout:hover .vt-flyout-menu,.vt-flyout-button[aria-expanded=true]+.vt-flyout-menu{opacity:1;visibility:visible;transform:translateY(0)}.vt-flyout-button{display:flex;align-items:center;padding:0 12px;height:var(--vt-nav-height);color:var(--vt-c-text-1);transition:color .5s}.vt-flyout-button-text{display:flex;align-items:center;line-height:var(--vt-nav-height);font-size:13px;font-weight:500;color:var(--vt-c-text-1);transition:color .25s;white-space:nowrap}.vt-flyout-button-text-icon{margin-left:4px;width:14px;height:14px;fill:currentColor}.vt-flyout-button-icon{width:20px;height:20px;fill:currentColor;transition:fill .25s}.vt-flyout-menu{display:flex;position:absolute;top:calc(var(--vt-nav-height) / 2 + 15px);right:0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .25s,visibility .25s,transform .25s;max-height:calc(100vh - var(--vt-nav-height) - var(--vt-banner-height, 0px))}.vt-hamburger{display:flex;justify-content:center;align-items:center}.vt-hamburger:hover .vt-hamburger-top{top:0;left:0;transform:translate(4px)}.vt-hamburger:hover .vt-hamburger-middle{top:6;left:0;transform:translate(0)}.vt-hamburger:hover .vt-hamburger-bottom{top:12px;left:0;transform:translate(8px)}.vt-hamburger.is-active .vt-hamburger-top{top:6px;transform:translate(0) rotate(225deg)}.vt-hamburger.is-active .vt-hamburger-middle{top:6px;transform:translate(16px)}.vt-hamburger.is-active .vt-hamburger-bottom{top:6px;transform:translate(0) rotate(135deg)}.vt-hamburger.is-active:hover .vt-hamburger-top,.vt-hamburger.is-active:hover .vt-hamburger-middle,.vt-hamburger.is-active:hover .vt-hamburger-bottom{background-color:var(--vt-c-text-2);transition:top .25s,background-color .25s,transform .25s}.vt-hamburger-container{position:relative;width:16px;height:14px;overflow:hidden}.vt-hamburger-top,.vt-hamburger-middle,.vt-hamburger-bottom{position:absolute;width:16px;height:2px;background-color:var(--vt-c-text-1);transition:top .25s,background-color .5s,transform .25s}.vt-hamburger-top{top:0;left:0;transform:translate(0)}.vt-hamburger-middle{top:6px;left:0;transform:translate(8px)}.vt-hamburger-bottom{top:12px;left:0;transform:translate(4px)}.vt-link-icon{display:inline-block;margin-top:-2px;margin-left:4px;width:11px;height:11px;fill:var(--vt-c-text-3);transition:fill .25s}.vt-menu{border-radius:8px;padding:12px 0;min-width:192px;border:1px solid transparent;background:var(--vt-c-bg);box-shadow:var(--vt-shadow-3);transition:background-color .5s;overflow:auto}.dark .vt-menu{background:var(--vt-c-bg);box-shadow:var(--vt-shadow-1);border:1px solid var(--vt-c-divider-light)}.vt-menu-items{transition:border-color .5s}.vt-menu .vt-menu-group{padding:0 0 12px}.vt-menu .vt-menu-group+.vt-menu-group{border-top:1px solid var(--vt-c-divider-light);padding:11px 0 12px}.vt-menu .vt-menu-group:last-child{padding-bottom:0}.vt-menu .vt-menu-group+.vt-menu-item-item{border-top:1px solid var(--vt-c-divider-light);padding:11px 16px 0}.vt-menu .vt-menu-item{padding:0 16px;white-space:nowrap}.vt-menu-label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.vt-menu-action{padding-left:24px}.vt-menu-badge{display:inline-block;padding:3.5px 4px;margin-left:6px;font-size:10px;font-style:normal;font-weight:600;line-height:1;letter-spacing:.2px;border-radius:6px;background:var(--vt-c-blue);color:var(--vt-c-white-soft)}.vt-menu-badge.secondary{background:var(--vt-c-gray-light-5);color:var(--vt-c-blue-dark)}.vt-menu-badge.success{background:var(--vt-c-green)}.vt-menu-badge.info{background:var(--vt-c-indigo-soft)}.vt-menu-badge.warning{background:var(--vt-c-yellow-light);color:var(--vt-c-black-soft)}.vt-menu-badge.danger{background:var(--vt-c-red)}.vt-menu-group-title{padding:0 18px;line-height:28px;font-size:10px;font-weight:600;color:var(--vt-c-text-3);text-transform:uppercase;transition:color .25s}.vt-menu-link{display:block;padding:0 18px;line-height:28px;font-size:13px;font-weight:400;color:var(--vt-c-text-1);white-space:nowrap;transition:color .25s}.vt-menu-link:hover{color:var(--vt-c-brand)}.vt-locales-btn-icon{margin:0 .5rem}.vt-locales-btn-icon-container{display:flex;align-items:center;cursor:pointer}.vt-locales-btn-icon{width:1rem;height:1rem;fill:var(--vt-c-text-1)}.vt-locales-menu-hr-divider{margin-top:4px;margin-bottom:4px;width:100%;height:1px;background-color:var(--vt-c-divider-light)}.vt-locales-menu-item{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;font-size:.875rem;position:relative}.vt-locales-menu-item-text{cursor:pointer}.vt-locales-menu-item-text:hover{color:var(--vt-c-brand)}.vt-locales-menu-item.join-translations{margin-top:8px;padding:0 14px}.VPNavBarLocaleScreen .vt-locales-menu-item.join-translations{padding:0}.vt-social-link{display:flex;justify-content:center;align-items:center;color:var(--vt-c-text-2);transition:color .5s}.vt-social-link.is-small{width:36px;height:36px}.vt-social-link.is-small .vt-social-link-icon{width:20px;height:20px}.vt-social-link.is-medium{width:48px;height:48px}.vt-social-link.is-medium .vt-social-link-icon{width:24px;height:24px}.vt-social-link:hover{color:var(--vt-c-text-1);transition:color .25s}.vt-social-link-icon{fill:currentColor}.vt-social-links{display:flex;justify-content:center}.vt-switch{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vt-c-divider);background-color:var(--vt-c-bg-mute);transition:border-color .25s,background-color .25s}.vt-switch:hover{border-color:var(--vt-c-gray)}.vt-switch-check{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vt-c-white);box-shadow:var(--vt-shadow-1);transition:background-color .25s,transform .25s}.dark .vt-switch-check{background-color:var(--vt-c-black)}.vt-switch-icon{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.vt-switch-icon svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vt-c-text-2)}.dark .vt-switch-icon svg{fill:var(--vt-c-text-1);transition:opacity .25s}.vt-switch-appearance-sun{opacity:1}.vt-switch-appearance-moon,.dark .vt-switch-appearance-sun{opacity:0}.dark .vt-switch-appearance-moon{opacity:1}.dark .vt-switch-appearance .vt-switch-check{transform:translate(18px)}.vt-box-container{display:flex;flex-wrap:wrap;justify-content:space-between}.vt-box-container .vt-box{background-color:var(--vt-c-bg-soft);transition:color .5s,background-color .5s;padding:28px 36px;border-radius:8px;flex:0 32%;font-size:14px;font-weight:500}@media (max-width: 768px){.vt-box-container .vt-box{flex:0 100%;margin-bottom:20px}}.vt-badge{display:inline-block;border-radius:6px;font-size:.65em;line-height:1;font-weight:600;padding:.35em .4em .3em;position:relative;top:-.65em;margin-left:.5em;color:var(--vt-c-bg);transition:color .5s;background-color:var(--vt-c-brand)}.vt-badge.warning{color:var(--vt-c-text-light-1);background-color:var(--vt-c-yellow)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-banner: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-screen-max-width: 1376px}:root{--vp-sidebar-width-mobile: 320px;--vp-sidebar-width-small: 272px}.VPNavBarTitle[data-v-8e2e30f6]{display:flex;align-items:center;padding-top:1px;height:var(--vt-nav-height);transition:opacity .25s}.VPNavBarTitle[data-v-8e2e30f6]:hover{opacity:.6}.logo[data-v-8e2e30f6]{position:relative}.logo+.text[data-v-8e2e30f6]{padding-left:8px}.text[data-v-8e2e30f6]{font-size:16px;font-weight:500}/*! @docsearch/css 3.6.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */.VPNavBarSearch{display:flex;align-items:center;padding-left:16px}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1}}.DocSearch{--docsearch-primary-color: var(--vt-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vt-c-text-1);--docsearch-muted-color: var(--vt-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vt-c-bg-soft);--docsearch-footer-background: var(--vt-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vt-c-text-2);--docsearch-hit-background: var(--vt-c-bg-mute);--docsearch-hit-color: var(--vt-c-text-2);--docsearch-hit-shadow: none}.dark .DocSearch-Footer{border-top:1px solid var(--vt-c-divider)}.dark .DocSearch-Form{background-color:var(--vt-c-bg-mute)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand)}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;width:48px;height:55px;background:transparent}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;width:100%}}.DocSearch-Button .DocSearch-Search-Icon{color:var(--vt-c-text-2);transition:color .5s;fill:currentColor;width:18px;height:18px;position:relative}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button-Placeholder{transition:color .5s;font-size:13px;font-weight:500;color:var(--vt-c-text-2);display:none;padding:0 10px 0 0}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}@media (min-width: 960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{display:none;gap:2px;min-width:auto;box-sizing:border-box;border:1px solid var(--vt-c-text-3);border-radius:4px;padding:0 6px;font-family:inherit;font-size:12px;height:22px;line-height:22px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button:hover .DocSearch-Button-Keys{border-color:var(--vt-c-brand-light)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex}}.DocSearch-Button .DocSearch-Button-Key{width:auto;min-width:auto;font-family:inherit;font-size:12px;height:22px;padding:0;margin:0;color:var(--vt-c-text-3);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}.DocSearch-Button .DocSearch-Button-Key--pressed{box-shadow:none;transform:none}.VPNavBarMenuLink[data-v-95f6ec97]{display:block;padding:0 12px;line-height:calc(var(--vt-nav-height) - 1px);font-size:13px;font-weight:500;color:var(--vt-c-text-1);transition:color .25s;white-space:nowrap}.VPNavBarMenuLink.active[data-v-95f6ec97]{border-bottom:1px solid var(--vt-c-brand)}.VPNavBarMenuLink[data-v-95f6ec97]:hover{color:var(--vt-c-brand)}.VPNavBarMenuGroup.active[data-v-afa3480f]{border-bottom:1px solid var(--vt-c-brand);height:var(--vt-nav-height)}.vt-locales-menu-item[data-v-cedf09e2]{padding-bottom:0}.vt-locales-btn-icon-container[data-v-0c0e1def]:before,.vt-locales-btn-icon-container[data-v-0c0e1def]:after{width:1px;height:24px;background-color:var(--vt-c-divider-light);content:""}.vt-locales-btn-icon-container[data-v-0c0e1def]:before{margin-right:4px}.vt-locales-btn-icon-container[data-v-0c0e1def]:after{margin-left:4px}.vt-menu-items[data-v-0c0e1def]{padding:0 14px}.VPNavBarMenu[data-v-0e0676db]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-0e0676db]{display:flex}}.VPNavBarAppearance[data-v-e40b1bc7]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e40b1bc7]{display:block}}.VPNavBarSocialLinks[data-v-53f59d47]{display:none;margin-right:-10px}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-53f59d47]{display:flex}}.VPNavBarExtra[data-v-a47d64df]{display:none}@media (min-width: 768px){.VPNavBarExtra[data-v-a47d64df]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-a47d64df]{display:none}}.item[data-v-a47d64df]{display:flex;align-items:center}.action[data-v-a47d64df]{margin-right:-2px}.social-links[data-v-a47d64df]{margin:-4px -8px}.VPNavBarHamburger[data-v-9488b1da]{width:40px;height:var(--vt-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-9488b1da]{display:none}}.VPNavBar[data-v-2f23effb]{position:relative;border-bottom:1px solid var(--vt-c-divider-light);padding:0 12px 0 24px;height:var(--vt-nav-height);background-color:var(--vt-c-bg);white-space:nowrap;transition:border-color .5s,background-color .5s}@media (min-width: 768px){.VPNavBar[data-v-2f23effb]{padding:0 12px 0 32px}}@media (min-width: 1280px){.VPNavBar[data-v-2f23effb]{padding:0 32px}}.container[data-v-2f23effb]{display:flex;justify-content:space-between;margin:0 auto;max-width:var(--vp-screen-max-width)}.content[data-v-2f23effb]{display:flex;justify-content:flex-end;align-items:center;flex-grow:1}.menu+.appearance[data-v-2f23effb]{margin-left:8px}.menu+.social-links[data-v-2f23effb]{margin-left:12px}.appearance+.social-links[data-v-2f23effb]{margin-left:12px}.VPNavScreenMenuLink[data-v-cdcc2c40]{display:block;border-bottom:1px solid var(--vt-c-divider-light);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vt-c-text-1);transition:border-color .5s,color .25s}.VPNavScreenMenuLink[data-v-cdcc2c40]:hover{color:var(--vt-c-brand)}.VPNavScreenMenuGroupLink[data-v-56230f69]{display:block;line-height:32px;font-size:13px;font-weight:400;color:var(--vt-c-text-1);transition:color .25s;margin-left:.6em}.VPNavScreenMenuGroupLink[data-v-56230f69]:hover{color:var(--vt-c-brand)}.VPNavScreenMenuGroupSection[data-v-b70284d9]{display:block}.title[data-v-b70284d9]{line-height:32px;font-size:11px;font-weight:700;color:var(--vt-c-text-2);text-transform:uppercase;transition:color .25s}.VPNavScreenMenuGroup[data-v-dfe4bedb]{border-bottom:1px solid var(--vt-c-divider-light);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-dfe4bedb]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-dfe4bedb]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-dfe4bedb]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-dfe4bedb]{padding-bottom:6px;color:var(--vt-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-dfe4bedb]{transform:rotate(45deg)}.button[data-v-dfe4bedb]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vt-c-text-1);transition:color .25s}.button[data-v-dfe4bedb]:hover{color:var(--vt-c-brand)}.button-icon[data-v-dfe4bedb]{width:14px;height:14px;fill:var(--vt-c-text-2);transition:fill .5s,transform .25s}.group[data-v-dfe4bedb]:first-child{padding-top:4px}.group+.group[data-v-dfe4bedb]{padding-top:8px}.group+.item[data-v-dfe4bedb]{padding-top:8px}.VPNavScreenAppearance[data-v-2bedde53]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vt-c-bg-soft);transition:background-color .5s}.text[data-v-2bedde53]{line-height:24px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.VPNavBarLocaleScreen[data-v-2d35bf2f]{display:flex;flex-direction:column;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vt-c-bg-soft);transition:background-color .5s;margin:16px 0}.title[data-v-2d35bf2f]{line-height:24px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s;margin-bottom:6px}.VPNavScreen[data-v-afc195da]{position:fixed;top:calc(var(--vt-nav-height) + var(--vt-banner-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vt-c-bg);transition:background-color .5s;overflow-y:auto}.VPNavScreen.fade-enter-active[data-v-afc195da],.VPNavScreen.fade-leave-active[data-v-afc195da]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-afc195da],.VPNavScreen.fade-leave-active .container[data-v-afc195da]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-afc195da],.VPNavScreen.fade-leave-to[data-v-afc195da]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-afc195da],.VPNavScreen.fade-leave-to .container[data-v-afc195da]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-afc195da]{display:none}}.container[data-v-afc195da]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.appearance[data-v-afc195da]{margin-top:24px}.menu+.social-links[data-v-afc195da]{margin-top:16px}.appearance+.social-links[data-v-afc195da]{margin-top:12px}.VPNav[data-v-ca58092f]{position:relative;top:0;left:0;z-index:var(--vp-z-index-nav)}@media (min-width: 960px){.VPNav[data-v-ca58092f]{position:fixed;top:var(--vt-banner-height, 0px);width:100%}}.root[data-v-e420924a]{position:relative;z-index:1}.nested[data-v-e420924a]{padding-left:1em}.outline-link[data-v-e420924a]{color:var(--vt-c-text-2);transition:color .5s;line-height:28px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-link[data-v-e420924a]:hover,.outline-link.active[data-v-e420924a]{color:var(--vt-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown[data-v-b732021f]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-b732021f]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vt-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-b732021f]:hover{color:var(--vt-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-b732021f]{color:var(--vt-c-text-1)}.icon[data-v-b732021f]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-b732021f] .outline-link{font-size:14px;font-weight:500;padding:2px 0}.open>.icon[data-v-b732021f]{transform:rotate(90deg)}.items[data-v-b732021f]{position:absolute;left:20px;right:20px;top:60px;background-color:var(--vt-c-bg);padding:4px 20px 16px;border:1px solid var(--vt-c-divider);border-radius:8px;max-height:calc(var(--vt-vh, 100vh) - 86px);overflow:scroll;box-shadow:var(--vt-shadow-3)}.top-link[data-v-b732021f]{display:block;color:var(--vt-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 0 10px;border-bottom:1px solid var(--vt-c-divider)}.flyout-enter-active[data-v-b732021f]{transition:all .2s ease-out}.flyout-leave-active[data-v-b732021f]{transition:all .15s ease-in}.flyout-enter-from[data-v-b732021f],.flyout-leave-to[data-v-b732021f]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-8c9562d4]{position:sticky;top:var(--vt-banner-height, 0px);left:0;z-index:var(--vp-z-index-local-nav);width:100%;display:flex;justify-content:space-between;border-bottom:1px solid var(--vt-c-divider-light);background-color:var(--vt-c-bg);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-8c9562d4]{display:none}}.menu[data-v-8c9562d4]{display:flex;align-items:center;padding:0 24px;line-height:47px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.menu[data-v-8c9562d4]:hover{color:var(--vt-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-8c9562d4]{padding:0 32px}}.menu-icon[data-v-8c9562d4]{margin-right:8px;width:16px;height:16px;fill:currentColor}.top-link[data-v-8c9562d4]{padding:0 24px;line-height:47px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.top-link[data-v-8c9562d4]:hover{color:var(--vt-c-text-1);transition:color .25s}@media (min-width: 768px){.top-link[data-v-8c9562d4]{padding:0 32px}}.VPSkipLink[data-v-3fc5d0d0]{top:.25rem;left:.25rem;padding:.65rem 1.5rem;z-index:999;font-size:.9em;font-weight:700;text-decoration:none;color:var(--vt-c-green);box-shadow:var(--vt-shadow-3);background-color:var(--vt-c-bg);border-radius:8px}.dark .VPSkipLink[data-v-3fc5d0d0]{color:var(--vt-c-green)}.VPSkipLink[data-v-3fc5d0d0]:focus{height:auto;width:auto;clip:auto;clip-path:none}.link[data-v-75077824]{display:block;padding:6px 0}@media (min-width: 960px){.link[data-v-75077824]{padding:4px 0}}.link:hover .link-text[data-v-75077824]{color:var(--vt-c-brand-text-1);transition:color .25s}.link.active .link-text[data-v-75077824]{font-weight:600;color:var(--vt-c-brand);transition:color .25s}.link-text[data-v-75077824]{line-height:20px;font-size:13px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.title[data-v-8c098358]{padding:6px 0}@media (min-width: 960px){.title[data-v-8c098358]{padding:4px 0}}.title-text[data-v-8c098358]{line-height:20px;font-size:13px;font-weight:600;color:var(--vt-c-text-1);transition:color .5s}.VPSidebar[data-v-b664c7de]{position:fixed;top:0;bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:0 32px 96px;width:calc(100vw - 64px);max-width:var(--vp-sidebar-width-mobile);opacity:0;background-color:var(--vt-c-bg);box-shadow:var(--vt-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:background-color .5s,opacity .5s,transform .3s ease}#VPSidebarNav[data-v-b664c7de]{padding-top:24px;outline:0}@media (min-width: 960px){.VPSidebar[data-v-b664c7de]{top:calc(var(--vt-nav-height) + var(--vt-banner-height, 0px));z-index:1;border-right:1px solid var(--vt-c-divider-light);width:var(--vp-sidebar-width-small);max-width:100%;opacity:1;visibility:visible;box-shadow:none;transform:translate(0);transition:border-color .5s,background-color .5s}}@media (min-width: 1440px){.VPSidebar[data-v-b664c7de]{padding:0 32px 96px calc((100% - var(--vp-screen-max-width)) / 2);width:calc((100% - var(--vp-screen-max-width)) / 2 + var(--vp-sidebar-width-small))}}.VPSidebar.open[data-v-b664c7de]{opacity:1;visibility:visible;transform:translate(0);transition:background-color .5s,opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-b664c7de]{box-shadow:var(--vt-shadow-1)}.group+.group[data-v-b664c7de]{padding-top:24px}@media (min-width: 960px){.group+.group[data-v-b664c7de]{padding-top:16px}}.VPFooter[data-v-d0026b03]{border-top:1px solid var(--vt-c-bg-soft);padding:23px 24px 24px;background-color:var(--vt-c-bg-soft);transition:border-top .5s,background-color .5s}.dark .VPFooter[data-v-d0026b03]{border-top:1px solid var(--vt-c-divider-light);background-color:var(--vt-c-bg)}.license[data-v-d0026b03],.copyright[data-v-d0026b03]{text-align:center;line-height:20px;font-size:12px;font-weight:500;color:var(--vt-c-text-2);transition:color .25s}.link[data-v-d0026b03]{color:var(--vt-c-text-1);transition:color .25s}.link[data-v-d0026b03]:hover{color:var(--vt-c-text-2)}.VPContentDocOutline[data-v-34990577]{font-size:13px;font-weight:500;position:relative}.outline-title[data-v-34990577]{font-weight:700;margin-bottom:4px;text-transform:uppercase;font-size:11px;letter-spacing:.4px}.outline-marker[data-v-34990577]{opacity:0;position:absolute;background-color:var(--vt-c-green);border-radius:4px;width:4px;height:20px;top:32px;left:-12px;z-index:0;transition:top .25s cubic-bezier(0,1,.5,1),opacity .25s,background-color .5s}.VPContentDocFooter[data-v-d519b9b0]{border-top:1px solid var(--vt-c-divider-light);padding-top:1rem;display:flex;justify-content:space-between}a[data-v-d519b9b0]{display:inline-block;font-weight:500;font-size:16px;max-width:48%}.desc[data-v-d519b9b0]{font-size:11px;color:var(--vt-c-text-2);display:block}.title[data-v-d519b9b0]{color:var(--vt-c-brand);transition:color .25s}a:hover .title[data-v-d519b9b0]{color:var(--vt-c-brand-highlight)}.next-link[data-v-d519b9b0]{margin-left:auto;text-align:right}.vt-link-icon[data-v-d519b9b0]{margin:-2px 0 0;vertical-align:middle}.VPCarbonAds{margin:28px 0;padding:20px 24px;background-color:var(--vt-c-bg-soft);border-radius:4px;font-size:12px;font-weight:500;line-height:1.4;color:var(--vt-c-text-2);text-align:center;transition:color .5s,background-color .5s}.VPCarbonAds img{margin:0 auto 12px;border-radius:4px}.VPCarbonAds .carbon-poweredby{display:block;margin-top:6px;text-transform:uppercase;transition:color .5s;color:var(--vt-c-text-3);font-size:10px}.VPContentDoc[data-v-46bba7a2]{padding:32px 24px 96px}.vt-doc[data-v-46bba7a2]{margin-bottom:54px}.content[data-v-46bba7a2]{margin:0 auto;max-width:688px;position:relative}.aside[data-v-46bba7a2]{position:relative;display:none;flex-shrink:0;padding-left:64px;width:320px}.aside-container[data-v-46bba7a2]{position:sticky;width:224px;top:calc(var(--vt-nav-height) + var(--vt-banner-height, 0px) + 24px);bottom:0}.aside-container[data-v-46bba7a2]::-webkit-scrollbar{display:none}.edit-link[data-v-46bba7a2]{margin:0 0 32px}.edit-link .vt-link[data-v-46bba7a2]{font-size:14px;color:var(--vt-c-brand);font-weight:500}.vt-icon[data-v-46bba7a2]{width:18px;height:18px;color:var(--vt-c-brand);display:inline-block;margin-right:8px;position:relative;top:-1px}@media (min-width: 768px){.VPContentDoc[data-v-46bba7a2]{padding:48px 32px 96px}}@media (min-width: 960px){.VPContentDoc[data-v-46bba7a2]{padding:64px 64px 96px}}@media (min-width: 1280px){.VPContentDoc[data-v-46bba7a2]{padding:64px 0 96px 64px}.VPContentDoc[data-v-46bba7a2]:not(.has-sidebar.has-aside){padding-left:calc((100vw - 688px)/2)}.VPContentDoc.has-aside[data-v-46bba7a2]:not(.has-sidebar){padding-left:calc((100vw - 1008px)/2)}.container[data-v-46bba7a2]{display:flex}.content[data-v-46bba7a2]{min-width:620px;margin:0;order:1}.VPContentDoc:not(.has-aside) .content[data-v-46bba7a2]{min-width:688px}.aside[data-v-46bba7a2]{display:block;order:2}}@media (min-width: 1440px){.VPContentDoc[data-v-46bba7a2]{padding:64px 0 96px 96px}.aside[data-v-46bba7a2]{padding-left:96px}}.vt-doc[data-v-478ff76c]{padding:32px 48px;background-color:var(--vt-c-bg-soft);margin:32px;border-radius:8px}.not-found-path[data-v-478ff76c]{font-family:var(--vt-font-family-mono);color:var(--vt-c-text-code)}@media (max-width: 768px){.VPContent[data-v-843ef03c]{overflow-x:hidden}}@media (min-width: 960px){.VPContent[data-v-843ef03c]{padding-top:var(--vt-nav-height)}.VPContent.has-sidebar[data-v-843ef03c]{padding-left:var(--vp-sidebar-width-small)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-843ef03c]{padding-left:calc((100vw - var(--vp-screen-max-width)) / 2 + var(--vp-sidebar-width-small))}}.VPApp[data-v-08510f96]{display:flex;flex-direction:column;min-height:100vh;background-color:var(--vt-c-bg);transition:background-color .5s;padding-top:var(--vt-banner-height)}.backdrop[data-v-08510f96]{z-index:var(--vp-z-index-backdrop)}.TeamHero[data-v-e509d88a]{padding:48px 24px}@media (min-width: 768px){.TeamHero[data-v-e509d88a]{padding:64px 32px 48px}}.container[data-v-e509d88a]{margin:0 auto;max-width:960px}.title[data-v-e509d88a],.lead[data-v-e509d88a]{transition:color .25s}.title[data-v-e509d88a]{line-height:32px;font-size:32px;font-weight:500}@media (min-width: 768px){.title[data-v-e509d88a]{line-height:40px;font-size:40px}}.lead[data-v-e509d88a]{padding-top:8px;font-size:16px;font-weight:500;max-width:512px;color:var(--vt-c-text-2)}.action[data-v-e509d88a]{padding-top:4px}.action[data-v-e509d88a] a{display:inline-block;line-height:20px;font-size:14px;font-weight:500;color:var(--vt-c-brand);transition:color .25s}.action[data-v-e509d88a] a:hover{color:var(--vt-c-brand-dark)}.TeamMember[data-v-fde26a69]{position:relative;background-color:var(--vt-c-bg-soft);transition:background-color .5s}@media (min-width: 512px){.TeamMember[data-v-fde26a69]{display:flex}}@media (min-width: 640px){.TeamMember[data-v-fde26a69]{border-radius:8px}}.sponsor[data-v-fde26a69]{position:absolute;top:16px;right:16px;display:flex;align-items:center;border:1px solid #fd1d7c;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;color:#fd1d7c;transition:color .25s,background-color .25s}.sponsor[data-v-fde26a69]:hover{color:var(--vt-c-white);background-color:#fd1d7c}.sponsor-icon[data-v-fde26a69]{margin-right:6px;width:14px;height:14px;fill:currentColor}.avatar[data-v-fde26a69]{flex-shrink:0;padding:32px 32px 0}@media (min-width: 512px){.avatar[data-v-fde26a69]{padding:32px 0 0 32px}}.avatar-img[data-v-fde26a69]{border-radius:50%;width:96px;height:96px;transform:translate(-8px)}@media (min-width: 512px){.avatar-img[data-v-fde26a69]{width:80px;height:80px;transform:translate(0)}}.data[data-v-fde26a69]{padding:20px 32px 32px}@media (min-width: 512px){.data[data-v-fde26a69]{padding:40px 32px 32px}}.name[data-v-fde26a69]{font-size:20px;font-weight:500}.org[data-v-fde26a69]{padding-top:4px;line-height:20px;max-width:320px;font-size:14px;font-weight:500;color:var(--vt-c-text-2);transition:color .5s}.company[data-v-fde26a69]{color:var(--vt-c-text-1);transition:color .25s}.company.link[data-v-fde26a69]:hover{color:var(--vt-c-brand);transition:color .5s}.profiles[data-v-fde26a69]{padding-top:16px}.desc[data-v-fde26a69]{display:flex}.desc+.desc[data-v-fde26a69]{padding-top:12px}.desc-title[data-v-fde26a69]{display:flex;justify-content:center;align-items:center;flex-shrink:0;padding-right:12px;height:20px}.desc-icon[data-v-fde26a69]{width:16px;height:16px;fill:var(--vt-c-text-2);transition:fill .25s}.desc-icon.code[data-v-fde26a69]{transform:translateY(1px)}.desc-list[data-v-fde26a69]{display:flex;flex-wrap:wrap;margin:0 -4px}.desc-item[data-v-fde26a69]{padding:0 4px;line-height:20px;font-size:14px;font-weight:500;color:var(--vt-c-text-1);transition:color .5s}.desc-item[data-v-fde26a69]:after{margin-left:8px;content:"•";color:var(--vt-c-text-3);transition:color .25s}.desc-item[data-v-fde26a69]:last-child:after{display:none}.desc-text[data-v-fde26a69]{line-height:20px;font-size:14px;font-weight:500;color:var(--vt-c-text-1);transition:color .25s}.desc-link[data-v-fde26a69]{line-height:20px;font-size:14px;font-weight:500;color:var(--vt-c-brand);transition:color .25s}.desc-link[data-v-fde26a69]:hover{color:var(--vt-c-brand-dark)}.social-list[data-v-fde26a69]{display:flex;flex-wrap:wrap;margin-left:-6px;padding-top:16px}.social-item+.social-item[data-v-fde26a69]{padding-left:8px}.social-link[data-v-fde26a69]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;color:var(--vt-c-text-2);transition:color .25s}.social-link[data-v-fde26a69]:hover{color:var(--vt-c-text-1)}.social-icon[data-v-fde26a69]{width:20px;height:20px;fill:currentColor}@media (min-width: 768px){.TeamList[data-v-8792b0f1]{padding:0 32px}}.container[data-v-8792b0f1]{border-top:1px solid var(--vt-c-divider-light);padding-top:24px}@media (min-width: 768px){.container[data-v-8792b0f1]{margin:0 auto;display:flex;align-items:flex-start;max-width:960px}}.info[data-v-8792b0f1]{flex-shrink:0;padding:0 24px;max-width:512px}@media (min-width: 768px){.info[data-v-8792b0f1]{position:sticky;top:calc(var(--vt-banner-height, 0px) + 32px);left:0;padding:0 24px 0 0;width:256px}html.banner-dismissed .info[data-v-8792b0f1]{top:32px}}@media (min-width: 960px){.info[data-v-8792b0f1]{top:calc(var(--vt-banner-height, 0px) + 88px);padding:0 64px 0 0;width:384px}html.banner-dismissed .info[data-v-8792b0f1]{top:88px}}.title[data-v-8792b0f1]{font-size:20px;font-weight:500}.lead[data-v-8792b0f1]{padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vt-c-text-2)}.members[data-v-8792b0f1]{padding-top:24px}@media (min-width: 768px){.members[data-v-8792b0f1]{flex-grow:1;padding-top:0}}.member+.member[data-v-8792b0f1]{padding-top:16px}@media (min-width: 640px){.member[data-v-8792b0f1]{margin:0 auto;max-width:592px}}@media (min-width: 768px){.member[data-v-8792b0f1]{margin:0;max-width:100%}}.TeamPage[data-v-69cdecb2]{padding-bottom:16px}@media (min-width: 768px){.TeamPage[data-v-69cdecb2]{padding-bottom:96px}}.TeamList+.TeamList[data-v-69cdecb2]{padding-top:64px}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-555f8904]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-555f8904],.VPBackdrop.fade-leave-to[data-v-555f8904]{opacity:0}.VPBackdrop.fade-leave-active[data-v-555f8904]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-555f8904]{display:none}}.NotFound[data-v-a2512220]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-a2512220]{padding:96px 32px 168px}}.code[data-v-a2512220]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-a2512220]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-a2512220]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-a2512220]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-a2512220]{padding-top:20px}.link[data-v-a2512220]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-a2512220]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-8b07c751]{position:relative;z-index:1}.nested[data-v-8b07c751]{padding-right:16px;padding-left:16px}.outline-link[data-v-8b07c751]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-8b07c751]:hover,.outline-link.active[data-v-8b07c751]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-8b07c751]{padding-left:13px}.VPDocAsideOutline[data-v-1ca7049f]{display:none}.VPDocAsideOutline.has-outline[data-v-1ca7049f]{display:block}.content[data-v-1ca7049f]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-1ca7049f]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-1ca7049f]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-1c6e4e59]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-1c6e4e59]{flex-grow:1}.VPDocAside[data-v-1c6e4e59] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-1c6e4e59] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-1c6e4e59] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-9df8358f]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-9df8358f]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-73bc8135]{margin-top:64px}.edit-info[data-v-73bc8135]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-73bc8135]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-73bc8135]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-73bc8135]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-73bc8135]{margin-right:8px}.prev-next[data-v-73bc8135]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-73bc8135]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-73bc8135]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-73bc8135]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-73bc8135]{margin-left:auto;text-align:right}.desc[data-v-73bc8135]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-73bc8135]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-954eab99]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-954eab99]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-954eab99]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-954eab99]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-954eab99]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-954eab99]{display:flex;justify-content:center}.VPDoc .aside[data-v-954eab99]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-954eab99]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-954eab99]{max-width:1104px}}.container[data-v-954eab99]{margin:0 auto;width:100%}.aside[data-v-954eab99]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-954eab99]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-954eab99]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-954eab99]::-webkit-scrollbar{display:none}.aside-curtain[data-v-954eab99]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-954eab99]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-954eab99]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-954eab99]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-954eab99]{order:1;margin:0;min-width:640px}}.content-container[data-v-954eab99]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-954eab99]{max-width:688px}.VPButton[data-v-d931a3b4]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-d931a3b4]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-d931a3b4]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-d931a3b4]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-d931a3b4]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-d931a3b4]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-d931a3b4]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-d931a3b4]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-d931a3b4]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-d931a3b4]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-d931a3b4]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-d931a3b4]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-d931a3b4]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-430dcc9b]{display:none}.dark .VPImage.light[data-v-430dcc9b]{display:none}.VPHero[data-v-d74ca98a]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-d74ca98a]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-d74ca98a]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-d74ca98a]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-d74ca98a]{flex-direction:row}}.main[data-v-d74ca98a]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-d74ca98a]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-d74ca98a]{text-align:left}}@media (min-width: 960px){.main[data-v-d74ca98a]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-d74ca98a]{max-width:592px}}.name[data-v-d74ca98a],.text[data-v-d74ca98a]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-d74ca98a],.VPHero.has-image .text[data-v-d74ca98a]{margin:0 auto}.name[data-v-d74ca98a]{color:var(--vp-home-hero-name-color)}.clip[data-v-d74ca98a]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-d74ca98a],.text[data-v-d74ca98a]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-d74ca98a],.text[data-v-d74ca98a]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-d74ca98a],.VPHero.has-image .text[data-v-d74ca98a]{margin:0}}.tagline[data-v-d74ca98a]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-d74ca98a]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-d74ca98a]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-d74ca98a]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-d74ca98a]{margin:0}}.actions[data-v-d74ca98a]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-d74ca98a]{justify-content:center}@media (min-width: 640px){.actions[data-v-d74ca98a]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-d74ca98a]{justify-content:flex-start}}.action[data-v-d74ca98a]{flex-shrink:0;padding:6px}.image[data-v-d74ca98a]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-d74ca98a]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-d74ca98a]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-d74ca98a]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-d74ca98a]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-d74ca98a]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-d74ca98a]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-d74ca98a]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-d74ca98a]{width:320px;height:320px}}[data-v-d74ca98a] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-d74ca98a] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-d74ca98a] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-dd502c38]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-dd502c38]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-dd502c38]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-dd502c38]>.VPImage{margin-bottom:20px}.icon[data-v-dd502c38]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-dd502c38]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-dd502c38]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-dd502c38]{padding-top:8px}.link-text-value[data-v-dd502c38]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-dd502c38]{margin-left:6px}.VPFeatures[data-v-f4290047]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-f4290047]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-f4290047]{padding:0 64px}}.container[data-v-f4290047]{margin:0 auto;max-width:1152px}.items[data-v-f4290047]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-f4290047]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-f4290047],.item.grid-4[data-v-f4290047],.item.grid-6[data-v-f4290047]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-f4290047],.item.grid-4[data-v-f4290047]{width:50%}.item.grid-3[data-v-f4290047],.item.grid-6[data-v-f4290047]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-f4290047]{width:25%}}.container[data-v-5db0fc11]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-5db0fc11]{padding:0 48px}}@media (min-width: 960px){.container[data-v-5db0fc11]{width:100%;padding:0 64px}}.vp-doc[data-v-5db0fc11] .VPHomeSponsors,.vp-doc[data-v-5db0fc11] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-5db0fc11] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-5db0fc11] .VPHomeSponsors a,.vp-doc[data-v-5db0fc11] .VPTeamPage a{text-decoration:none}.VPHome[data-v-945e2803]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-945e2803]{margin-bottom:128px}}.VPContent[data-v-e21f1c97]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-e21f1c97]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-e21f1c97]{margin:0}@media (min-width: 960px){.VPContent[data-v-e21f1c97]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-e21f1c97]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-e21f1c97]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-30d44c97]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-30d44c97]{display:none}.VPFooter[data-v-30d44c97] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-30d44c97] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-30d44c97]{padding:32px}}.container[data-v-30d44c97]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-30d44c97],.copyright[data-v-30d44c97]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-e15d2741]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-e15d2741]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-e15d2741]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-e15d2741]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-e15d2741]{color:var(--vp-c-text-1)}.icon[data-v-e15d2741]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-e15d2741]{font-size:14px}.icon[data-v-e15d2741]{font-size:16px}}.open>.icon[data-v-e15d2741]{transform:rotate(90deg)}.items[data-v-e15d2741]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-e15d2741]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-e15d2741]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-e15d2741]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-e15d2741]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-e15d2741]{transition:all .2s ease-out}.flyout-leave-active[data-v-e15d2741]{transition:all .15s ease-in}.flyout-enter-from[data-v-e15d2741],.flyout-leave-to[data-v-e15d2741]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9b286bf4]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9b286bf4]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-9b286bf4]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9b286bf4]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9b286bf4]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-9b286bf4]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-9b286bf4]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-9b286bf4]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-9b286bf4]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9b286bf4]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9b286bf4]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-9b286bf4]{display:none}}.menu-icon[data-v-9b286bf4]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-9b286bf4]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9b286bf4]{padding:12px 32px 11px}}.VPSwitch[data-v-5f515241]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-5f515241]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-5f515241]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-5f515241]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-5f515241] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-5f515241] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-c66bea29]{opacity:1}.moon[data-v-c66bea29],.dark .sun[data-v-c66bea29]{opacity:0}.dark .moon[data-v-c66bea29]{opacity:1}.dark .VPSwitchAppearance[data-v-c66bea29] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-fb4cefbb]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-fb4cefbb]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-00baf487]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-00baf487]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-00baf487]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-00baf487]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-bd0f1d65]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-bd0f1d65]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-bd0f1d65]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-bd0f1d65]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-3613d363]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-3613d363] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-3613d363] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-3613d363] .group:last-child{padding-bottom:0}.VPMenu[data-v-3613d363] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-3613d363] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-3613d363] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-3613d363] .action{padding-left:24px}.VPFlyout[data-v-15b46e80]{position:relative}.VPFlyout[data-v-15b46e80]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-15b46e80]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-15b46e80]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-15b46e80]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-15b46e80]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-15b46e80]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-15b46e80],.button[aria-expanded=true]+.menu[data-v-15b46e80]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-15b46e80]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-15b46e80]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-15b46e80]{margin-right:0;font-size:16px}.text-icon[data-v-15b46e80]{margin-left:4px;font-size:14px}.icon[data-v-15b46e80]{font-size:20px;transition:fill .25s}.menu[data-v-15b46e80]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-2e3c9df7]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-2e3c9df7]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-2e3c9df7]>svg,.VPSocialLink[data-v-2e3c9df7]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-2ec96a47]{display:flex;justify-content:center}.VPNavBarExtra[data-v-eed872a2]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-eed872a2]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-eed872a2]{display:none}}.trans-title[data-v-eed872a2]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-eed872a2],.item.social-links[data-v-eed872a2]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-eed872a2]{min-width:176px}.appearance-action[data-v-eed872a2]{margin-right:-2px}.social-links-list[data-v-eed872a2]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee53bd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee53bd]{display:none}}.container[data-v-6bee53bd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee53bd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee53bd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee53bd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee53bd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee53bd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee53bd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee53bd],.VPNavBarHamburger.active:hover .middle[data-v-6bee53bd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee53bd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee53bd],.middle[data-v-6bee53bd],.bottom[data-v-6bee53bd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee53bd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee53bd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee53bd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-1eb8619e]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-1eb8619e],.VPNavBarMenuLink[data-v-1eb8619e]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-4a55a947]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-4a55a947]{display:flex}}/*! @docsearch/css 3.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-3e7e1f46]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-3e7e1f46]{display:flex;align-items:center}}.title[data-v-204b6ee7]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-204b6ee7]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-204b6ee7]{border-bottom-color:var(--vp-c-divider)}}[data-v-204b6ee7] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-a4dce8d3]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-a4dce8d3]{display:flex;align-items:center}}.title[data-v-a4dce8d3]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-63cad245]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-63cad245]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-63cad245]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-63cad245]:not(.home){background-color:transparent}.VPNavBar[data-v-63cad245]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-63cad245]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-63cad245]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-63cad245]{padding:0}}.container[data-v-63cad245]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-63cad245],.container>.content[data-v-63cad245]{pointer-events:none}.container[data-v-63cad245] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-63cad245]{max-width:100%}}.title[data-v-63cad245]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-63cad245]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-63cad245]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-63cad245]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-63cad245]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-63cad245]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-63cad245]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-63cad245]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-63cad245]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-63cad245]{column-gap:.5rem}}.menu+.translations[data-v-63cad245]:before,.menu+.appearance[data-v-63cad245]:before,.menu+.social-links[data-v-63cad245]:before,.translations+.appearance[data-v-63cad245]:before,.appearance+.social-links[data-v-63cad245]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-63cad245]:before,.translations+.appearance[data-v-63cad245]:before{margin-right:16px}.appearance+.social-links[data-v-63cad245]:before{margin-left:16px}.social-links[data-v-63cad245]{margin-right:-8px}.divider[data-v-63cad245]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-63cad245]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-63cad245]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-63cad245]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-63cad245]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-63cad245]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-63cad245]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-01da29ba]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-01da29ba]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-8ffd5011]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-8ffd5011]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-99f4497d]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-99f4497d]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-a37a870b]{display:block}.title[data-v-a37a870b]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-e2a9fdbf]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-e2a9fdbf]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-e2a9fdbf]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-e2a9fdbf]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-e2a9fdbf]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-e2a9fdbf]{transform:rotate(45deg)}.button[data-v-e2a9fdbf]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-e2a9fdbf]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-e2a9fdbf]{transition:transform .25s}.group[data-v-e2a9fdbf]:first-child{padding-top:0}.group+.group[data-v-e2a9fdbf],.group+.item[data-v-e2a9fdbf]{padding-top:4px}.VPNavScreenTranslations[data-v-de1d668d]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-de1d668d]{height:auto}.title[data-v-de1d668d]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-de1d668d]{font-size:16px}.icon.lang[data-v-de1d668d]{margin-right:8px}.icon.chevron[data-v-de1d668d]{margin-left:4px}.list[data-v-de1d668d]{padding:4px 0 0 24px}.link[data-v-de1d668d]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-f2624b07]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-f2624b07],.VPNavScreen.fade-leave-active[data-v-f2624b07]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-f2624b07],.VPNavScreen.fade-leave-active .container[data-v-f2624b07]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-f2624b07],.VPNavScreen.fade-leave-to[data-v-f2624b07]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-f2624b07],.VPNavScreen.fade-leave-to .container[data-v-f2624b07]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-f2624b07]{display:none}}.container[data-v-f2624b07]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-f2624b07],.menu+.appearance[data-v-f2624b07],.translations+.appearance[data-v-f2624b07]{margin-top:24px}.menu+.social-links[data-v-f2624b07]{margin-top:16px}.appearance+.social-links[data-v-f2624b07]{margin-top:16px}.VPNav[data-v-589e79fd]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-589e79fd]{position:fixed}}.VPSidebarItem.level-0[data-v-ebdf843f]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-ebdf843f]{padding-bottom:10px}.item[data-v-ebdf843f]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-ebdf843f]{cursor:pointer}.indicator[data-v-ebdf843f]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-ebdf843f],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-ebdf843f],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-ebdf843f],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-ebdf843f]{background-color:var(--vp-c-brand-1)}.link[data-v-ebdf843f]{display:flex;align-items:center;flex-grow:1}.text[data-v-ebdf843f]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-ebdf843f]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-ebdf843f],.VPSidebarItem.level-2 .text[data-v-ebdf843f],.VPSidebarItem.level-3 .text[data-v-ebdf843f],.VPSidebarItem.level-4 .text[data-v-ebdf843f],.VPSidebarItem.level-5 .text[data-v-ebdf843f]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-ebdf843f],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-ebdf843f],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-ebdf843f],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-ebdf843f],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-ebdf843f],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-ebdf843f]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-1.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-2.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-3.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-4.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-5.has-active>.item>.text[data-v-ebdf843f],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-ebdf843f],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-ebdf843f],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-ebdf843f],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-ebdf843f],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-ebdf843f],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-ebdf843f]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-ebdf843f],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-ebdf843f],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-ebdf843f],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-ebdf843f],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-ebdf843f],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-ebdf843f]{color:var(--vp-c-brand-1)}.caret[data-v-ebdf843f]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-ebdf843f]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-ebdf843f]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-ebdf843f]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-ebdf843f]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-ebdf843f],.VPSidebarItem.level-2 .items[data-v-ebdf843f],.VPSidebarItem.level-3 .items[data-v-ebdf843f],.VPSidebarItem.level-4 .items[data-v-ebdf843f],.VPSidebarItem.level-5 .items[data-v-ebdf843f]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-ebdf843f]{display:none}.no-transition[data-v-767e70d5] .caret-icon{transition:none}.group+.group[data-v-767e70d5]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-767e70d5]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-4bfecd24]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-4bfecd24]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-4bfecd24]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-4bfecd24]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-4bfecd24]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-4bfecd24]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-4bfecd24]{outline:0}.VPSkipLink[data-v-35b2da14]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-35b2da14]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-35b2da14]{top:14px;left:16px}}.Layout[data-v-2ef56004]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-354168b6]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-354168b6]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-354168b6]{margin:128px 0}}.VPHomeSponsors[data-v-354168b6]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-354168b6]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-354168b6]{padding:0 64px}}.container[data-v-354168b6]{margin:0 auto;max-width:1152px}.love[data-v-354168b6]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-354168b6]{display:inline-block}.message[data-v-354168b6]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-354168b6]{padding-top:32px}.action[data-v-354168b6]{padding-top:40px;text-align:center}.VPTeamPage[data-v-19a87c9f]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-19a87c9f]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-19a87c9f-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-19a87c9f-s],.VPTeamMembers+.VPTeamPageSection[data-v-19a87c9f-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-19a87c9f-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-19a87c9f-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-19a87c9f-s],.VPTeamMembers+.VPTeamPageSection[data-v-19a87c9f-s]{margin-top:96px}}.VPTeamMembers[data-v-19a87c9f-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-19a87c9f-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-19a87c9f-s]{padding:0 64px}}.VPTeamPageTitle[data-v-1456aeb2]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-1456aeb2]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-1456aeb2]{padding:80px 64px 48px}}.title[data-v-1456aeb2]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-1456aeb2]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-1456aeb2]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-1456aeb2]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-32b00d9d]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-32b00d9d]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-32b00d9d]{padding:0 64px}}.title[data-v-32b00d9d]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-32b00d9d]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-32b00d9d]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-32b00d9d]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-32b00d9d]{padding-top:40px}.VPTeamMembersItem[data-v-0e30b9bb]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-0e30b9bb]{padding:32px}.VPTeamMembersItem.small .data[data-v-0e30b9bb]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-0e30b9bb]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-0e30b9bb]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-0e30b9bb]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-0e30b9bb]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-0e30b9bb]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-0e30b9bb]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-0e30b9bb]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-0e30b9bb]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-0e30b9bb]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-0e30b9bb]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-0e30b9bb]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-0e30b9bb]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-0e30b9bb]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-0e30b9bb]{text-align:center}.avatar[data-v-0e30b9bb]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-0e30b9bb]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-0e30b9bb]{margin:0;font-weight:600}.affiliation[data-v-0e30b9bb]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-0e30b9bb]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-0e30b9bb]:hover{color:var(--vp-c-brand-1)}.desc[data-v-0e30b9bb]{margin:0 auto}.desc[data-v-0e30b9bb] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-0e30b9bb]{display:flex;justify-content:center;height:56px}.sp-link[data-v-0e30b9bb]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-0e30b9bb]:hover,.sp .sp-link.link[data-v-0e30b9bb]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-0e30b9bb]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-05bdb48c]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-05bdb48c]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-05bdb48c]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-05bdb48c]{max-width:876px}.VPTeamMembers.medium .container[data-v-05bdb48c]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-05bdb48c]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-05bdb48c]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-05bdb48c]{max-width:760px}.container[data-v-05bdb48c]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-home-hero-image-background-image: linear-gradient( -45deg, #42d392 50%, #47caff 50% );--vp-home-hero-image-filter: blur(50px)}html.dark{color-scheme:dark}html.light{color-scheme:light}html{scroll-behavior:smooth}.vp-doc h2{border:none;margin-top:10px}.vp-doc h2:first-child{border-top:1px}.VPLocalNav{padding-top:0!important;margin-top:var(--vp-layout-top-height)}.reached-top{top:var(--vp-layout-top-height)!important}.banner~.reached-top{top:0!important}.VPNav{transition:background-color .5s,top .35s ease-out!important}#app a:focus-visible,#app button:focus-visible,#app input[type=checkbox]:focus-visible{--at-apply: outline-1 outline-primary ring-2 ring-primary}.VPSidebar::-webkit-scrollbar{background:transparent;height:8px;width:8px;margin-right:8px}#app>div>div.VPLocalNav>div>div>div.outline{outline-style:none!important}.vp-doc .color-swatch{display:inline-block;width:.85em;height:.85em;min-width:12px;min-height:12px;font-size:inherit;border:0;border-radius:2px;margin:0 3px 0 6px;cursor:pointer}.medium-zoom-overlay{z-index:20}.medium-zoom-image{z-index:21}@keyframes slide-enter{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:100}}@media (prefers-reduced-motion: no-preference){html:not(.no-sliding) [slide-enter],html:not(.no-sliding) .slide-enter,html:not(.no-sliding) .main>div>*,html:not(.no-sliding) #VPContent>div>div.VPFeatures.VPHomeFeatures>*,html:not(.no-sliding) .TeamPage>*,html:not(.no-sliding) .VPHomeHero>*{--enter-stage: 0;--enter-step: 90ms;--enter-initial: 0ms;animation:slide-enter 1s both 1;animation-delay:calc(var(--enter-initial) + var(--enter-stage) * var(--enter-step))}.main>div>*:nth-child(1){--enter-stage: 1}.main>div>*:nth-child(2){--enter-stage: 2}.main>div>*:nth-child(3){--enter-stage: 3}.main>div>*:nth-child(4){--enter-stage: 4}.main>div>*:nth-child(5){--enter-stage: 5}.main>div>*:nth-child(6){--enter-stage: 6}.main>div>*:nth-child(7){--enter-stage: 7}.main>div>*:nth-child(8){--enter-stage: 8}.main>div>*:nth-child(9){--enter-stage: 9}.main>div>*:nth-child(10){--enter-stage: 10}.main>div>*:nth-child(11){--enter-stage: 11}.main>div>*:nth-child(12){--enter-stage: 12}.main>div>*:nth-child(13){--enter-stage: 13}.main>div>*:nth-child(14){--enter-stage: 14}.main>div>*:nth-child(15){--enter-stage: 15}.main>div>*:nth-child(16){--enter-stage: 16}.main>div>*:nth-child(17){--enter-stage: 17}.main>div>*:nth-child(18){--enter-stage: 18}.main>div>*:nth-child(19){--enter-stage: 19}.main>div>*:nth-child(20){--enter-stage: 20}}.linkcard{background-color:var(--vp-c-bg-soft);border-radius:8px;padding:8px 16px 8px 8px;transition:color .5s,background-color .5s}.linkcard:hover{background-color:var(--vp-c-yellow-soft)}.linkcard a{display:flex;align-items:center}.linkcard .description{flex:1;font-weight:500;font-size:16px;line-height:25px;color:var(--vp-c-text-1);margin:0 0 0 16px;transition:color .5s}.linkcard .description span{font-size:14px}.linkcard .logo img{width:80px;object-fit:contain}.vp-doc a{text-decoration:none}.vp-card{display:inline-flex;align-items:center;border-radius:.5rem;background-color:var(--vp-c-bg-alt);color:inherit;transition:all .5s,box-shadow .25s ease,border-color .25s ease!important;text-decoration:none!important}.vp-card-hover:hover{transform:translate3d(0,-4px,0);box-shadow:var(--vp-shadow-2)}.vp-card-theme-normal{max-width:360px;margin:1rem .5rem;padding:1rem}.vp-card-theme-normal hr{margin:.25em 0}@media (max-width: 419px){.vp-card-theme-normal{max-width:95%}}.vp-card-icon{width:2em!important;height:2em!important;background-color:var(--vp-c-bg-soft);margin-right:1em;padding:1em}.vp-card-logo{width:3em;height:3em;margin-right:1em;border-radius:50%}.vp-card-content{flex:1;width:calc(100% - 6em)}.vp-card-title{font-weight:500;font-size:1.1em;width:95%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vp-card-desc{color:#888;font-size:.9em;line-height:1.5;overflow-wrap:anywhere}.vp-card-container{display:flex;flex-wrap:wrap;align-content:stretch;align-items:stretch;justify-content:center}.vp-card-container .vp-card{flex-basis:calc(50% - 3rem);max-width:unset;margin:.5rem}@media (max-width: 959px){.vp-card-container .vp-card{flex-basis:100%}}@media (max-width: 719px){.vp-card-container .vp-card{font-size:.95rem}}@media (max-width: 419px){.vp-card-container .vp-card{font-size:.9rem}}.vp-card-theme-medium{width:100%;margin:1rem .5rem;padding:.38rem}.vp-card-theme-medium .vp-card-logo{width:2.5em;height:2.5em}.vp-card-theme-medium .vp-card-icon{margin-left:.5em}.vp-card-theme-medium .vp-card-title{font-size:1em}.vp-card-theme-medium .vp-card-desc{width:95%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vp-card-theme-medium:after{content:"";--card-icon: url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M6 7c0 .55.45 1 1 1h7.59l-8.88 8.88a.996.996 0 1 0 1.41 1.41L16 9.41V17c0 .55.45 1 1 1s1-.45 1-1V7c0-.55-.45-1-1-1H7c-.55 0-1 .45-1 1z'/%3E%3C/svg%3E");mask:var(--card-icon) no-repeat!important;-webkit-mask:var(--card-icon) no-repeat!important;mask-position:center;-webkit-mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;width:28px!important;height:28px!important;margin-top:8px!important;color:currentColor!important}.vp-card-theme-medium hr{display:none}.i-custom-txc{background:url(https://yuanshen.site/docs/svg/txc.svg) no-repeat;background-size:100% 100%;background-color:transparent}:root{--timeline-title-text: #000}html.dark{--timeline-title-text: #fff}.timeline-dot{position:relative;padding:0 0 18px 24px;color:#adadad;box-sizing:border-box}.timeline-dot:before{position:absolute;left:0;top:0;content:"";width:16px;height:16px;border-radius:50%;border:solid 1px var(--vp-c-brand);transform:translateY(18%)}.timeline-dot:after{position:absolute;left:7px;top:19px;content:"";width:2px;height:calc(100% - 18px);background-color:#e9e9e9}.timeline-dot .timeline-dot-title{color:var(--timeline-title-text);font-size:24px;font-weight:700}.VPLocalSearchBox[data-v-0a77d701]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-0a77d701]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-0a77d701]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-0a77d701]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-0a77d701]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-0a77d701]{padding:0 8px}}.search-bar[data-v-0a77d701]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-0a77d701]{display:block;font-size:18px}.navigate-icon[data-v-0a77d701]{display:block;font-size:14px}.search-icon[data-v-0a77d701]{margin:8px}@media (max-width: 767px){.search-icon[data-v-0a77d701]{display:none}}.search-input[data-v-0a77d701]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-0a77d701]{padding:6px 4px}}.search-actions[data-v-0a77d701]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-0a77d701]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-0a77d701]{display:none}}.search-actions button[data-v-0a77d701]{padding:8px}.search-actions button[data-v-0a77d701]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-0a77d701]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-0a77d701]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-0a77d701]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-0a77d701]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-0a77d701]{display:none}}.search-keyboard-shortcuts kbd[data-v-0a77d701]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-0a77d701]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-0a77d701]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-0a77d701]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-0a77d701]{margin:8px}}.titles[data-v-0a77d701]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-0a77d701]{display:flex;align-items:center;gap:4px}.title.main[data-v-0a77d701]{font-weight:500}.title-icon[data-v-0a77d701]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-0a77d701]{opacity:.5}.result.selected[data-v-0a77d701]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-0a77d701]{position:relative}.excerpt[data-v-0a77d701]{opacity:50%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;margin-top:4px}.result.selected .excerpt[data-v-0a77d701]{opacity:1}.excerpt[data-v-0a77d701] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-0a77d701] mark,.excerpt[data-v-0a77d701] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-0a77d701] .vp-code-group .tabs{display:none}.excerpt[data-v-0a77d701] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-0a77d701]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-0a77d701]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-0a77d701],.result.selected .title-icon[data-v-0a77d701]{color:var(--vp-c-brand-1)!important}.no-results[data-v-0a77d701]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-0a77d701]{flex:none} diff --git a/maisk_fiage/webroot/assets/team.md.C-bccHex.js b/maisk_fiage/webroot/assets/team.md.C-bccHex.js new file mode 100644 index 0000000..3a09be3 --- /dev/null +++ b/maisk_fiage/webroot/assets/team.md.C-bccHex.js @@ -0,0 +1 @@ +import{_ as u,o as n,c as i,j as e,p as q,d as w,t as p,n as B,h as S,b as g,w as d,r as b,e as h,H as j,B as I,G as l,k as r,a as m,F as k,C as $}from"./chunks/framework.BXE2pAXj.js";const x={},E={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function F(a,s){return n(),i("svg",E,s[0]||(s[0]=[e("path",{d:"M16,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3l-5.3-5.3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C16.5,18.9,16.3,19,16,19z"},null,-1),e("path",{d:"M8,19c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4l6-6c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4L3.4,12l5.3,5.3c0.4,0.4,0.4,1,0,1.4C8.5,18.9,8.3,19,8,19z"},null,-1)]))}const Z=u(x,[["render",F]]),D={},N={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function A(a,s){return n(),i("svg",N,s[0]||(s[0]=[e("path",{d:"M24,16a1.11,1.11,0,0,0,0-.19V8.18A1.11,1.11,0,0,0,24,8a.13.13,0,0,1,0-.06,1.14,1.14,0,0,0-.15-.34s0,0,0,0l0,0a1,1,0,0,0-.27-.26h0L12.59.17,12.48.12l-.1,0a1.1,1.1,0,0,0-.76,0l-.1,0-.11.05L.5,7.26a1,1,0,0,0-.27.26l0,0s0,0,0,0A1.14,1.14,0,0,0,0,7.93.13.13,0,0,1,0,8a1.11,1.11,0,0,0,0,.19v7.63A1.11,1.11,0,0,0,0,16a.13.13,0,0,1,0,.06,1,1,0,0,0,.15.34l0,0,0,0a1,1,0,0,0,.27.26l10.91,7.09.11.05.1.05a.94.94,0,0,0,.76,0l.1-.05.11-.05L23.5,16.73a1.2,1.2,0,0,0,.28-.27s0,0,0,0l0,0a1.19,1.19,0,0,0,.15-.35A.13.13,0,0,1,24,16ZM2.18,10.27,4.64,12,2.18,13.72ZM12,14.48,8.45,12,12,9.51,15.55,12Zm1.09-6.87V3.1L21,8.21l-3.51,2.45Zm-2.18,0L6.55,10.66,3,8.21,10.91,3.1ZM6.55,13.33l4.36,3V20.9L3,15.78Zm6.54,3,4.36-3L21,15.78,13.09,20.9ZM19.36,12l2.46-1.73v3.45Z"},null,-1)]))}const G=u(D,[["render",A]]),R={},O={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"};function U(a,s){return n(),i("svg",O,s[0]||(s[0]=[e("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),e("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1)]))}const W=u(R,[["render",U]]),J={},X={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function K(a,s){return n(),i("svg",X,s[0]||(s[0]=[e("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},null,-1)]))}const Q=u(J,[["render",K]]),Y={},e1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function s1(a,s){return n(),i("svg",e1,s[0]||(s[0]=[e("path",{d:"M12,1C5.9,1,1,5.9,1,12s4.9,11,11,11s11-4.9,11-11S18.1,1,12,1z M20.9,11h-4c-0.2-2.8-1.1-5.4-2.7-7.7C17.8,4.2,20.5,7.3,20.9,11zM9.1,13h5.9c-0.3,2.7-1.3,5.3-2.9,7.4C10.3,18.3,9.3,15.7,9.1,13zM9.1,11c0.3-2.7,1.3-5.3,2.9-7.4c1.7,2.2,2.7,4.8,2.9,7.4H9.1z M9.7,3.3C8.2,5.6,7.3,8.2,7.1,11h-4C3.5,7.3,6.2,4.2,9.7,3.3zM3.1,13h4c0.2,2.8,1.1,5.4,2.7,7.7C6.2,19.8,3.5,16.7,3.1,13z M14.3,20.7c1.5-2.3,2.4-4.9,2.7-7.7h4C20.5,16.7,17.8,19.8,14.3,20.7z"},null,-1)]))}const t1=u(Y,[["render",s1]]),n1={},o1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function i1(a,s){return n(),i("svg",o1,s[0]||(s[0]=[e("path",{d:"M12,22.2c-0.3,0-0.5-0.1-0.7-0.3l-8.8-8.8c-2.5-2.5-2.5-6.7,0-9.2c2.5-2.5,6.7-2.5,9.2,0L12,4.3l0.4-0.4c0,0,0,0,0,0C13.6,2.7,15.2,2,16.9,2c0,0,0,0,0,0c1.7,0,3.4,0.7,4.6,1.9l0,0c1.2,1.2,1.9,2.9,1.9,4.6c0,1.7-0.7,3.4-1.9,4.6l-8.8,8.8C12.5,22.1,12.3,22.2,12,22.2zM7,4C5.9,4,4.7,4.4,3.9,5.3c-1.8,1.8-1.8,4.6,0,6.4l8.1,8.1l8.1-8.1c0.9-0.9,1.3-2,1.3-3.2c0-1.2-0.5-2.3-1.3-3.2l0,0C19.3,4.5,18.2,4,17,4c0,0,0,0,0,0c-1.2,0-2.3,0.5-3.2,1.3c0,0,0,0,0,0l-1.1,1.1c-0.4,0.4-1,0.4-1.4,0l-1.1-1.1C9.4,4.4,8.2,4,7,4z"},null,-1)]))}const a1=u(n1,[["render",i1]]),l1={},c1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function r1(a,s){return n(),i("svg",c1,s[0]||(s[0]=[e("path",{d:"M14,16c-1.8,0-3.6-0.8-4.8-2.4c-0.3-0.4-0.2-1.1,0.2-1.4c0.4-0.3,1.1-0.2,1.4,0.2c1.3,1.8,3.8,2.1,5.6,0.8c0.2-0.1,0.3-0.2,0.4-0.4l3-3c1.5-1.6,1.5-4.1-0.1-5.6c-1.6-1.5-4-1.5-5.6,0l-1.7,1.7c-0.4,0.4-1,0.4-1.4,0c-0.4-0.4-0.4-1,0-1.4l1.7-1.7c2.3-2.3,6-2.3,8.3,0c2.4,2.3,2.4,6.1,0.1,8.5l-3,3c-0.2,0.2-0.4,0.4-0.7,0.6C16.5,15.6,15.3,16,14,16z"},null,-1),e("path",{d:"M7.1,22.9c-1.5,0-3-0.6-4.2-1.7c-2.4-2.3-2.4-6.1-0.1-8.5l3-3C6,9.6,6.2,9.4,6.4,9.2c1.3-1,2.9-1.4,4.4-1.1c1.6,0.2,3,1.1,3.9,2.3c0.3,0.4,0.2,1.1-0.2,1.4c-0.4,0.3-1.1,0.2-1.4-0.2c-0.6-0.9-1.6-1.4-2.6-1.6c-1.1-0.2-2.1,0.1-3,0.8c-0.2,0.1-0.3,0.2-0.4,0.4l-3,3c-1.5,1.6-1.5,4.1,0.1,5.6c1.6,1.5,4,1.5,5.6,0l1.7-1.7c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.7,1.7C10.1,22.4,8.6,22.9,7.1,22.9z"},null,-1)]))}const d1=u(l1,[["render",r1]]),m1={},u1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function h1(a,s){return n(),i("svg",u1,s[0]||(s[0]=[e("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"},null,-1)]))}const p1=u(m1,[["render",h1]]),_1={},f1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function b1(a,s){return n(),i("svg",f1,s[0]||(s[0]=[e("path",{d:"M12,24c-0.2,0-0.4-0.1-0.6-0.2C11.1,23.6,2,17.4,2,10C2,4.5,6.5,0,12,0c5.5,0,10,4.5,10,10c0,7.4-9.1,13.6-9.4,13.8C12.4,23.9,12.2,24,12,24zM12,2c-4.4,0-8,3.6-8,8c0,5.4,6.1,10.4,8,11.8c1.9-1.4,8-6.4,8-11.8C20,5.6,16.4,2,12,2z"},null,-1),e("path",{d:"M12,14c-2.2,0-4-1.8-4-4s1.8-4,4-4c2.2,0,4,1.8,4,4S14.2,14,12,14zM12,8c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,8,12,8z"},null,-1)]))}const g1=u(_1,[["render",b1]]),w1={},v1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function y1(a,s){return n(),i("svg",v1,s[0]||(s[0]=[e("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"},null,-1)]))}const k1=u(w1,[["render",y1]]);q();const $1=w({__name:"VTMenuBadge",props:{item:{}},setup(a){return(s,o)=>(n(),i("span",{class:B(["vt-menu-badge",s.item.type])},p(s.item.text),3))}}),_=w({__name:"VTLink",props:{href:{},noIcon:{type:Boolean},badge:{}},setup(a){const s=a,o=S(()=>s.href&&/^[a-z]+:/i.test(s.href));return(t,c)=>(n(),g(j(t.href?"a":"span"),{class:B(["vt-link",{link:t.href}]),href:t.href,target:o.value?"_blank":void 0,rel:o.value?"noopener noreferrer":void 0},{default:d(()=>[b(t.$slots,"default"),t.badge?(n(),g($1,{key:0,item:t.badge},null,8,["item"])):h("",!0),o.value&&!t.noIcon?(n(),g(W,{key:1,class:"vt-link-icon"})):h("",!0)]),_:3},8,["class","href","target","rel"]))}}),P=typeof window<"u",C1=q(P?location.hash:"");P&&window.addEventListener("hashchange",()=>{C1.value=location.hash});if(typeof window<"u"){var M={get passive(){}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}const z=[{location:"China",name:"chenzyadb",qq:1834634747,title:"CuprumTurbo Scheduler开发者",company:"千人之诺诺, 不如一士之谔谔",companyLink:"",languages:["English","Chinese"],projects:[{label:"CuprumTurbo-Scheduler",url:"https://github.com/chenzyadb/CuprumTurbo-Scheduler"},{label:"CuToolbox",url:"https://github.com/chenzyadb/CuprumTurbo-Scheduler"}],socials:{github:"chenzyadb"}}],L=[{gender:1,location:"China",name:"NightRainMilkyWay",qq:3293811490,title:"Tritium - docs",languages:["English","Chinese"],website:{label:"nightrainmilkyway.cn",url:"https://nightrainmilkyway.cn"},company:"这世界很宽容,宽容到绝对可以允许抬高三公分的枪口,也可以宽容到每个人都可以问心无愧的活着。没有人理应去要求你爱这个世界,但我由衷的希望你爱着自己",companyLink:"https://github.com/nightrainmilkyway",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"},{label:"Tritium - docs",url:"https://github.com/nightrainmilkyway/Tritium_docs"}],socials:{github:"nightrainmilkyway",gitee:"nightrainmilkyways",coolapk:"21210032"}},{gender:1,location:"China",name:"Suni",qq:1548211759,title:"Tritium",languages:["Chinese"],company:"与其仰望星空,不如去做摘星星的人。",companyLink:"https://github.com/Suni-code",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{github:"Suni-code",coolapk:"19969152"}},{gender:2,location:"China",name:"Fiage",qq:3551226104,title:"Tritium ",languages:["Chinese"],company:"混吃等死",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{coolapk:"3922059"}},{gender:3,location:"China",name:"fangzy(Active Grass Spirit)",qq:2452328276,title:"Tritium ",languages:["Chinese"],company:"无",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{}}],V=[{gender:1,location:"China",name:"忘渐",qq:2362958303,title:"Tritium - docs",languages:["Chinese"],company:"往初见亦随心,愿初见似随心",companyLink:"https://github.com/shuerchi",socials:{github:"shuerchi",coolapk:"4172193"}},{gender:1,location:"China",name:"luke",qq:1959655708,title:"Tritium - docs",languages:["Chinese"],company:"关注作者别关注我"}],T1={},M1={class:"TeamHero"},z1={class:"container"},L1={class:"title"},V1={class:"lead"},q1={class:"action"};function B1(a,s){return n(),i("div",M1,[e("div",z1,[e("h1",L1,[b(a.$slots,"title",{},void 0,!0)]),e("p",V1,[b(a.$slots,"lead",{},void 0,!0)]),e("p",q1,[b(a.$slots,"action",{},void 0,!0)])])])}const S1=u(T1,[["render",B1],["__scopeId","data-v-e509d88a"]]),I1={class:"TeamMember"},P1={class:"avatar"},H1=["src","alt"],j1={class:"data"},x1={class:"name"},E1={class:"org"},F1={key:0,class:"nowrap"},Z1={key:1,class:"company"},D1={class:"profiles"},N1={key:0,class:"desc"},A1={class:"desc-title"},G1={class:"desc-list"},R1={class:"desc"},O1={class:"desc-title"},U1={class:"desc-text"},W1={class:"desc"},J1={class:"desc-title"},X1={class:"desc-list"},K1={key:1,class:"desc"},Q1={class:"desc-title"},Y1={class:"desc-text"},e3={class:"social-list"},s3={key:0,class:"social-item"},t3={key:1,class:"social-item"},n3={key:2,class:"social-item"},o3={key:3,class:"social-item"},i3={key:4,class:"social-item"},a3=w({__name:"TeamMember",props:{member:{}},setup(a){const s=a,o=S(()=>s.member.avatarPic??`https://q1.qlogo.cn/g?b=qq&nk=${s.member.qq}&s=640`);return(t,c)=>{var C,T;const H=I("Link");return n(),i("article",I1,[t.member.sponsor?(n(),g(r(_),{key:0,class:"sponsor",href:`https://github.com/sponsors/${t.member.socials.github}`,"no-icon":""},{default:d(()=>[l(r(a1),{class:"sponsor-icon"}),c[0]||(c[0]=m(" Sponsor "))]),_:1},8,["href"])):h("",!0),e("figure",P1,[e("img",{class:"avatar-img",src:o.value,alt:`${t.member.name}'s Profile Picture`},null,8,H1)]),e("div",j1,[e("h1",x1,p(t.member.name),1),e("p",E1,[m(p(t.member.title)+" ",1),t.member.company?(n(),i("span",F1,[c[1]||(c[1]=m(" @ ")),t.member.companyLink?(n(),g(r(_),{key:0,class:"company link",href:t.member.companyLink,"no-icon":!0},{default:d(()=>[m(p(t.member.company),1)]),_:1},8,["href"])):(n(),i("span",Z1,p(t.member.company),1))])):h("",!0)]),e("div",D1,[t.member.projects?(n(),i("section",N1,[e("div",A1,[c[2]||(c[2]=e("h2",{class:"sr-only"},"Projects",-1)),l(r(Z),{class:"desc-icon code"})]),e("ul",G1,[(n(!0),i(k,null,$(t.member.projects,f=>(n(),i("li",{key:f.label,class:"desc-item"},[l(r(_),{class:"desc-link",href:f.url,"no-icon":!0},{default:d(()=>[m(p(f.label),1)]),_:2},1032,["href"])]))),128))])])):h("",!0),e("section",R1,[e("div",O1,[c[3]||(c[3]=e("h2",{class:"sr-only"},"Location",-1)),l(r(g1),{class:"desc-icon"})]),e("p",U1,p(t.member.location),1)]),e("section",W1,[e("div",J1,[c[4]||(c[4]=e("h2",{class:"sr-only"},"Languages",-1)),l(r(t1),{class:"desc-icon"})]),e("ul",X1,[(n(!0),i(k,null,$(t.member.languages,f=>(n(),i("li",{key:f,class:"desc-item"},p(f),1))),128))])]),t.member.website?(n(),i("section",K1,[e("div",Q1,[c[5]||(c[5]=e("h2",{class:"sr-only"},"Website",-1)),l(r(d1),{class:"desc-icon"})]),e("p",Y1,[l(r(_),{class:"desc-link",href:t.member.website.url,"no-icon":!0},{default:d(()=>[m(p(t.member.website.label),1)]),_:1},8,["href"])])])):h("",!0),e("ul",e3,[(C=t.member.socials)!=null&&C.coolapk?(n(),i("li",s3,[l(H,{class:"social-link",href:`http://www.coolapk.com/u/${(T=t.member.socials)==null?void 0:T.coolapk}`,"no-icon":!0},{default:d(()=>c[6]||(c[6]=[e("svg",{t:"1706379299153",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4358",width:"25",height:"25"},[e("path",{d:"M445.493333 46.72c95.733333-13.653333 195.626667 2.613333 281.493334 47.253333 92.373333 47.36 168.16 126.24 211.626666 220.48 46.986667 100.426667 56.16 217.706667 26.24 324.426667-26.24 94.293333-82.826667 180-159.573333 240.8-72.586667 58.133333-162.826667 94.24-255.68 101.013333-116.586667 10.293333-236.32-26.186667-328.053333-98.773333-66.08-51.52-117.546667-121.44-147.893334-199.466667-44.106667-112.48-42.186667-242.133333 5.226667-353.226666 61.866667-149.6 206.026667-261.226667 366.613333-282.506667M270.4 350.08c-61.76 30.453333-102.986667 98.4-99.413333 167.413333 0.693333 66.666667 42.72 130.24 102.933333 158.293334 39.253333 19.04 84.853333 21.173333 127.093333 12.64 49.12-10.293333 90.453333-41.973333 124.8-77.173334 53.6-54.72 86.453333-124.96 129.6-187.36 22.666667 41.173333 45.333333 82.346667 67.786667 123.573334-24.586667-15.786667-46.773333-35.04-72.16-49.653334-16.746667 11.946667-33.28 24.213333-50.186667 35.946667 62.08 49.013333 126.666667 94.826667 190.026667 142.186667 12.96 8.746667 27.84 23.253333 44.64 14.666666 17.6-7.146667 22.613333-30.346667 12.106667-45.44-52.373333-99.466667-108.48-196.906667-163.253334-295.093333-5.653333-13.066667-19.626667-22.773333-34.24-18.56-13.493333 2.133333-20.266667 15.52-27.146666 25.76-32.106667 52.8-61.813333 107.146667-97.44 157.76-33.866667 48.213333-77.12 96.373333-136.586667 110.88-58.026667 15.2-126.026667-14.506667-148.213333-71.68-17.813333-46.133333-2.933333-102.613333 36.533333-132.8 35.946667-29.013333 86.72-31.093333 129.386667-17.653333 42.666667 13.76 76.533333 44.48 110.773333 72.053333 17.493333-12.053333 36-23.146667 50.986667-38.4-44.96-39.84-93.013333-79.306667-151.146667-97.76-48.16-12.64-101.813333-13.12-146.88 10.4z",fill:"#0f9d58","p-id":"4359"}),e("path",{d:"M270.4 350.08c45.066667-23.52 98.72-23.04 146.88-10.4 58.133333 18.453333 106.186667 57.92 151.146667 97.76-14.986667 15.253333-33.493333 26.346667-50.986667 38.4-34.24-27.573333-68.106667-58.293333-110.773333-72.053333-42.666667-13.44-93.44-11.36-129.386667 17.653333-39.466667 30.186667-54.346667 86.666667-36.533333 132.8 22.186667 57.173333 90.186667 86.88 148.213333 71.68 59.466667-14.506667 102.72-62.666667 136.586667-110.88 35.626667-50.613333 65.333333-104.96 97.44-157.76 6.88-10.24 13.653333-23.626667 27.146666-25.76 14.613333-4.213333 28.586667 5.493333 34.24 18.56 54.773333 98.186667 110.88 195.626667 163.253334 295.093333 10.506667 15.093333 5.493333 38.293333-12.106667 45.44-16.8 8.586667-31.68-5.92-44.64-14.666666-63.36-47.36-127.946667-93.173333-190.026667-142.186667 16.906667-11.733333 33.44-24 50.186667-35.946667 25.386667 14.613333 47.573333 33.866667 72.16 49.653334-22.453333-41.226667-45.12-82.4-67.786667-123.573334-43.146667 62.4-76 132.64-129.6 187.36-34.346667 35.2-75.68 66.88-124.8 77.173334-42.24 8.533333-87.84 6.4-127.093333-12.64-60.213333-28.053333-102.24-91.626667-102.933333-158.293334-3.573333-69.013333 37.653333-136.96 99.413333-167.413333z",fill:"#FFFFFF","p-id":"4360"})],-1)])),_:1},8,["href"])])):h("",!0),t.member.socials.github?(n(),i("li",t3,[l(r(_),{class:"social-link",href:`https://github.com/${t.member.socials.github}`,"no-icon":!0},{default:d(()=>[l(r(Q),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.twitter?(n(),i("li",n3,[l(r(_),{class:"social-link",href:`https://twitter.com/${t.member.socials.twitter}`,"no-icon":!0},{default:d(()=>[l(r(k1),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.linkedin?(n(),i("li",o3,[l(r(_),{class:"social-link",href:`https://www.linkedin.com/in/${t.member.socials.linkedin}`,"no-icon":!0},{default:d(()=>[l(r(p1),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.codepen?(n(),i("li",i3,[l(r(_),{class:"social-link",href:`https://codepen.io/${t.member.socials.codepen}`,"no-icon":!0},{default:d(()=>[l(r(G),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0)])])])])}}}),l3=u(a3,[["__scopeId","data-v-fde26a69"]]),c3={class:"TeamList"},r3={class:"container"},d3={class:"info"},m3={class:"title"},u3={class:"lead"},h3={class:"members"},p3=w({__name:"TeamList",props:{members:{}},setup(a){return(s,o)=>{const t=I("ClientOnly");return n(),i("section",c3,[e("div",r3,[e("div",d3,[e("h2",m3,[b(s.$slots,"title",{},void 0,!0)]),e("p",u3,[b(s.$slots,"lead",{},void 0,!0)])]),e("div",h3,[l(t,null,{default:d(()=>[(n(!0),i(k,null,$(s.members,c=>(n(),i("div",{key:c.name,class:"member"},[l(l3,{member:c},null,8,["member"])]))),128))]),_:1})])])])}}}),v=u(p3,[["__scopeId","data-v-8792b0f1"]]),_3={class:"TeamPage"},y=(a,s=!1)=>{let o=s?1:0,t=a.length-o;for(;t>0;){const c=Math.floor(Math.random()*t);[a[o+t-1],a[o+c]]=[a[o+c],a[o+t-1]],t--}},f3=w({__name:"TeamPage",setup(a){return y(z,!0),y(L),y(V),(s,o)=>(n(),i("div",_3,[l(S1,null,{title:d(()=>o[0]||(o[0]=[m("关于团队")])),lead:d(()=>o[1]||(o[1]=[m("Tritium的背后是一个基本来自中国的开源社区,他们为Tritium的诞生与维护做出了巨大贡献,以下是部分成员的个人信息 "),e("span",{class:"nowrap"},"featured below.",-1)])),action:d(()=>[l(r(_),{href:"https://github.com/TimeBreeze/Tritium"},{default:d(()=>o[2]||(o[2]=[m("Learn more about teams")])),_:1})]),_:1}),l(v,{members:r(z)},{title:d(()=>o[3]||(o[3]=[m("核心开发成员")])),lead:d(()=>o[4]||(o[4]=[m("我们感谢chenzyadb的项目开发, 他对Tritium的诞生以及上游维护与开发做出了核心贡献.")])),_:1},8,["members"]),l(v,{members:r(L)},{title:d(()=>o[5]||(o[5]=[m("社区维护伙伴")])),lead:d(()=>o[6]||(o[6]=[m("区维护伙伴是那些即将维护或分享自定义配置文件的人员,他们积极跟进上游并不断优化体验.乐于积极分享")])),_:1},8,["members"]),l(v,{members:r(V)},{title:d(()=>o[7]||(o[7]=[m("社区伙伴")])),lead:d(()=>o[8]||(o[8]=[m("社区伙伴是参与到本计划的反馈&测试人员,他们为我们提供了大量的矫正数据.")])),_:1},8,["members"])]))}}),b3=u(f3,[["__scopeId","data-v-69cdecb2"]]),v3=JSON.parse('{"title":"关于团队","titleTemplate":"Redemption Project","description":"","frontmatter":{"title":"关于团队","layout":"page","titleTemplate":"Redemption Project","aside":false,"banner":"开发中页面,仅预览"},"headers":[],"relativePath":"team.md","filePath":"team.md","lastUpdated":1700150922000}'),g3={name:"team.md"},y3=Object.assign(g3,{setup(a){return(s,o)=>(n(),i("div",null,[l(b3)]))}});export{v3 as __pageData,y3 as default}; diff --git a/maisk_fiage/webroot/assets/team.md.C-bccHex.lean.js b/maisk_fiage/webroot/assets/team.md.C-bccHex.lean.js new file mode 100644 index 0000000..3a09be3 --- /dev/null +++ b/maisk_fiage/webroot/assets/team.md.C-bccHex.lean.js @@ -0,0 +1 @@ +import{_ as u,o as n,c as i,j as e,p as q,d as w,t as p,n as B,h as S,b as g,w as d,r as b,e as h,H as j,B as I,G as l,k as r,a as m,F as k,C as $}from"./chunks/framework.BXE2pAXj.js";const x={},E={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function F(a,s){return n(),i("svg",E,s[0]||(s[0]=[e("path",{d:"M16,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3l-5.3-5.3c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C16.5,18.9,16.3,19,16,19z"},null,-1),e("path",{d:"M8,19c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4l6-6c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4L3.4,12l5.3,5.3c0.4,0.4,0.4,1,0,1.4C8.5,18.9,8.3,19,8,19z"},null,-1)]))}const Z=u(x,[["render",F]]),D={},N={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function A(a,s){return n(),i("svg",N,s[0]||(s[0]=[e("path",{d:"M24,16a1.11,1.11,0,0,0,0-.19V8.18A1.11,1.11,0,0,0,24,8a.13.13,0,0,1,0-.06,1.14,1.14,0,0,0-.15-.34s0,0,0,0l0,0a1,1,0,0,0-.27-.26h0L12.59.17,12.48.12l-.1,0a1.1,1.1,0,0,0-.76,0l-.1,0-.11.05L.5,7.26a1,1,0,0,0-.27.26l0,0s0,0,0,0A1.14,1.14,0,0,0,0,7.93.13.13,0,0,1,0,8a1.11,1.11,0,0,0,0,.19v7.63A1.11,1.11,0,0,0,0,16a.13.13,0,0,1,0,.06,1,1,0,0,0,.15.34l0,0,0,0a1,1,0,0,0,.27.26l10.91,7.09.11.05.1.05a.94.94,0,0,0,.76,0l.1-.05.11-.05L23.5,16.73a1.2,1.2,0,0,0,.28-.27s0,0,0,0l0,0a1.19,1.19,0,0,0,.15-.35A.13.13,0,0,1,24,16ZM2.18,10.27,4.64,12,2.18,13.72ZM12,14.48,8.45,12,12,9.51,15.55,12Zm1.09-6.87V3.1L21,8.21l-3.51,2.45Zm-2.18,0L6.55,10.66,3,8.21,10.91,3.1ZM6.55,13.33l4.36,3V20.9L3,15.78Zm6.54,3,4.36-3L21,15.78,13.09,20.9ZM19.36,12l2.46-1.73v3.45Z"},null,-1)]))}const G=u(D,[["render",A]]),R={},O={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"};function U(a,s){return n(),i("svg",O,s[0]||(s[0]=[e("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),e("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1)]))}const W=u(R,[["render",U]]),J={},X={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function K(a,s){return n(),i("svg",X,s[0]||(s[0]=[e("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},null,-1)]))}const Q=u(J,[["render",K]]),Y={},e1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function s1(a,s){return n(),i("svg",e1,s[0]||(s[0]=[e("path",{d:"M12,1C5.9,1,1,5.9,1,12s4.9,11,11,11s11-4.9,11-11S18.1,1,12,1z M20.9,11h-4c-0.2-2.8-1.1-5.4-2.7-7.7C17.8,4.2,20.5,7.3,20.9,11zM9.1,13h5.9c-0.3,2.7-1.3,5.3-2.9,7.4C10.3,18.3,9.3,15.7,9.1,13zM9.1,11c0.3-2.7,1.3-5.3,2.9-7.4c1.7,2.2,2.7,4.8,2.9,7.4H9.1z M9.7,3.3C8.2,5.6,7.3,8.2,7.1,11h-4C3.5,7.3,6.2,4.2,9.7,3.3zM3.1,13h4c0.2,2.8,1.1,5.4,2.7,7.7C6.2,19.8,3.5,16.7,3.1,13z M14.3,20.7c1.5-2.3,2.4-4.9,2.7-7.7h4C20.5,16.7,17.8,19.8,14.3,20.7z"},null,-1)]))}const t1=u(Y,[["render",s1]]),n1={},o1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function i1(a,s){return n(),i("svg",o1,s[0]||(s[0]=[e("path",{d:"M12,22.2c-0.3,0-0.5-0.1-0.7-0.3l-8.8-8.8c-2.5-2.5-2.5-6.7,0-9.2c2.5-2.5,6.7-2.5,9.2,0L12,4.3l0.4-0.4c0,0,0,0,0,0C13.6,2.7,15.2,2,16.9,2c0,0,0,0,0,0c1.7,0,3.4,0.7,4.6,1.9l0,0c1.2,1.2,1.9,2.9,1.9,4.6c0,1.7-0.7,3.4-1.9,4.6l-8.8,8.8C12.5,22.1,12.3,22.2,12,22.2zM7,4C5.9,4,4.7,4.4,3.9,5.3c-1.8,1.8-1.8,4.6,0,6.4l8.1,8.1l8.1-8.1c0.9-0.9,1.3-2,1.3-3.2c0-1.2-0.5-2.3-1.3-3.2l0,0C19.3,4.5,18.2,4,17,4c0,0,0,0,0,0c-1.2,0-2.3,0.5-3.2,1.3c0,0,0,0,0,0l-1.1,1.1c-0.4,0.4-1,0.4-1.4,0l-1.1-1.1C9.4,4.4,8.2,4,7,4z"},null,-1)]))}const a1=u(n1,[["render",i1]]),l1={},c1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function r1(a,s){return n(),i("svg",c1,s[0]||(s[0]=[e("path",{d:"M14,16c-1.8,0-3.6-0.8-4.8-2.4c-0.3-0.4-0.2-1.1,0.2-1.4c0.4-0.3,1.1-0.2,1.4,0.2c1.3,1.8,3.8,2.1,5.6,0.8c0.2-0.1,0.3-0.2,0.4-0.4l3-3c1.5-1.6,1.5-4.1-0.1-5.6c-1.6-1.5-4-1.5-5.6,0l-1.7,1.7c-0.4,0.4-1,0.4-1.4,0c-0.4-0.4-0.4-1,0-1.4l1.7-1.7c2.3-2.3,6-2.3,8.3,0c2.4,2.3,2.4,6.1,0.1,8.5l-3,3c-0.2,0.2-0.4,0.4-0.7,0.6C16.5,15.6,15.3,16,14,16z"},null,-1),e("path",{d:"M7.1,22.9c-1.5,0-3-0.6-4.2-1.7c-2.4-2.3-2.4-6.1-0.1-8.5l3-3C6,9.6,6.2,9.4,6.4,9.2c1.3-1,2.9-1.4,4.4-1.1c1.6,0.2,3,1.1,3.9,2.3c0.3,0.4,0.2,1.1-0.2,1.4c-0.4,0.3-1.1,0.2-1.4-0.2c-0.6-0.9-1.6-1.4-2.6-1.6c-1.1-0.2-2.1,0.1-3,0.8c-0.2,0.1-0.3,0.2-0.4,0.4l-3,3c-1.5,1.6-1.5,4.1,0.1,5.6c1.6,1.5,4,1.5,5.6,0l1.7-1.7c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.7,1.7C10.1,22.4,8.6,22.9,7.1,22.9z"},null,-1)]))}const d1=u(l1,[["render",r1]]),m1={},u1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function h1(a,s){return n(),i("svg",u1,s[0]||(s[0]=[e("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"},null,-1)]))}const p1=u(m1,[["render",h1]]),_1={},f1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function b1(a,s){return n(),i("svg",f1,s[0]||(s[0]=[e("path",{d:"M12,24c-0.2,0-0.4-0.1-0.6-0.2C11.1,23.6,2,17.4,2,10C2,4.5,6.5,0,12,0c5.5,0,10,4.5,10,10c0,7.4-9.1,13.6-9.4,13.8C12.4,23.9,12.2,24,12,24zM12,2c-4.4,0-8,3.6-8,8c0,5.4,6.1,10.4,8,11.8c1.9-1.4,8-6.4,8-11.8C20,5.6,16.4,2,12,2z"},null,-1),e("path",{d:"M12,14c-2.2,0-4-1.8-4-4s1.8-4,4-4c2.2,0,4,1.8,4,4S14.2,14,12,14zM12,8c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2S13.1,8,12,8z"},null,-1)]))}const g1=u(_1,[["render",b1]]),w1={},v1={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"};function y1(a,s){return n(),i("svg",v1,s[0]||(s[0]=[e("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"},null,-1)]))}const k1=u(w1,[["render",y1]]);q();const $1=w({__name:"VTMenuBadge",props:{item:{}},setup(a){return(s,o)=>(n(),i("span",{class:B(["vt-menu-badge",s.item.type])},p(s.item.text),3))}}),_=w({__name:"VTLink",props:{href:{},noIcon:{type:Boolean},badge:{}},setup(a){const s=a,o=S(()=>s.href&&/^[a-z]+:/i.test(s.href));return(t,c)=>(n(),g(j(t.href?"a":"span"),{class:B(["vt-link",{link:t.href}]),href:t.href,target:o.value?"_blank":void 0,rel:o.value?"noopener noreferrer":void 0},{default:d(()=>[b(t.$slots,"default"),t.badge?(n(),g($1,{key:0,item:t.badge},null,8,["item"])):h("",!0),o.value&&!t.noIcon?(n(),g(W,{key:1,class:"vt-link-icon"})):h("",!0)]),_:3},8,["class","href","target","rel"]))}}),P=typeof window<"u",C1=q(P?location.hash:"");P&&window.addEventListener("hashchange",()=>{C1.value=location.hash});if(typeof window<"u"){var M={get passive(){}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}const z=[{location:"China",name:"chenzyadb",qq:1834634747,title:"CuprumTurbo Scheduler开发者",company:"千人之诺诺, 不如一士之谔谔",companyLink:"",languages:["English","Chinese"],projects:[{label:"CuprumTurbo-Scheduler",url:"https://github.com/chenzyadb/CuprumTurbo-Scheduler"},{label:"CuToolbox",url:"https://github.com/chenzyadb/CuprumTurbo-Scheduler"}],socials:{github:"chenzyadb"}}],L=[{gender:1,location:"China",name:"NightRainMilkyWay",qq:3293811490,title:"Tritium - docs",languages:["English","Chinese"],website:{label:"nightrainmilkyway.cn",url:"https://nightrainmilkyway.cn"},company:"这世界很宽容,宽容到绝对可以允许抬高三公分的枪口,也可以宽容到每个人都可以问心无愧的活着。没有人理应去要求你爱这个世界,但我由衷的希望你爱着自己",companyLink:"https://github.com/nightrainmilkyway",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"},{label:"Tritium - docs",url:"https://github.com/nightrainmilkyway/Tritium_docs"}],socials:{github:"nightrainmilkyway",gitee:"nightrainmilkyways",coolapk:"21210032"}},{gender:1,location:"China",name:"Suni",qq:1548211759,title:"Tritium",languages:["Chinese"],company:"与其仰望星空,不如去做摘星星的人。",companyLink:"https://github.com/Suni-code",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{github:"Suni-code",coolapk:"19969152"}},{gender:2,location:"China",name:"Fiage",qq:3551226104,title:"Tritium ",languages:["Chinese"],company:"混吃等死",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{coolapk:"3922059"}},{gender:3,location:"China",name:"fangzy(Active Grass Spirit)",qq:2452328276,title:"Tritium ",languages:["Chinese"],company:"无",projects:[{label:"Tritium",url:"https://github.com/Suni-code/Tritium"}],socials:{}}],V=[{gender:1,location:"China",name:"忘渐",qq:2362958303,title:"Tritium - docs",languages:["Chinese"],company:"往初见亦随心,愿初见似随心",companyLink:"https://github.com/shuerchi",socials:{github:"shuerchi",coolapk:"4172193"}},{gender:1,location:"China",name:"luke",qq:1959655708,title:"Tritium - docs",languages:["Chinese"],company:"关注作者别关注我"}],T1={},M1={class:"TeamHero"},z1={class:"container"},L1={class:"title"},V1={class:"lead"},q1={class:"action"};function B1(a,s){return n(),i("div",M1,[e("div",z1,[e("h1",L1,[b(a.$slots,"title",{},void 0,!0)]),e("p",V1,[b(a.$slots,"lead",{},void 0,!0)]),e("p",q1,[b(a.$slots,"action",{},void 0,!0)])])])}const S1=u(T1,[["render",B1],["__scopeId","data-v-e509d88a"]]),I1={class:"TeamMember"},P1={class:"avatar"},H1=["src","alt"],j1={class:"data"},x1={class:"name"},E1={class:"org"},F1={key:0,class:"nowrap"},Z1={key:1,class:"company"},D1={class:"profiles"},N1={key:0,class:"desc"},A1={class:"desc-title"},G1={class:"desc-list"},R1={class:"desc"},O1={class:"desc-title"},U1={class:"desc-text"},W1={class:"desc"},J1={class:"desc-title"},X1={class:"desc-list"},K1={key:1,class:"desc"},Q1={class:"desc-title"},Y1={class:"desc-text"},e3={class:"social-list"},s3={key:0,class:"social-item"},t3={key:1,class:"social-item"},n3={key:2,class:"social-item"},o3={key:3,class:"social-item"},i3={key:4,class:"social-item"},a3=w({__name:"TeamMember",props:{member:{}},setup(a){const s=a,o=S(()=>s.member.avatarPic??`https://q1.qlogo.cn/g?b=qq&nk=${s.member.qq}&s=640`);return(t,c)=>{var C,T;const H=I("Link");return n(),i("article",I1,[t.member.sponsor?(n(),g(r(_),{key:0,class:"sponsor",href:`https://github.com/sponsors/${t.member.socials.github}`,"no-icon":""},{default:d(()=>[l(r(a1),{class:"sponsor-icon"}),c[0]||(c[0]=m(" Sponsor "))]),_:1},8,["href"])):h("",!0),e("figure",P1,[e("img",{class:"avatar-img",src:o.value,alt:`${t.member.name}'s Profile Picture`},null,8,H1)]),e("div",j1,[e("h1",x1,p(t.member.name),1),e("p",E1,[m(p(t.member.title)+" ",1),t.member.company?(n(),i("span",F1,[c[1]||(c[1]=m(" @ ")),t.member.companyLink?(n(),g(r(_),{key:0,class:"company link",href:t.member.companyLink,"no-icon":!0},{default:d(()=>[m(p(t.member.company),1)]),_:1},8,["href"])):(n(),i("span",Z1,p(t.member.company),1))])):h("",!0)]),e("div",D1,[t.member.projects?(n(),i("section",N1,[e("div",A1,[c[2]||(c[2]=e("h2",{class:"sr-only"},"Projects",-1)),l(r(Z),{class:"desc-icon code"})]),e("ul",G1,[(n(!0),i(k,null,$(t.member.projects,f=>(n(),i("li",{key:f.label,class:"desc-item"},[l(r(_),{class:"desc-link",href:f.url,"no-icon":!0},{default:d(()=>[m(p(f.label),1)]),_:2},1032,["href"])]))),128))])])):h("",!0),e("section",R1,[e("div",O1,[c[3]||(c[3]=e("h2",{class:"sr-only"},"Location",-1)),l(r(g1),{class:"desc-icon"})]),e("p",U1,p(t.member.location),1)]),e("section",W1,[e("div",J1,[c[4]||(c[4]=e("h2",{class:"sr-only"},"Languages",-1)),l(r(t1),{class:"desc-icon"})]),e("ul",X1,[(n(!0),i(k,null,$(t.member.languages,f=>(n(),i("li",{key:f,class:"desc-item"},p(f),1))),128))])]),t.member.website?(n(),i("section",K1,[e("div",Q1,[c[5]||(c[5]=e("h2",{class:"sr-only"},"Website",-1)),l(r(d1),{class:"desc-icon"})]),e("p",Y1,[l(r(_),{class:"desc-link",href:t.member.website.url,"no-icon":!0},{default:d(()=>[m(p(t.member.website.label),1)]),_:1},8,["href"])])])):h("",!0),e("ul",e3,[(C=t.member.socials)!=null&&C.coolapk?(n(),i("li",s3,[l(H,{class:"social-link",href:`http://www.coolapk.com/u/${(T=t.member.socials)==null?void 0:T.coolapk}`,"no-icon":!0},{default:d(()=>c[6]||(c[6]=[e("svg",{t:"1706379299153",class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"4358",width:"25",height:"25"},[e("path",{d:"M445.493333 46.72c95.733333-13.653333 195.626667 2.613333 281.493334 47.253333 92.373333 47.36 168.16 126.24 211.626666 220.48 46.986667 100.426667 56.16 217.706667 26.24 324.426667-26.24 94.293333-82.826667 180-159.573333 240.8-72.586667 58.133333-162.826667 94.24-255.68 101.013333-116.586667 10.293333-236.32-26.186667-328.053333-98.773333-66.08-51.52-117.546667-121.44-147.893334-199.466667-44.106667-112.48-42.186667-242.133333 5.226667-353.226666 61.866667-149.6 206.026667-261.226667 366.613333-282.506667M270.4 350.08c-61.76 30.453333-102.986667 98.4-99.413333 167.413333 0.693333 66.666667 42.72 130.24 102.933333 158.293334 39.253333 19.04 84.853333 21.173333 127.093333 12.64 49.12-10.293333 90.453333-41.973333 124.8-77.173334 53.6-54.72 86.453333-124.96 129.6-187.36 22.666667 41.173333 45.333333 82.346667 67.786667 123.573334-24.586667-15.786667-46.773333-35.04-72.16-49.653334-16.746667 11.946667-33.28 24.213333-50.186667 35.946667 62.08 49.013333 126.666667 94.826667 190.026667 142.186667 12.96 8.746667 27.84 23.253333 44.64 14.666666 17.6-7.146667 22.613333-30.346667 12.106667-45.44-52.373333-99.466667-108.48-196.906667-163.253334-295.093333-5.653333-13.066667-19.626667-22.773333-34.24-18.56-13.493333 2.133333-20.266667 15.52-27.146666 25.76-32.106667 52.8-61.813333 107.146667-97.44 157.76-33.866667 48.213333-77.12 96.373333-136.586667 110.88-58.026667 15.2-126.026667-14.506667-148.213333-71.68-17.813333-46.133333-2.933333-102.613333 36.533333-132.8 35.946667-29.013333 86.72-31.093333 129.386667-17.653333 42.666667 13.76 76.533333 44.48 110.773333 72.053333 17.493333-12.053333 36-23.146667 50.986667-38.4-44.96-39.84-93.013333-79.306667-151.146667-97.76-48.16-12.64-101.813333-13.12-146.88 10.4z",fill:"#0f9d58","p-id":"4359"}),e("path",{d:"M270.4 350.08c45.066667-23.52 98.72-23.04 146.88-10.4 58.133333 18.453333 106.186667 57.92 151.146667 97.76-14.986667 15.253333-33.493333 26.346667-50.986667 38.4-34.24-27.573333-68.106667-58.293333-110.773333-72.053333-42.666667-13.44-93.44-11.36-129.386667 17.653333-39.466667 30.186667-54.346667 86.666667-36.533333 132.8 22.186667 57.173333 90.186667 86.88 148.213333 71.68 59.466667-14.506667 102.72-62.666667 136.586667-110.88 35.626667-50.613333 65.333333-104.96 97.44-157.76 6.88-10.24 13.653333-23.626667 27.146666-25.76 14.613333-4.213333 28.586667 5.493333 34.24 18.56 54.773333 98.186667 110.88 195.626667 163.253334 295.093333 10.506667 15.093333 5.493333 38.293333-12.106667 45.44-16.8 8.586667-31.68-5.92-44.64-14.666666-63.36-47.36-127.946667-93.173333-190.026667-142.186667 16.906667-11.733333 33.44-24 50.186667-35.946667 25.386667 14.613333 47.573333 33.866667 72.16 49.653334-22.453333-41.226667-45.12-82.4-67.786667-123.573334-43.146667 62.4-76 132.64-129.6 187.36-34.346667 35.2-75.68 66.88-124.8 77.173334-42.24 8.533333-87.84 6.4-127.093333-12.64-60.213333-28.053333-102.24-91.626667-102.933333-158.293334-3.573333-69.013333 37.653333-136.96 99.413333-167.413333z",fill:"#FFFFFF","p-id":"4360"})],-1)])),_:1},8,["href"])])):h("",!0),t.member.socials.github?(n(),i("li",t3,[l(r(_),{class:"social-link",href:`https://github.com/${t.member.socials.github}`,"no-icon":!0},{default:d(()=>[l(r(Q),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.twitter?(n(),i("li",n3,[l(r(_),{class:"social-link",href:`https://twitter.com/${t.member.socials.twitter}`,"no-icon":!0},{default:d(()=>[l(r(k1),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.linkedin?(n(),i("li",o3,[l(r(_),{class:"social-link",href:`https://www.linkedin.com/in/${t.member.socials.linkedin}`,"no-icon":!0},{default:d(()=>[l(r(p1),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0),t.member.socials.codepen?(n(),i("li",i3,[l(r(_),{class:"social-link",href:`https://codepen.io/${t.member.socials.codepen}`,"no-icon":!0},{default:d(()=>[l(r(G),{class:"social-icon"})]),_:1},8,["href"])])):h("",!0)])])])])}}}),l3=u(a3,[["__scopeId","data-v-fde26a69"]]),c3={class:"TeamList"},r3={class:"container"},d3={class:"info"},m3={class:"title"},u3={class:"lead"},h3={class:"members"},p3=w({__name:"TeamList",props:{members:{}},setup(a){return(s,o)=>{const t=I("ClientOnly");return n(),i("section",c3,[e("div",r3,[e("div",d3,[e("h2",m3,[b(s.$slots,"title",{},void 0,!0)]),e("p",u3,[b(s.$slots,"lead",{},void 0,!0)])]),e("div",h3,[l(t,null,{default:d(()=>[(n(!0),i(k,null,$(s.members,c=>(n(),i("div",{key:c.name,class:"member"},[l(l3,{member:c},null,8,["member"])]))),128))]),_:1})])])])}}}),v=u(p3,[["__scopeId","data-v-8792b0f1"]]),_3={class:"TeamPage"},y=(a,s=!1)=>{let o=s?1:0,t=a.length-o;for(;t>0;){const c=Math.floor(Math.random()*t);[a[o+t-1],a[o+c]]=[a[o+c],a[o+t-1]],t--}},f3=w({__name:"TeamPage",setup(a){return y(z,!0),y(L),y(V),(s,o)=>(n(),i("div",_3,[l(S1,null,{title:d(()=>o[0]||(o[0]=[m("关于团队")])),lead:d(()=>o[1]||(o[1]=[m("Tritium的背后是一个基本来自中国的开源社区,他们为Tritium的诞生与维护做出了巨大贡献,以下是部分成员的个人信息 "),e("span",{class:"nowrap"},"featured below.",-1)])),action:d(()=>[l(r(_),{href:"https://github.com/TimeBreeze/Tritium"},{default:d(()=>o[2]||(o[2]=[m("Learn more about teams")])),_:1})]),_:1}),l(v,{members:r(z)},{title:d(()=>o[3]||(o[3]=[m("核心开发成员")])),lead:d(()=>o[4]||(o[4]=[m("我们感谢chenzyadb的项目开发, 他对Tritium的诞生以及上游维护与开发做出了核心贡献.")])),_:1},8,["members"]),l(v,{members:r(L)},{title:d(()=>o[5]||(o[5]=[m("社区维护伙伴")])),lead:d(()=>o[6]||(o[6]=[m("区维护伙伴是那些即将维护或分享自定义配置文件的人员,他们积极跟进上游并不断优化体验.乐于积极分享")])),_:1},8,["members"]),l(v,{members:r(V)},{title:d(()=>o[7]||(o[7]=[m("社区伙伴")])),lead:d(()=>o[8]||(o[8]=[m("社区伙伴是参与到本计划的反馈&测试人员,他们为我们提供了大量的矫正数据.")])),_:1},8,["members"])]))}}),b3=u(f3,[["__scopeId","data-v-69cdecb2"]]),v3=JSON.parse('{"title":"关于团队","titleTemplate":"Redemption Project","description":"","frontmatter":{"title":"关于团队","layout":"page","titleTemplate":"Redemption Project","aside":false,"banner":"开发中页面,仅预览"},"headers":[],"relativePath":"team.md","filePath":"team.md","lastUpdated":1700150922000}'),g3={name:"team.md"},y3=Object.assign(g3,{setup(a){return(s,o)=>(n(),i("div",null,[l(b3)]))}});export{v3 as __pageData,y3 as default}; diff --git a/maisk_fiage/webroot/clown.html b/maisk_fiage/webroot/clown.html new file mode 100644 index 0000000..f02fc41 --- /dev/null +++ b/maisk_fiage/webroot/clown.html @@ -0,0 +1,39 @@ + + + + + + 乐子 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

如你所见我们会记录一些🤡

2024-02-29
  • 4年一次,难得 20240301001030894

我的自由

2024-02-21

202402250229020362024022502290577420240225022911760

2024-02-18
  • 为什么这么多要求🤣🤣

2024-01-26
  • 怎么用😅

2024-01-24
  • 人人皆是垃圾🤔🤔

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/disclaimer.html b/maisk_fiage/webroot/disclaimer.html new file mode 100644 index 0000000..79cad3e --- /dev/null +++ b/maisk_fiage/webroot/disclaimer.html @@ -0,0 +1,39 @@ + + + + + + 免责声明 | Tritium_docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Tritium 项目免责声明

目的

本平台提供的Tritium项目调度服务仅用于一般性信息交流和参考学习目的。任何由Tritium生成的内容不构成法律、专业建议。使用Tritium服务时,请谨慎评估并自主判断信息的准确性和适用性。

责任限制

我们不对因使用Tritium服务而导致的任何直接或间接损失、误解或问题承担责任。用户在使用Tritium服务的同时应当遵守适用法律法规,并理解Tritium的回应基于先前测试的数据,可能不具有实时性和个性化的特点

服务变更

我们保留随时更改、修订或终止Tritium服务的权利,而无需提前通知。用户在使用本服务前应审慎考虑并理解免责声明的内容。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

使用Tritium服务即表示您同意接受并遵守这一免责声明。

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/fonts/zh-cn (1).woff b/maisk_fiage/webroot/fonts/zh-cn (1).woff new file mode 100644 index 0000000..7dbc619 Binary files /dev/null and b/maisk_fiage/webroot/fonts/zh-cn (1).woff differ diff --git a/maisk_fiage/webroot/fonts/zh-cn-full.subset.ttf b/maisk_fiage/webroot/fonts/zh-cn-full.subset.ttf new file mode 100644 index 0000000..e1ee250 Binary files /dev/null and b/maisk_fiage/webroot/fonts/zh-cn-full.subset.ttf differ diff --git a/maisk_fiage/webroot/fonts/zh-cn-full.ttf b/maisk_fiage/webroot/fonts/zh-cn-full.ttf new file mode 100644 index 0000000..f92602f Binary files /dev/null and b/maisk_fiage/webroot/fonts/zh-cn-full.ttf differ diff --git a/maisk_fiage/webroot/fonts/zh-cn-min.woff b/maisk_fiage/webroot/fonts/zh-cn-min.woff new file mode 100644 index 0000000..7dbc619 Binary files /dev/null and b/maisk_fiage/webroot/fonts/zh-cn-min.woff differ diff --git a/maisk_fiage/webroot/fonts/zh-cn.woff b/maisk_fiage/webroot/fonts/zh-cn.woff new file mode 100644 index 0000000..7dbc619 Binary files /dev/null and b/maisk_fiage/webroot/fonts/zh-cn.woff differ diff --git "a/maisk_fiage/webroot/fonts/\345\216\237\347\245\236.woff" "b/maisk_fiage/webroot/fonts/\345\216\237\347\245\236.woff" new file mode 100644 index 0000000..7dbc619 Binary files /dev/null and "b/maisk_fiage/webroot/fonts/\345\216\237\347\245\236.woff" differ diff --git "a/maisk_fiage/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" "b/maisk_fiage/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" new file mode 100644 index 0000000..c49d247 Binary files /dev/null and "b/maisk_fiage/webroot/fonts/\345\216\237\347\245\236\345\255\227\344\275\223.ttf" differ diff --git "a/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" new file mode 100644 index 0000000..64a6acc Binary files /dev/null and "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\346\226\234.ttf" differ diff --git "a/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" new file mode 100644 index 0000000..f47b4f2 Binary files /dev/null and "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\262\227.ttf" differ diff --git "a/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" new file mode 100644 index 0000000..81cd7f8 Binary files /dev/null and "b/maisk_fiage/webroot/fonts/\346\266\262\346\231\266\344\275\223-\347\273\206.ttf" differ diff --git a/maisk_fiage/webroot/guide/CpuGovernor.html b/maisk_fiage/webroot/guide/CpuGovernor.html new file mode 100644 index 0000000..7b67375 --- /dev/null +++ b/maisk_fiage/webroot/guide/CpuGovernor.html @@ -0,0 +1,147 @@ + + + + + + CPU混合调频器 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

CpuGovernor - CPU混合调频器

此模块通过在各种不同场景下选择合适的CPU频率以改善使用体验.

params - 调频器参数

TIP

enable 字段为是否启用

json
{
+"CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+  }
+  ...//其他模块
+}

提示

工作频率是CPU混合调频器的重要参数, 通常Linux内核频率为300HZ,即3.33ms记录一次, 活跃时间/总时间*100即为CPU负载百分比.
如果工作频率过高将会导致调频器的开销增加且无法获得有效的CPU负载(例如100HZ时只能获得0% 33% 66% 100%四种负载), 过低将导致调频器无法应对瞬时负载.
最小频率差值为生成CPU频率表的关键参数, 设置得过小将会导致调频速度过慢,过大将会导致调频不够精细.

policies - 策略组

此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个策略组.
每个策略组中的CPU频率将会同步控制, 应当与内核中每个cluster中包含的CPU对应.
由于是按照数组的序号来为策略组编号的, 所以策略组的排序应与cluster的排序一致.
例如SDM845为4+4设计, 即policy0: CPU0-3; policy1: CPU4-7.

字段类型定义
coreNumint策略组中包含的CPU核心数量
perfScaleintCPU相对同频算力值
lowPowerFreqintCPU功耗最低频率(单位:MHz)
optimalFreqintCPU最优频率(单位:MHz)
modelFreqint用于生成CPU功耗模型的CPU频率(单位:MHz)
modelPowerint处于modelFreq时CPU的满载功耗(单位:mW)

CpuGovernor模块设定中的所有频率都将会被取近似值, 例如CPU频率表中有1200, 1450, 1700三个频率, 设定频率为1500, 最终取值将为1450.

JSON
  "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1200,
+        "modelFreq": 2000,
+        "modelPower": 360
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 320,
+        "lowPowerFreq": 500,
+        "optimalFreq": 1700,
+        "modelFreq": 2600,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 320,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2600,
+        "modelPower": 1750
+      }
+    ],

modes - 模式参数

字段类型定义
powerLimitintCPU整体功耗限制(单位:mW)
perfMarginArrayIntCPU性能冗余(范围:0-100)
upRateLatencyintCPU频率提升延迟(单位:ms)
overHeatTempint过热温度(单位:°C)
burstCapacityint频率加速容量(单位:W·ms)
recoverTimeint容量恢复时间(单位:ms)

CPU整体功耗限制会影响CPU频率上限, 调频器计算的是满载功耗,不会随CPU负载变化而改变.
perfMargin使用ArrayInt即整数数组方式存储参数, 数组的序号对应策略组编号.
CPU频率提升延迟用于降低CPU频率被提升得过高的几率, 每次升频时调频器都会根据频率提升延迟和能耗比变化判定是否需要升频.
过热温度为触发调频器温度控制的阈值, 当CPU温度超过该值时将限制CPU功耗在powerLimit以内并忽略频率加速直到温度降低.
当触发CPU频率加速时调频器将会忽略powerLimit, 如果实时功耗超过powerLimit就会消耗burstCapacity, 直到容量耗尽时恢复功耗限制.
当实时功耗低于功耗限制值时将会逐渐恢复burstCapacity, recoverTime即为容量从耗尽到完全恢复所需的时间.

freqBurst - CPU频率加速

CPU频率加速可以在特定条件触发时调高CPU频率提升积极性, 用于降低部分场景下卡顿的几率.

字段类型定义
durationTimeint频率加速持续时间(单位:ms)
lowLatencybool是否降低延迟
extraMarginint额外性能冗余(范围:0-100)
boostint频率加速值(范围:0-100)

触发条件包含tap swipe gesture heavyload jank bigJank,分别在 点击屏幕 滑动屏幕 手势操作 重负载 掉帧 严重掉帧 时触发.
触发的优先级为none < tap < swipe < gesture < heavyload < jank < bigJank, 当更高优先级的加速触发时将覆盖低优先级的加速.
当要求调频器降低延迟时调频器将会以最快的速度提升CPU频率, 适用于检测到掉帧等需要迅速提升CPU频率的场景.
extraMargin值用于提供额外的性能冗余, 计算公式如下: acturalMargin = perfMargin + extraMargin.
boost值用于夸大实际的CPU负载, 计算公式如下: cpuLoad = cpuLoad + (100 - cpuLoad) * boost / 100.
当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度小于90度时最大功耗限制在5000mW, CPU温度大于等于90度时最大功耗限制在4000mW.

例如

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 3000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        
+       ...
+}

WARNING

当CPU温度小于80度时将不限制最大功耗, CPU温度大于等于80度时最大功耗限制在3000mW,

JSON
"modes": {
+        "powersave": {
+        "powerLimit": 2000,
+        "perfMargin": [
+          10,
+          10,
+          10
+         ],
+        "upRateLatency": 800,
+        "overHeatTemp": 80,
+        "burstCapacity": 8000,
+        "recoverTime": 2000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance",
+      "performance",
+      "fast",
+}
+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/Customize.html b/maisk_fiage/webroot/guide/Customize.html new file mode 100644 index 0000000..88baaa5 --- /dev/null +++ b/maisk_fiage/webroot/guide/Customize.html @@ -0,0 +1,610 @@ + + + + + + 自定义配置开发文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

CuprumTurbo V19 自定义配置开发文档

本文档来自于上游开发者我们只是对其字段进行通俗理解,当然我们不可能比开发者更懂这些参数

导航

完整config以高通865为例

json
{
+  "name": "Snapdragon865/865+/870",
+  "author": "Suni",
+  "configVersion": 10,
+  "CpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "activeDelay": 2000,
+      "minFreqStep": 200
+    },
+    "policies": [
+      {
+        "coreNum": 4,
+        "perfScale": 100,
+        "lowPowerFreq": 600,
+        "optimalFreq": 1400,
+        "modelFreq": 1800,
+        "modelPower": 320
+      },
+      {
+        "coreNum": 3,
+        "perfScale": 300,
+        "lowPowerFreq": 700,
+        "optimalFreq": 1800,
+        "modelFreq": 2420,
+        "modelPower": 1400
+      },
+      {
+        "coreNum": 1,
+        "perfScale": 300,
+        "lowPowerFreq": 800,
+        "optimalFreq": 2000,
+        "modelFreq": 2840,
+        "modelPower": 1880
+      }
+    ],
+    "modes": {
+      "powersave": {
+        "powerLimit": 1500,
+        "perfMargin": [10, 10, 10],
+        "upRateLatency": 600,
+        "overHeatTemp": 65,
+        "burstCapacity": 12000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 5
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      },
+      "balance": {
+        "powerLimit": 2800,
+        "perfMargin": [15, 20, 20],
+        "upRateLatency": 360,
+        "overHeatTemp": 70,
+        "burstCapacity": 16000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 300,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 360,
+            "lowLatency": false,
+            "extraMargin": 5,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 510,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "heavyload": {
+            "durationTime": 1100,
+            "lowLatency": false,
+            "extraMargin": 15,
+            "boost": 20
+          },
+          "jank": {
+            "durationTime": 500,
+            "lowLatency": true,
+            "extraMargin": 5,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 960,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 50
+          }
+        }
+      },
+      "performance": {
+        "powerLimit": 4600,
+        "perfMargin": [10, 30, 40],
+        "upRateLatency": 200,
+        "overHeatTemp": 90,
+        "burstCapacity": 20000,
+        "recoverTime": 4000,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 280,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 15
+          },
+          "swipe": {
+            "durationTime": 390,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 10
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1200,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 25
+          },
+          "jank": {
+            "durationTime": 530,
+            "lowLatency": true,
+            "extraMargin": 10,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 1100,
+            "lowLatency": true,
+            "extraMargin": 15,
+            "boost": 55
+          }
+        }
+      },
+      "fast": {
+        "powerLimit": 10000,
+        "perfMargin": [30, 80, 90],
+        "upRateLatency": 0,
+        "overHeatTemp": 95,
+        "burstCapacity": 0,
+        "recoverTime": 0,
+        "freqBurst": {
+          "none": {
+            "durationTime": 0,
+            "lowLatency": false,
+            "extraMargin": 0,
+            "boost": 0
+          },
+          "tap": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "swipe": {
+            "durationTime": 200,
+            "lowLatency": false,
+            "extraMargin": 10,
+            "boost": 0
+          },
+          "gesture": {
+            "durationTime": 100,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 0
+          },
+          "heavyload": {
+            "durationTime": 1000,
+            "lowLatency": false,
+            "extraMargin": 20,
+            "boost": 35
+          },
+          "jank": {
+            "durationTime": 100,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 40
+          },
+          "bigJank": {
+            "durationTime": 200,
+            "lowLatency": true,
+            "extraMargin": 0,
+            "boost": 60
+          }
+        }
+      }
+    }
+  },
+  "ThreadSchedOpt": {
+    "enable": true,
+    "defaultCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+    "defaultPriority": 0,
+    "appTypes": {
+      "unity_genshin": {
+        "pkgName": "*(.Yuanshen|.GenshinImpact)|*.ys.*",
+        "symbol": null
+      },
+      "unity_common": {
+        "pkgName": null,
+        "symbol": "Unity*"
+      },
+      "unreal_engine": {
+        "pkgName": null,
+        "symbol": "(TaskGraph|RHIThread)*"
+      },
+      "minecraft": {
+        "pkgName": null,
+        "symbol": "MINECRAFT*"
+      },
+      "neox_engine": {
+        "pkgName": "*(.mrzh|.qrzd|.jddsaef|.lglr|.zmq|.ldxy|.s4na|.g93na|.g78na|.onmyoji|.harrypotter|.moba|.party)*",
+        "symbol": null
+      },
+      "sky_game": {
+        "pkgName": "(com.netease.sky|com.tgc.sky)*",
+        "symbol": null
+      },
+      "benchmark": {
+        "pkgName": "com.futuremark.*|*[Bb]ench*",
+        "symbol": null
+      }
+    },
+    "schedRules": {
+      "DEFAULT_RULE": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "*[Rr]ender*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(GLThread|[Vv]sync|JNISurface|hwui|UiThread|ged-|mali-)*|*(.raster|.ui|.anim|.display)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(glide-|Fresco|[Ii]mage|[Ll]auncher)*|*([Bb]lur|[Aa]nim|[Oo]verlay|[Cc]horeographer)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(HWC release|GPU completion|FrameThread|FramePolicy|ScrollPolicy)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -20
+        },
+        {
+          "threadName": "(Vlc|[Ii][Jj][Kk])*|*([Aa]udio|[Mm]ixer|[Vv]ideo|[Pp]layer|[Mm]edia|[Cc]odec|[Dd]ecode)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Chrome_|Compositor|CrGpuMain|CrRenderer|Viz|Gecko)*|*[Ww]eb[Vv]iew*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(WeexJsBridge|libweexjsb|V8 DefaultWork|hippy.js|mqt_)*|*[Jj]ava[Ss]cript*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "*([Ww]ork|[Hh]andle|[Pp]ool|[Mm]essage|[Dd]ispatch|[Ee]xecutor|[Bb]ridge|[Cc]amera)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(Chronos.|CRON.|AsyncTask|Thread-|Timer-)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -8
+        },
+        {
+          "threadName": "(HeapTask|HeapTrimmer|Finalizer|CleanupReferenc|GC)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(queued-work-|Jit thread pool|Signal Catcher|Profile Saver|ReferenceQueue)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(Moss|OkHttp|Okio|Rx|rx-)*|*([Nn]etwork|[Cc]ookie|[Ss]cheduler|[Cc]apture)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": -8
+        },
+        {
+          "threadName": "(BLog|xlog|[Bb]ugly|BUGLY|LogThread)*|*([Cc]rash|[Ll]ogger|[Rr]eport)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        },
+        {
+          "threadName": "(APM-|TVKDL-|Firebase|koom|ADB-JDWP|MemoryInfra)*|*([Ww]atch[Dd]og|[Tt]racker|[Mm]onitor)*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3],
+          "priority": 0
+        }
+      ],
+      "unity_genshin": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityGfx*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityMain|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unity_common": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "UnityMain*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(UnityGfx|UnityMulti|UnityPreload|UnityChoreograp|UnityCCeograp)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        },
+        {
+          "threadName": "(Worker Thread|Job.Worker|NativeThread|IL2CPP|ace_worker|Apollo-|CoreThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "unreal_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(RenderThread|GameThread|RHIThread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(TaskGraph|CmpJob|Apollo-|glp|glt|NativeThread|SDLThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "minecraft": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(Rendering Pool|MINECRAFT)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "Thread-*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6, 7],
+          "priority": -8
+        },
+        {
+          "threadName": "FMOD*",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -16
+        }
+      ],
+      "neox_engine": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Thread-)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(IO|Compute|Resource|NativeThread)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "sky_game": [
+        {
+          "threadName": "MAIN_THREAD",
+          "heavyCpus": null,
+          "commonCpus": [0, 1, 2, 3, 4, 5, 6],
+          "priority": -12
+        },
+        {
+          "threadName": "(MainThread|Program Thread)*",
+          "heavyCpus": [7],
+          "commonCpus": [4, 5, 6],
+          "priority": -20
+        },
+        {
+          "threadName": "(JobThread|Thread-)*",
+          "heavyCpus": null,
+          "commonCpus": [4, 5, 6],
+          "priority": -12
+        }
+      ],
+      "benchmark": []
+    }
+  },
+  "MtkGpuGovernor": {
+    "enable": false
+  },
+  "FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+}
+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/FileWriter.html b/maisk_fiage/webroot/guide/FileWriter.html new file mode 100644 index 0000000..548835d --- /dev/null +++ b/maisk_fiage/webroot/guide/FileWriter.html @@ -0,0 +1,72 @@ + + + + + + 文件写入器 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

FileWriter - 文件写入器

此模块用于在触发某些场景时自动写入文件

scenes - 场景触发器

当触发指定场景时将会自动向文件中写入预设的文本, 写入方式与echo [text] > [path]相同且效率更高, 写入单个文件的耗时通常不超过1ms.
支持的场景如下:
init: 调度初始化时触发, 仅执行一次.
screenOn: 屏幕点亮时触发.
screenOff: 屏幕熄灭时触发.
powersaveMode: 切换到powersave模式时触发.
balanceMode: 切换到balance模式时触发.
performanceMode: 切换到performance模式时触发.
fastMode: 切换到fast模式时触发.
此项配置类型为ArrayJson, 即数组中的每个Json元素对应一个文件写入任务.

字段类型定义
pathstring写入的目标地址
textstring需要写入的文本

举个例子

TIP

当某个节点写入文本时,path 应该是绝对路径,而不是相对路径,例如下面,目标路径为/dev/cpuset/restricted/cpus,写入的文本是 0-3

json

+"FileWriter": {
+    "enable": true,
+    "scenes": {
+      "init": [
+        {
+          "path": "/dev/cpuset/restricted/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/system-background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/background/cpus",
+          "text": "0-3"
+        },
+        {
+          "path": "/dev/cpuset/foreground/cpus",
+          "text": "0-7"
+        },
+        {
+          "path": "/dev/cpuset/top-app/cpus",
+          "text": "0-7"
+        }
+      ],
+      "screenOn": [],
+      "screenOff": [],
+      "powersaveMode": [],
+      "balanceMode": [],
+      "performanceMode": [],
+      "fastMode": []
+    }
+  }
+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/Json.html b/maisk_fiage/webroot/guide/Json.html new file mode 100644 index 0000000..0546871 --- /dev/null +++ b/maisk_fiage/webroot/guide/Json.html @@ -0,0 +1,45 @@ + + + + + + 基本信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Json信息

在这里你可以定义配置文件的名称和作者信息, 请注意不要修改配置文件版本, 此字段将会用于验证调度与该配置是否兼容.

字段类型定义
namestring配置文件的名称
authorstring配置文件的作者信息
configVersionint配置文件版本
json
{
+  "name": "Dimensity1100/1200/1300", //名称
+  "author": "chenzyadb",//作者
+  "configVersion": 10,//版本
+   ... 
+   //其他模块
+}

注意

configVersion 字段会验证调度版本,请确定版本对应,使用最新发布版本时,应与开发者仓库中的保持一致

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/MtkGpuGovernor.html b/maisk_fiage/webroot/guide/MtkGpuGovernor.html new file mode 100644 index 0000000..c20bc93 --- /dev/null +++ b/maisk_fiage/webroot/guide/MtkGpuGovernor.html @@ -0,0 +1,77 @@ + + + + + + 联发科GPU调频器 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

MtkGpuGovernor - 联发科GPU调频器

这个简易的GPU调频器可以满足对联发科GPU频率的基础调控

params - 调频器参数

字段类型定义
activeRateHzint活跃时工作频率
idleRateHzint空闲时工作频率
preferredFreqArrayInt偏好GPU频率(单位:MHz)

当GPU负载为0时调频器按照idleRateHz频率工作, 当负载非0时调频器按照activeRateHz频率工作.
由于联发科内核提供的GPU频率数量过多, 此调频器将只会选取部分GPU频率,具体信息请查看调度日志.
preferredFreq为偏好的GPU频率, 调度选取GPU频率时将优先考虑这些频率.

modes - 模式参数

字段类型定义
maxFreqintGPU频率上限(单位:MHz)
minFreqintGPU频率下限(单位:MHz)
upRateThresintGPU升频阈值(范围:0-100)
downRateDiffintGPU降频差值(范围:0-100)

当GPU负载大于upRateThres时提升频率, 当GPU负载减少的差值大于downRateDiff时降低频率.
例如: 设置upRateThres=90, downRateDiff=10, 当GPU负载为75时降低GPU频率, 当GPU负载为85时GPU频率不变,当GPU负载为95时提升GPU频率.
upRateThres的值越小升频越积极, downRateDiff的值越大降频越缓慢, downRateDiff的值不得大于upRateThres.

json

+"MtkGpuGovernor": {
+    "enable": true,
+    "params": {
+      "activeRateHz": 60,
+      "idleRateHz": 30,
+      "preferredFreq": [
+        540,
+        660,
+        770
+      ]
+    },
+    "modes": {
+      "powersave": {
+        "maxFreq": 540,
+        "minFreq": 0,
+        "upRateThres": 90,
+        "downRateDiff": 10
+      },
+      "balance": {
+        "maxFreq": 660,
+        "minFreq": 0,
+        "upRateThres": 80,
+        "downRateDiff": 10
+      },
+      "performance": {
+        "maxFreq": 770,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 10
+      },
+      "fast": {
+        "maxFreq": 890,
+        "minFreq": 0,
+        "upRateThres": 70,
+        "downRateDiff": 20
+      }
+    }
+  },
+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/ThreadSchedOpt.html b/maisk_fiage/webroot/guide/ThreadSchedOpt.html new file mode 100644 index 0000000..4dd6caa --- /dev/null +++ b/maisk_fiage/webroot/guide/ThreadSchedOpt.html @@ -0,0 +1,39 @@ + + + + + + 线程调度优化 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

ThreadSchedOpt - 线程调度优化

此模块通过智能分类线程来实现较为合理的线程调度策略

此模块未使用标准的规则编写, 暂不建议自行修改此模块的参数.

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/download.html b/maisk_fiage/webroot/guide/download.html new file mode 100644 index 0000000..389466d --- /dev/null +++ b/maisk_fiage/webroot/guide/download.html @@ -0,0 +1,39 @@ + + + + + + 下载配置 | Tritium_docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

兼容状态

支持安卓6-14的arm64设备(APP最低支持安卓9)

目前支持架构 : arm64-v8a

支持的SOC列表(后续也可能会增加) (注:仅代表本调度,并不代表原CT)

骁龙:845/855/855+/860/865/865+/870/888/888+/8Gen1/8+Gen1/7+Gen2/8Gen2/8Gen3/765/765G/768G/778G/778G+/782/835/7+Gen3

天玑:1000+/8000/8100/9200/9200+

如果您有兴趣参与本项目的开发和维护,欢迎加入我们参与其中~

DANGER

模块和app是2种不同的选择,Magisk 模块Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

下载配置文件或模块刷入使用(建议一并安装附加模块)

GitHub all releases

下载cutoolbox

GitHub all releases

下载附加模块

TIP

此模块app已经内置,模块需要拆包app获取或者群文件,再者github拉去压缩后刷入

GitHub all releases

下载Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

GitHub all releases

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/start.html b/maisk_fiage/webroot/guide/start.html new file mode 100644 index 0000000..fe3b6ed --- /dev/null +++ b/maisk_fiage/webroot/guide/start.html @@ -0,0 +1,39 @@ + + + + + + 什么是Tritium + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

✨什么是Tritium🤔

Tritium

CuprumTurbo Scheduler的衍生版本

Tritium调度是CuprumTurbo Scheduler的衍生版本,保留了大部分原有结构,但针对不同的SoC进行了深度适配和配置参数调整。我们致力于优化其性能,以更好地适应不同硬件环境。

我们绝大多数模板来自于上游仓库,但我们也对模块进行了一些修改

我们为什么选择CuprumTurbo Scheduler进行2次修改

CuprumTurbo Scheduler是一个高性能的调度器,具有非常强的自定义性,但它的配置较为复杂,需要一定的学习成本。Tritium调度器则是在CuprumTurbo Scheduler的基础上进行了一些优化和简化,更加深入soc的适配,使其在soc上获得个更加优秀的功耗控制和性能表现。

其他的调度

  • 类似于uperf的app动态配置调节。
  • scene适配等

相关协议

当开始使用Tritium时,请确保您已阅读相关协议,当然大多数与CuprumTurbo Scheduler保持一致

免责声明

用户协议

Apache-2.0 license

✨我该如何选择🤔?

根据个人喜好需求选择即可,当然你也可以选择

类似的项目 apodidae

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/guide/use.html b/maisk_fiage/webroot/guide/use.html new file mode 100644 index 0000000..afbae19 --- /dev/null +++ b/maisk_fiage/webroot/guide/use.html @@ -0,0 +1,39 @@ + + + + + + 如何使用 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

如何使用

使用须知

  • 1.安装软件或者模块之前请务必并卸载asoulopt模块
  • 2.使用软件和模块时请勿开启系统的性能模式开关,保持均衡即可
  • 4.模块是由scene控制,scene需要关闭核心分配
  • 5.请务必安装CuJankDetector附加模块,保证调度的体验

DANGER

模块和app是2种不同的选择,Magisk 模块和 Cutoolbox 只能使用其中一种 ,config.zip为APP导入方式,需要解压后导入app使用,模块刷入需要下载模块刷入即可(建议一并下载附加模块)

使用方法1 -app导入

使用方法2 -模块刷入

使用方法3 -Tritium box

TIP

适合小白新手使用,开箱即用,注意授予自启动和root权限

检查日志

  • 如果为APP导入使用,即可在APP内查看日志
  • 如果为模块,则CuprumTurbo Scheduler日志输出路径为/storage/emulated/0/Android/ct/scheduler.log

出现Daemon Running即为调度正常运行

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/hashmap.json b/maisk_fiage/webroot/hashmap.json new file mode 100644 index 0000000..acd3456 --- /dev/null +++ b/maisk_fiage/webroot/hashmap.json @@ -0,0 +1 @@ +{"about.md":"BY9aHTo8","agreement.md":"CNtXq9L_","clown.md":"COUTQ7Br","disclaimer.md":"BUfyEDfO","faq_faq.md":"CVkjFHY5","guide_cpugovernor.md":"C7ITKPMv","guide_customize.md":"C2zSKp6n","guide_download.md":"C7nbBbZD","guide_filewriter.md":"CXfMFAog","guide_json.md":"BG_wBOYT","guide_mtkgpugovernor.md":"D-jFebN0","guide_start.md":"CNF3qU_l","guide_threadschedopt.md":"DdUcZG4k","guide_use.md":"CdXeE44Q","index.md":"Vooex8u3","join.md":"BWff1C_T","log.md":"CII103bZ","team.md":"C-bccHex"} diff --git a/maisk_fiage/webroot/img/Mediatek-logo.png b/maisk_fiage/webroot/img/Mediatek-logo.png new file mode 100644 index 0000000..4e64db5 Binary files /dev/null and b/maisk_fiage/webroot/img/Mediatek-logo.png differ diff --git a/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png b/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png new file mode 100644 index 0000000..ef47793 Binary files /dev/null and b/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-42-00_2162.png differ diff --git a/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png b/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png new file mode 100644 index 0000000..a52464c Binary files /dev/null and b/maisk_fiage/webroot/img/ResizedImage_2024-02-11_18-52-03_8500.png differ diff --git a/maisk_fiage/webroot/img/svg/about-footer.svg b/maisk_fiage/webroot/img/svg/about-footer.svg new file mode 100644 index 0000000..680919a --- /dev/null +++ b/maisk_fiage/webroot/img/svg/about-footer.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/about-me-header.svg b/maisk_fiage/webroot/img/svg/about-me-header.svg new file mode 100644 index 0000000..75fe85c --- /dev/null +++ b/maisk_fiage/webroot/img/svg/about-me-header.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + 关于我 旧忆 残梦 + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/about-repos-header.svg b/maisk_fiage/webroot/img/svg/about-repos-header.svg new file mode 100644 index 0000000..0dabc69 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/about-repos-header.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + 关于本文档 + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/dog.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/dog.svg new file mode 100644 index 0000000..bb2cb15 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/dog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/dragon.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/dragon.svg new file mode 100644 index 0000000..3d1d075 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/dragon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/goat.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/goat.svg new file mode 100644 index 0000000..da34d0c --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/goat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/horse.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/horse.svg new file mode 100644 index 0000000..c6f3139 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/horse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/monkey.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/monkey.svg new file mode 100644 index 0000000..ef8e417 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/monkey.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/ox.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/ox.svg new file mode 100644 index 0000000..db63eeb --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/ox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/pig.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/pig.svg new file mode 100644 index 0000000..2fe8cbc --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/pig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/rabbit.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/rabbit.svg new file mode 100644 index 0000000..458c50e --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/rabbit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/rat.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/rat.svg new file mode 100644 index 0000000..41ed97b --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/rat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/rooster.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/rooster.svg new file mode 100644 index 0000000..35ca6ba --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/rooster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/snake.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/snake.svg new file mode 100644 index 0000000..d35a346 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/snake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/chinese-zodiac/tiger.svg b/maisk_fiage/webroot/img/svg/chinese-zodiac/tiger.svg new file mode 100644 index 0000000..a69b816 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/chinese-zodiac/tiger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/focus.svg b/maisk_fiage/webroot/img/svg/focus.svg new file mode 100644 index 0000000..1ebcf78 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/focus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/gitee.svg b/maisk_fiage/webroot/img/svg/gitee.svg new file mode 100644 index 0000000..987b2e8 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/gitee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/home/API.svg b/maisk_fiage/webroot/img/svg/home/API.svg new file mode 100644 index 0000000..a07e946 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/home/API.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/home/Money Making.svg b/maisk_fiage/webroot/img/svg/home/Money Making.svg new file mode 100644 index 0000000..776b3cb --- /dev/null +++ b/maisk_fiage/webroot/img/svg/home/Money Making.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/home/chrome.svg b/maisk_fiage/webroot/img/svg/home/chrome.svg new file mode 100644 index 0000000..cf45e6d --- /dev/null +++ b/maisk_fiage/webroot/img/svg/home/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" "b/maisk_fiage/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" new file mode 100644 index 0000000..bd3894f --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/icon_\345\256\236\346\227\266\346\233\264\346\226\260.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/home/vite.svg b/maisk_fiage/webroot/img/svg/home/vite.svg new file mode 100644 index 0000000..de4aedd --- /dev/null +++ b/maisk_fiage/webroot/img/svg/home/vite.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/maisk_fiage/webroot/img/svg/home/vue.svg b/maisk_fiage/webroot/img/svg/home/vue.svg new file mode 100644 index 0000000..71c1cfb --- /dev/null +++ b/maisk_fiage/webroot/img/svg/home/vue.svg @@ -0,0 +1,4 @@ + + + + diff --git "a/maisk_fiage/webroot/img/svg/home/\345\206\273\347\273\223.svg" "b/maisk_fiage/webroot/img/svg/home/\345\206\273\347\273\223.svg" new file mode 100644 index 0000000..7ca0612 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\345\206\273\347\273\223.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257.svg" "b/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257.svg" new file mode 100644 index 0000000..1519903 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" "b/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" new file mode 100644 index 0000000..0216157 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\345\234\272\346\231\257\350\260\203\347\224\250.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" "b/maisk_fiage/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" new file mode 100644 index 0000000..833edde --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\346\216\245\345\205\245\347\256\200\345\215\225.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\346\217\222\344\273\266.svg" "b/maisk_fiage/webroot/img/svg/home/\346\217\222\344\273\266.svg" new file mode 100644 index 0000000..c0db3a0 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\346\217\222\344\273\266.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" "b/maisk_fiage/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" new file mode 100644 index 0000000..816bc4b --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\346\231\272\350\203\275\344\274\230\345\214\226.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\346\233\264\346\226\260.svg" "b/maisk_fiage/webroot/img/svg/home/\346\233\264\346\226\260.svg" new file mode 100644 index 0000000..6426b6e --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\346\233\264\346\226\260.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\346\236\201\350\207\264.svg" "b/maisk_fiage/webroot/img/svg/home/\346\236\201\350\207\264.svg" new file mode 100644 index 0000000..13bb433 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\346\236\201\350\207\264.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225.svg" "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225.svg" new file mode 100644 index 0000000..4520910 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" new file mode 100644 index 0000000..c86d05e --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\346\230\223\347\224\250.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" new file mode 100644 index 0000000..fd101a4 --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\347\256\200\345\215\225\351\203\250\347\275\262.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/img/svg/home/\351\253\230\346\225\210.svg" "b/maisk_fiage/webroot/img/svg/home/\351\253\230\346\225\210.svg" new file mode 100644 index 0000000..7bf13be --- /dev/null +++ "b/maisk_fiage/webroot/img/svg/home/\351\253\230\346\225\210.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/insight.svg b/maisk_fiage/webroot/img/svg/insight.svg new file mode 100644 index 0000000..60fd7e9 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/insight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/knowledge.svg b/maisk_fiage/webroot/img/svg/knowledge.svg new file mode 100644 index 0000000..50401e5 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/knowledge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/number/1.svg b/maisk_fiage/webroot/img/svg/number/1.svg new file mode 100644 index 0000000..64506b5 --- /dev/null +++ b/maisk_fiage/webroot/img/svg/number/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/img/svg/number/2.svg b/maisk_fiage/webroot/img/svg/number/2.svg new file mode 100644 index 0000000..7fb58ee --- /dev/null +++ b/maisk_fiage/webroot/img/svg/number/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/index.html b/maisk_fiage/webroot/index.html new file mode 100644 index 0000000..629b984 --- /dev/null +++ b/maisk_fiage/webroot/index.html @@ -0,0 +1,39 @@ + + + + + + vitepress | Tritium + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

Tritium

CuprumTurbo Scheduler的衍生版本

他何尝不是我们心中神明呢,一切,终将得到救赎... ...

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/join.html b/maisk_fiage/webroot/join.html new file mode 100644 index 0000000..b43449a --- /dev/null +++ b/maisk_fiage/webroot/join.html @@ -0,0 +1,39 @@ + + + + + + 加入我们 | 空荧酒馆 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

加入我们

为了进一步完善和优化项目,我们诚招各位小伙伴加入团队一起完成项目,本项目及其衍生项目完全免费。 或者如果您有任何其他有任何好的想法或者设计,也欢迎加入我们一起实现。

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/log.html b/maisk_fiage/webroot/log.html new file mode 100644 index 0000000..b3d2adc --- /dev/null +++ b/maisk_fiage/webroot/log.html @@ -0,0 +1,45 @@ + + + + + + 更新日志 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

更新日志

日志[🥰🥰]

2024-11-10

更新日志:

V4.8.2日志

重大更新,解决了部分人不看文档并且不会使用导入配置的bug. 现使用Tritium_box非必要不建议,存在未知bug,由于无人反馈使用状态,现快进到存档

V4.8.1日志

- 优化MTK平台的GPU参数
+- 优化性能模式的性能冗余 升频延迟
+- 改进性能jank Bigjank情况下的Boost值

贡献:

  • @chenzyadb
  • @Suni-code
  • @NightRainMilkyWay

Full Changelog: V4.8.1 -> V4.8.2

使用项目

2023-12-24

Tritium_V4.6.3

更新日志:

优化 均衡模式功耗
+优化 均衡模式流畅度
+改进 降低均衡模式点击延迟
+改进 均衡模式掉帧监测效果
+
2024-06-13

Tritium V4.0.0 正式版 Latest

更新日志:
模块更新:

  • 同步上游模块文件
    调度更新:
  • 适配上游调度V19版本的代码
  • 优化极速模式
  • 更改省电 均衡 性能模式功耗限制
2024-03-19
  • 大部分工作完成
2024-01-20
  • home页面美化,添加阿库娅
  • 更新config``theme等配置文件及文件夹
2024-01-16

文档📃建站,

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/md-enhance-guide.html b/maisk_fiage/webroot/md-enhance-guide.html new file mode 100644 index 0000000..539f1d8 --- /dev/null +++ b/maisk_fiage/webroot/md-enhance-guide.html @@ -0,0 +1,39 @@ + + + + + + Markdown 增强语法 | 空荧酒馆 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

上下角标

站点中的 Markdown 文件支持上下角标

语法

  • 使用 ^ ^ 进行上角标标注。
  • 使用 ~ ~ 进行下角标标注。

TIP

转义

你可以使用 \ 来转义 ^ 和 ~:

md
H\~2~O 19\^th^

会被渲染为

H~2~O 19^th^

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/sitemap.xml b/maisk_fiage/webroot/sitemap.xml new file mode 100644 index 0000000..e0c5950 --- /dev/null +++ b/maisk_fiage/webroot/sitemap.xml @@ -0,0 +1 @@ +https://tritium.nightrainmilkyway.cn/FAQ/FAQ2024-10-23T09:01:16.000Zhttps://tritium.nightrainmilkyway.cn/about2024-10-23T09:01:16.000Zhttps://tritium.nightrainmilkyway.cn/agreement2024-01-25T22:02:33.000Zhttps://tritium.nightrainmilkyway.cn/clown2024-02-29T16:12:16.000Zhttps://tritium.nightrainmilkyway.cn/disclaimer2024-10-23T09:01:16.000Zhttps://tritium.nightrainmilkyway.cn/guide/CpuGovernor2024-10-22T02:54:26.000Zhttps://tritium.nightrainmilkyway.cn/guide/Customize2024-10-23T09:01:16.000Zhttps://tritium.nightrainmilkyway.cn/guide/FileWriter2024-02-24T18:41:21.000Zhttps://tritium.nightrainmilkyway.cn/guide/Json2024-10-22T02:54:26.000Zhttps://tritium.nightrainmilkyway.cn/guide/MtkGpuGovernor2024-02-24T18:41:21.000Zhttps://tritium.nightrainmilkyway.cn/guide/ThreadSchedOpt2024-06-13T02:12:10.000Zhttps://tritium.nightrainmilkyway.cn/guide/download2024-10-25T09:13:56.000Zhttps://tritium.nightrainmilkyway.cn/guide/start2024-10-22T02:54:26.000Zhttps://tritium.nightrainmilkyway.cn/guide/use2024-10-23T09:01:16.000Zhttps://tritium.nightrainmilkyway.cn/2024-10-22T02:54:26.000Zhttps://tritium.nightrainmilkyway.cn/join2024-02-04T15:17:58.000Zhttps://tritium.nightrainmilkyway.cn/log2024-10-21T11:56:13.000Zhttps://tritium.nightrainmilkyway.cn/team2023-11-16T16:08:42.000Z \ No newline at end of file diff --git "a/maisk_fiage/webroot/svg/123\344\272\221\347\233\230.svg" "b/maisk_fiage/webroot/svg/123\344\272\221\347\233\230.svg" new file mode 100644 index 0000000..0e2d870 --- /dev/null +++ "b/maisk_fiage/webroot/svg/123\344\272\221\347\233\230.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/alipay (1).svg b/maisk_fiage/webroot/svg/alipay (1).svg new file mode 100644 index 0000000..a0bcfe0 --- /dev/null +++ b/maisk_fiage/webroot/svg/alipay (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/alipay.svg b/maisk_fiage/webroot/svg/alipay.svg new file mode 100644 index 0000000..a0bcfe0 --- /dev/null +++ b/maisk_fiage/webroot/svg/alipay.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/alist.svg b/maisk_fiage/webroot/svg/alist.svg new file mode 100644 index 0000000..e56705b --- /dev/null +++ b/maisk_fiage/webroot/svg/alist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/baidu (1).svg b/maisk_fiage/webroot/svg/baidu (1).svg new file mode 100644 index 0000000..9c5eceb --- /dev/null +++ b/maisk_fiage/webroot/svg/baidu (1).svg @@ -0,0 +1,9 @@ + + + + diff --git a/maisk_fiage/webroot/svg/baidu-drive (1).svg b/maisk_fiage/webroot/svg/baidu-drive (1).svg new file mode 100644 index 0000000..9acd9fd --- /dev/null +++ b/maisk_fiage/webroot/svg/baidu-drive (1).svg @@ -0,0 +1,9 @@ + + + + diff --git a/maisk_fiage/webroot/svg/baidu-drive.svg b/maisk_fiage/webroot/svg/baidu-drive.svg new file mode 100644 index 0000000..9acd9fd --- /dev/null +++ b/maisk_fiage/webroot/svg/baidu-drive.svg @@ -0,0 +1,9 @@ + + + + diff --git a/maisk_fiage/webroot/svg/baidu.svg b/maisk_fiage/webroot/svg/baidu.svg new file mode 100644 index 0000000..9c5eceb --- /dev/null +++ b/maisk_fiage/webroot/svg/baidu.svg @@ -0,0 +1,9 @@ + + + + diff --git a/maisk_fiage/webroot/svg/bilibili (1).svg b/maisk_fiage/webroot/svg/bilibili (1).svg new file mode 100644 index 0000000..3bf0dbd --- /dev/null +++ b/maisk_fiage/webroot/svg/bilibili (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/bilibili.svg b/maisk_fiage/webroot/svg/bilibili.svg new file mode 100644 index 0000000..3bf0dbd --- /dev/null +++ b/maisk_fiage/webroot/svg/bilibili.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/btc (1).svg b/maisk_fiage/webroot/svg/btc (1).svg new file mode 100644 index 0000000..1c05b02 --- /dev/null +++ b/maisk_fiage/webroot/svg/btc (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/btc.svg b/maisk_fiage/webroot/svg/btc.svg new file mode 100644 index 0000000..1c05b02 --- /dev/null +++ b/maisk_fiage/webroot/svg/btc.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/circle-Git-hub.svg b/maisk_fiage/webroot/svg/circle-Git-hub.svg new file mode 100644 index 0000000..b0e6016 --- /dev/null +++ b/maisk_fiage/webroot/svg/circle-Git-hub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/cocogoat (1).svg b/maisk_fiage/webroot/svg/cocogoat (1).svg new file mode 100644 index 0000000..6166d14 --- /dev/null +++ b/maisk_fiage/webroot/svg/cocogoat (1).svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/maisk_fiage/webroot/svg/cocogoat.svg b/maisk_fiage/webroot/svg/cocogoat.svg new file mode 100644 index 0000000..6166d14 --- /dev/null +++ b/maisk_fiage/webroot/svg/cocogoat.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/maisk_fiage/webroot/svg/eth (1).svg b/maisk_fiage/webroot/svg/eth (1).svg new file mode 100644 index 0000000..2013a1a --- /dev/null +++ b/maisk_fiage/webroot/svg/eth (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/eth.svg b/maisk_fiage/webroot/svg/eth.svg new file mode 100644 index 0000000..2013a1a --- /dev/null +++ b/maisk_fiage/webroot/svg/eth.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/gitee (1).svg b/maisk_fiage/webroot/svg/gitee (1).svg new file mode 100644 index 0000000..93db2b3 --- /dev/null +++ b/maisk_fiage/webroot/svg/gitee (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/gitee.svg b/maisk_fiage/webroot/svg/gitee.svg new file mode 100644 index 0000000..93db2b3 --- /dev/null +++ b/maisk_fiage/webroot/svg/gitee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/github (1).svg b/maisk_fiage/webroot/svg/github (1).svg new file mode 100644 index 0000000..c87b084 --- /dev/null +++ b/maisk_fiage/webroot/svg/github (1).svg @@ -0,0 +1,5 @@ + + GitHub + + diff --git a/maisk_fiage/webroot/svg/github.svg b/maisk_fiage/webroot/svg/github.svg new file mode 100644 index 0000000..c87b084 --- /dev/null +++ b/maisk_fiage/webroot/svg/github.svg @@ -0,0 +1,5 @@ + + GitHub + + diff --git a/maisk_fiage/webroot/svg/mys (1).svg b/maisk_fiage/webroot/svg/mys (1).svg new file mode 100644 index 0000000..2fea554 --- /dev/null +++ b/maisk_fiage/webroot/svg/mys (1).svg @@ -0,0 +1,650 @@ + + diff --git a/maisk_fiage/webroot/svg/mys.svg b/maisk_fiage/webroot/svg/mys.svg new file mode 100644 index 0000000..2fea554 --- /dev/null +++ b/maisk_fiage/webroot/svg/mys.svg @@ -0,0 +1,650 @@ + + diff --git a/maisk_fiage/webroot/svg/paypal (1).svg b/maisk_fiage/webroot/svg/paypal (1).svg new file mode 100644 index 0000000..6e5bd88 --- /dev/null +++ b/maisk_fiage/webroot/svg/paypal (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/paypal.svg b/maisk_fiage/webroot/svg/paypal.svg new file mode 100644 index 0000000..6e5bd88 --- /dev/null +++ b/maisk_fiage/webroot/svg/paypal.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/qq (1).svg b/maisk_fiage/webroot/svg/qq (1).svg new file mode 100644 index 0000000..cf5af79 --- /dev/null +++ b/maisk_fiage/webroot/svg/qq (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/qq-channel (1).svg b/maisk_fiage/webroot/svg/qq-channel (1).svg new file mode 100644 index 0000000..ad58a62 --- /dev/null +++ b/maisk_fiage/webroot/svg/qq-channel (1).svg @@ -0,0 +1,6 @@ + + + diff --git a/maisk_fiage/webroot/svg/qq-channel.svg b/maisk_fiage/webroot/svg/qq-channel.svg new file mode 100644 index 0000000..ad58a62 --- /dev/null +++ b/maisk_fiage/webroot/svg/qq-channel.svg @@ -0,0 +1,6 @@ + + + diff --git a/maisk_fiage/webroot/svg/qq-fill (1).svg b/maisk_fiage/webroot/svg/qq-fill (1).svg new file mode 100644 index 0000000..bebe94c --- /dev/null +++ b/maisk_fiage/webroot/svg/qq-fill (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/qq-fill.svg b/maisk_fiage/webroot/svg/qq-fill.svg new file mode 100644 index 0000000..bebe94c --- /dev/null +++ b/maisk_fiage/webroot/svg/qq-fill.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/qq.svg b/maisk_fiage/webroot/svg/qq.svg new file mode 100644 index 0000000..cf5af79 --- /dev/null +++ b/maisk_fiage/webroot/svg/qq.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/qqpay (1).svg b/maisk_fiage/webroot/svg/qqpay (1).svg new file mode 100644 index 0000000..25ce19a --- /dev/null +++ b/maisk_fiage/webroot/svg/qqpay (1).svg @@ -0,0 +1,3 @@ + + + diff --git a/maisk_fiage/webroot/svg/qqpay.svg b/maisk_fiage/webroot/svg/qqpay.svg new file mode 100644 index 0000000..25ce19a --- /dev/null +++ b/maisk_fiage/webroot/svg/qqpay.svg @@ -0,0 +1,3 @@ + + + diff --git a/maisk_fiage/webroot/svg/quark-drive (1).svg b/maisk_fiage/webroot/svg/quark-drive (1).svg new file mode 100644 index 0000000..35b4427 --- /dev/null +++ b/maisk_fiage/webroot/svg/quark-drive (1).svg @@ -0,0 +1,7 @@ + + + + + diff --git a/maisk_fiage/webroot/svg/quark-drive.svg b/maisk_fiage/webroot/svg/quark-drive.svg new file mode 100644 index 0000000..35b4427 --- /dev/null +++ b/maisk_fiage/webroot/svg/quark-drive.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/maisk_fiage/webroot/svg/reddit (1).svg b/maisk_fiage/webroot/svg/reddit (1).svg new file mode 100644 index 0000000..2c60773 --- /dev/null +++ b/maisk_fiage/webroot/svg/reddit (1).svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/reddit.svg b/maisk_fiage/webroot/svg/reddit.svg new file mode 100644 index 0000000..2c60773 --- /dev/null +++ b/maisk_fiage/webroot/svg/reddit.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/release.svg b/maisk_fiage/webroot/svg/release.svg new file mode 100644 index 0000000..5859e9a --- /dev/null +++ b/maisk_fiage/webroot/svg/release.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/svg/tianyi-drive (1).svg b/maisk_fiage/webroot/svg/tianyi-drive (1).svg new file mode 100644 index 0000000..bf111d6 --- /dev/null +++ b/maisk_fiage/webroot/svg/tianyi-drive (1).svg @@ -0,0 +1,9 @@ + + + + Layer 1 + + + diff --git a/maisk_fiage/webroot/svg/tianyi-drive.svg b/maisk_fiage/webroot/svg/tianyi-drive.svg new file mode 100644 index 0000000..bf111d6 --- /dev/null +++ b/maisk_fiage/webroot/svg/tianyi-drive.svg @@ -0,0 +1,9 @@ + + + + Layer 1 + + + diff --git a/maisk_fiage/webroot/svg/topic (1).svg b/maisk_fiage/webroot/svg/topic (1).svg new file mode 100644 index 0000000..83b9070 --- /dev/null +++ b/maisk_fiage/webroot/svg/topic (1).svg @@ -0,0 +1,13 @@ + + + diff --git a/maisk_fiage/webroot/svg/topic.svg b/maisk_fiage/webroot/svg/topic.svg new file mode 100644 index 0000000..83b9070 --- /dev/null +++ b/maisk_fiage/webroot/svg/topic.svg @@ -0,0 +1,13 @@ + + + diff --git a/maisk_fiage/webroot/svg/txc (1).svg b/maisk_fiage/webroot/svg/txc (1).svg new file mode 100644 index 0000000..4ce3f5f --- /dev/null +++ b/maisk_fiage/webroot/svg/txc (1).svg @@ -0,0 +1,27 @@ + diff --git a/maisk_fiage/webroot/svg/txc.svg b/maisk_fiage/webroot/svg/txc.svg new file mode 100644 index 0000000..4ce3f5f --- /dev/null +++ b/maisk_fiage/webroot/svg/txc.svg @@ -0,0 +1,27 @@ + diff --git a/maisk_fiage/webroot/svg/wechatpay (1).svg b/maisk_fiage/webroot/svg/wechatpay (1).svg new file mode 100644 index 0000000..950049e --- /dev/null +++ b/maisk_fiage/webroot/svg/wechatpay (1).svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/wechatpay.svg b/maisk_fiage/webroot/svg/wechatpay.svg new file mode 100644 index 0000000..950049e --- /dev/null +++ b/maisk_fiage/webroot/svg/wechatpay.svg @@ -0,0 +1 @@ + diff --git a/maisk_fiage/webroot/svg/wxtl (1).svg b/maisk_fiage/webroot/svg/wxtl (1).svg new file mode 100644 index 0000000..18162be --- /dev/null +++ b/maisk_fiage/webroot/svg/wxtl (1).svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/maisk_fiage/webroot/svg/wxtl.svg b/maisk_fiage/webroot/svg/wxtl.svg new file mode 100644 index 0000000..18162be --- /dev/null +++ b/maisk_fiage/webroot/svg/wxtl.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git "a/maisk_fiage/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" "b/maisk_fiage/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" new file mode 100644 index 0000000..9551ff0 --- /dev/null +++ "b/maisk_fiage/webroot/svg/\350\223\235\345\245\217\344\272\221.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/maisk_fiage/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" "b/maisk_fiage/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" new file mode 100644 index 0000000..80fdb31 --- /dev/null +++ "b/maisk_fiage/webroot/svg/\351\230\277\351\207\214\344\272\221\347\233\230.svg" @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maisk_fiage/webroot/team.html b/maisk_fiage/webroot/team.html new file mode 100644 index 0000000..1b2bc46 --- /dev/null +++ b/maisk_fiage/webroot/team.html @@ -0,0 +1,39 @@ + + + + + + 关于团队 | Redemption Project + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Skip to content

关于团队

Tritium的背后是一个基本来自中国的开源社区,他们为Tritium的诞生与维护做出了巨大贡献,以下是部分成员的个人信息 featured below.

Learn more about teams

核心开发成员

我们感谢chenzyadb的项目开发, 他对Tritium的诞生以及上游维护与开发做出了核心贡献.

社区维护伙伴

区维护伙伴是那些即将维护或分享自定义配置文件的人员,他们积极跟进上游并不断优化体验.乐于积极分享

社区伙伴

社区伙伴是参与到本计划的反馈&测试人员,他们为我们提供了大量的矫正数据.

+ + + + \ No newline at end of file diff --git a/maisk_fiage/webroot/video/Bande-annonce.mp3 b/maisk_fiage/webroot/video/Bande-annonce.mp3 new file mode 100644 index 0000000..596aece Binary files /dev/null and b/maisk_fiage/webroot/video/Bande-annonce.mp3 differ diff --git "a/maisk_fiage/webroot/\350\212\231\345\256\201\345\250\234.png" "b/maisk_fiage/webroot/\350\212\231\345\256\201\345\250\234.png" new file mode 100644 index 0000000..f12a76a Binary files /dev/null and "b/maisk_fiage/webroot/\350\212\231\345\256\201\345\250\234.png" differ diff --git "a/maisk_fiage/webroot/\351\230\277\345\272\223\345\250\205.png" "b/maisk_fiage/webroot/\351\230\277\345\272\223\345\250\205.png" new file mode 100644 index 0000000..321015d Binary files /dev/null and "b/maisk_fiage/webroot/\351\230\277\345\272\223\345\250\205.png" differ