From be0e9abd389793bd2e92f9c780076ae2650a0837 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Sat, 5 Oct 2024 02:50:31 +0000 Subject: [PATCH] deploy: a01dc5f0b0e4298768f25d0d242c99574a712270 --- 404.html | 2 +- .../8h7hGeWScgOFqFVqfVe7x/_buildManifest.js | 1 + .../_ssgManifest.js | 0 .../b_SV3yU1Gi4S4J0Gp_cm3/_buildManifest.js | 1 - _next/static/chunks/nextra-data-en-US.json | 2 +- ...2526a49676.js => _app-d88949ec6af26b91.js} | 2 +- .../pages/docs/changelog-10f87d7355f7c23b.js | 1 - docs/api.html | 4 +- docs/bestpractice.html | 4 +- docs/changelog.html | 181 ------------------ docs/cli.html | 4 +- docs/faq.html | 4 +- docs/getting-started.html | 4 +- docs/integration.html | 4 +- docs/publish.html | 4 +- index.html | 2 +- pricing.html | 2 +- 17 files changed, 20 insertions(+), 202 deletions(-) create mode 100644 _next/static/8h7hGeWScgOFqFVqfVe7x/_buildManifest.js rename _next/static/{b_SV3yU1Gi4S4J0Gp_cm3 => 8h7hGeWScgOFqFVqfVe7x}/_ssgManifest.js (100%) delete mode 100644 _next/static/b_SV3yU1Gi4S4J0Gp_cm3/_buildManifest.js rename _next/static/chunks/pages/{_app-350dfc2526a49676.js => _app-d88949ec6af26b91.js} (68%) delete mode 100644 _next/static/chunks/pages/docs/changelog-10f87d7355f7c23b.js delete mode 100644 docs/changelog.html diff --git a/404.html b/404.html index c4a4a04..fdb0a63 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/8h7hGeWScgOFqFVqfVe7x/_buildManifest.js b/_next/static/8h7hGeWScgOFqFVqfVe7x/_buildManifest.js new file mode 100644 index 0000000..b54ab68 --- /dev/null +++ b/_next/static/8h7hGeWScgOFqFVqfVe7x/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(s){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,"static/chunks/513-aa5d85e05f9d4121.js","static/chunks/pages/index-2cb378b650e8a471.js"],"/_error":["static/chunks/pages/_error-4f469fabddeb9740.js"],"/docs/api":[s,"static/chunks/pages/docs/api-7ca34217fde4dabe.js"],"/docs/bestpractice":[s,"static/chunks/pages/docs/bestpractice-ead96873b3acec42.js"],"/docs/cli":[s,"static/chunks/pages/docs/cli-41b24fff9d34f2ab.js"],"/docs/faq":[s,"static/chunks/pages/docs/faq-b5142198b77cdc24.js"],"/docs/getting-started":[s,"static/chunks/pages/docs/getting-started-a192a9d8fab31ba2.js"],"/docs/integration":[s,"static/chunks/pages/docs/integration-7eb79b0e6960a674.js"],"/docs/publish":["static/chunks/42a66924-7f61374ecffda3ae.js",s,"static/chunks/521-a924734bdb9d2826.js","static/chunks/pages/docs/publish-918e2e416c022bcc.js"],"/pricing":[s,"static/chunks/598-51a9d588edd87ff7.js","static/chunks/pages/pricing-7b24a438235c48c1.js"],sortedPages:["/","/_app","/_error","/docs/api","/docs/bestpractice","/docs/cli","/docs/faq","/docs/getting-started","/docs/integration","/docs/publish","/pricing"]}}("static/chunks/781-e03c9a788935ae97.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/b_SV3yU1Gi4S4J0Gp_cm3/_ssgManifest.js b/_next/static/8h7hGeWScgOFqFVqfVe7x/_ssgManifest.js similarity index 100% rename from _next/static/b_SV3yU1Gi4S4J0Gp_cm3/_ssgManifest.js rename to _next/static/8h7hGeWScgOFqFVqfVe7x/_ssgManifest.js diff --git a/_next/static/b_SV3yU1Gi4S4J0Gp_cm3/_buildManifest.js b/_next/static/b_SV3yU1Gi4S4J0Gp_cm3/_buildManifest.js deleted file mode 100644 index 921dc1a..0000000 --- a/_next/static/b_SV3yU1Gi4S4J0Gp_cm3/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(s){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,"static/chunks/513-aa5d85e05f9d4121.js","static/chunks/pages/index-2cb378b650e8a471.js"],"/_error":["static/chunks/pages/_error-4f469fabddeb9740.js"],"/docs/api":[s,"static/chunks/pages/docs/api-7ca34217fde4dabe.js"],"/docs/bestpractice":[s,"static/chunks/pages/docs/bestpractice-ead96873b3acec42.js"],"/docs/changelog":[s,"static/chunks/pages/docs/changelog-10f87d7355f7c23b.js"],"/docs/cli":[s,"static/chunks/pages/docs/cli-41b24fff9d34f2ab.js"],"/docs/faq":[s,"static/chunks/pages/docs/faq-b5142198b77cdc24.js"],"/docs/getting-started":[s,"static/chunks/pages/docs/getting-started-a192a9d8fab31ba2.js"],"/docs/integration":[s,"static/chunks/pages/docs/integration-7eb79b0e6960a674.js"],"/docs/publish":["static/chunks/42a66924-7f61374ecffda3ae.js",s,"static/chunks/521-a924734bdb9d2826.js","static/chunks/pages/docs/publish-918e2e416c022bcc.js"],"/pricing":[s,"static/chunks/598-51a9d588edd87ff7.js","static/chunks/pages/pricing-7b24a438235c48c1.js"],sortedPages:["/","/_app","/_error","/docs/api","/docs/bestpractice","/docs/changelog","/docs/cli","/docs/faq","/docs/getting-started","/docs/integration","/docs/publish","/pricing"]}}("static/chunks/781-e03c9a788935ae97.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/chunks/nextra-data-en-US.json b/_next/static/chunks/nextra-data-en-US.json index 009a7cc..71a77c0 100644 --- a/_next/static/chunks/nextra-data-en-US.json +++ b/_next/static/chunks/nextra-data-en-US.json @@ -1 +1 @@ -{"/docs/api":{"title":"API参考","data":{"javascript-方法#JavaScript 方法":"","new-pushyoptions-pushyoptions#new Pushy(options: PushyOptions)":"创建 Pushy 热更新服务实例,其构造参数如下:\ninterface PushyOptions {\n // 必填,通过pushy createApp或selectApp命令,或在网页管理端获取\n appKey: string;\n // 自定义日志输出,也可用于上报统计数据\n logger?: ({ type, data }: { type: EventType; data: EventData }) => void;\n // 触发自动检查更新的策略\n checkStrategy?:\n | \"onAppStart\" // 仅在app启动时\n | \"onAppResume\" // 仅在app从后台切换到前台时\n | \"both\"; // 默认值,同时包含前两个场景\n | null; // 不自动检查更新,必须手动调用checkUpdate方法,此选项需 v10.4.2+ 版本\n // 自动下载和应用更新的策略\n updateStrategy?:\n | \"alwaysAlert\" // 调试环境(__DEV__)默认值,使用系统默认的alert页面提示热更且会在有报错时弹出提示\n | \"alertUpdateAndIgnoreError\" // 生产环境默认值,在有热更时使用系统默认的alert页面提示热更,但不弹出任何报错提示\n | \"silentAndNow\" // 自动静默下载并立刻应用热更\n | \"silentAndLater\"; // 自动静默下载,但仅在用户退出app后重启时应用更新\n | null; // 不自动下载和应用更新,如需自定义热更界面请选择此项\n // 是否在热更重启后自动标记为成功,默认为true\n // 一般情况下不建议手动标记\n autoMarkSuccess?: boolean;\n // 是否在若干ms后自动清除最后的报错,默认为不清除\n dismissErrorAfter?: number;\n // 是否在开发环境中检查热更,默认为false。如需在开发环境中调试热更,请打开此选项。\n // 但即便打开此选项,也仅能检查、下载热更,并不能实际应用热更。实际应用热更必须在release包中进行。\n // 此选项需 v10.4.2+ 版本\n debug?: boolean;\n // 是否在调用 checkUpdate 和 downloadUpdate 时抛出错误,默认为不抛出错误,通过 lastError 获取错误信息\n // 启用后可以使用 try catch 语句 捕获错误,同时 lastError 也仍然可用\n // try {\n // await checkUpdate();\n // } catch (e) {\n // console.error(e);\n // }\n // 此选项需 v10.8.0+ 版本\n throwError?: boolean;\n // 在检查更新前执行,返回 false 则取消检查更新\n // 此选项需 v10.12.0+ 版本\n beforeCheckUpdate?: () => Promise;\n // 在下载更新前执行,返回 false 则取消下载更新,可以配合自定义的 metaInfo 做一些条件控制\n // 此选项需 v10.12.0+ 版本\n beforeDownloadUpdate?: (info: UpdateInfo) => Promise;\n}\n// 日志事件类型\ntype EventType =\n // 更新失败,重启后发生回滚\n | \"rollback\"\n // 检查更新时报错\n | \"errorChecking\"\n // 正在发起检查\n | \"checking\"\n // 正在下载更新\n | \"downloading\"\n // 更新失败\n | \"errorUpdate\"\n // 更新成功\n | \"markSuccess\"\n // 下载apk\n | \"downloadingApk\"\n // 下载apk前申请存储权限被用户拒绝\n | \"rejectStoragePermission\"\n // 下载apk前申请存储权限发生错误\n | \"errorStoragePermission\"\n // 下载apk时发生错误\n | \"errorDownloadAndInstallApk\";\n// 日志事件数据\ninterface EventData {\n // 当前已完成的热更hash值,如尚未热更则为空字符串\n currentVersion: string;\n // 客户端版本信息\n cInfo: {\n pushy: string; // 当前pushy版本\n rn: string; // 当前rn版本\n os: string; // 当前操作系统及版本\n uuid: string; // 用户标识符\n };\n // 客户端原生版本号\n packageVersion: string;\n // 编译时间戳\n buildTime: number;\n // 报错相关的信息\n message?: string;\n // 发生回滚的版本hash值\n rolledBackVersion?: string;\n // 更新失败的新版本hash值\n newVersion?: string;\n // 其他一些数据\n [key: string]: any;\n}","usepushy#usePushy()":"热更相关的工具函数。\n注意,在使用 的当前组件(一般是根组件)中无法直接调用usePushy,只有当前组件的子组件才能调用。\nconst {\n checkUpdate,\n switchVersion,\n switchVersionLater,\n markSuccess,\n dismissError,\n downloadUpdate,\n downloadAndInstallApk,\n getCurrentVersionInfo,\n parseTestQrCode,\n currentHash,\n packageVersion,\n client,\n progress,\n updateInfo,\n lastError,\n} = usePushy();\n其类型定义和功能如下:\ninterface PushyContext {\n // 检查更新\n checkUpdate: () => Promise;\n // 下载热更完成后调用,立即重启切换新版本\n switchVersion: () => void;\n // 下载热更完成后调用,用户手动重启app后切换新版本(静默更新)\n switchVersionLater: () => void;\n // 热更完成重启后,手动标记热更完成\n markSuccess: () => void;\n // 清除最后的报错状态\n dismissError: () => void;\n // 下载热更\n downloadUpdate: () => Promise;\n // 下载并安装apk\n downloadAndInstallApk: (url: string) => Promise;\n // 获取当前已热更版本的信息\n getCurrentVersionInfo: () => Promise<{\n name?: string;\n description?: string;\n metaInfo?: string;\n }>;\n // 解析测试二维码,此方法需 v10.11.2+ 版本\n parseTestQrCode: (qrCode: string) => void;\n // 当前的版本hash\n currentHash: string;\n // 当前的原生版本号\n packageVersion: string;\n // 当前的pushy热更服务示例\n client?: Pushy;\n // 下载开始后的进度数据\n progress?: {\n hash: string;\n // 已下载的字节数\n received: number;\n // 待下载的总字节数\n total: number;\n };\n // 热更相关信息\n updateInfo?: {\n // 已是最新版本,无需热更\n upToDate?: true;\n // 当前原生版本已过期,需要下载新的原生版本\n expired?: true;\n // 在pushy网页管理端设置的原生版本下载地址\n downloadUrl?: string;\n // 是否存在新的热更\n update?: true;\n // 新热更的版本名称\n name?: string;\n // 新热更的hash值\n hash?: string;\n // 新热更的更新说明\n description?: string;\n // 新热更携带的额外元数据\n metaInfo?: string;\n // 当前热更是否已暂停\n paused?:\n | \"app\" // 当前应用所有原生版本暂停\n | \"package\"; // 仅当前原生版本暂停\n // 其他信息\n message?: string;\n };\n // 检查、下载、应用热更等过程中的最新一次报错\n lastError?: Error;\n}","async-function-checkupdate#async function checkUpdate()":"触发更新检查,更新usePushy中的updateInfo(注意checkUpdate方法本身没有返回值),返回值有三种情形:\n{expired: true}:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),需要引导用户下载或跳转到应用市场(需要在网页管理端设置中填写downloadUrl)。如需在应用内执行 apk 更新,还需配置安装权限。\n{\n expired: true,\n downloadUrl: 'http://appstore/downloadUrl',\n}\n{upToDate: true}:当前已经更新到最新,无需进行更新。\n{update: true}:当前有新版本可以更新。name、description字段可以用于展示给用户版本号,更新内容等信息,而metaInfo字段则可以根据你的需求自定义一些标记(如是否静默更新、是否强制更新等等,自己根据标记的属性做一些条件流程控制),具体用法可参考场景实践。另外还有几个字段,包含了热更新文件的下载地址,\n{\n update: true,\n name: '1.0.3-rc',\n hash: 'hash',\n description: '添加聊天功能\\n修复商城页面BUG',\n metaInfo: '{\"silent\":true}',\n pdiffUrl: 'http://update-packages.reactnative.cn/hash',\n diffUrl: 'http://update-packages.reactnative.cn/hash',\n}","async-function-downloadupdate#async function downloadUpdate()":"下载热更包。仅当update:true时实际进行下载。会更新progress数据。","async-function-downloadandinstallapkurl#async function downloadAndInstallApk(url)":"下载更新的 apk 包并直接安装。url必须为可直接下载到 apk 文件的地址。注意要使用这个功能还需要在AndroidManifest.xml中手动添加安装权限,如果需要考虑 Android 7.0 以下的客户,则还需要添加外部存储权限。\n\n\n\n注意某些应用市场可能会因为上述权限拒绝应用上架。去掉上述两个权限并不影响热更新功能。","function-marksuccess#function markSuccess()":"一般情况下请勿手动调用此函数。 调用此函数作为更新成功的标记(否则下次启动会默认失败自动回滚)。","async-function-getcurrentversioninfo#async function getCurrentVersionInfo()":"获取当前已热更版本的信息(如尚未热更过则返回空对象)。返回值示例:\n{\n name: '1.0.3-rc',\n description: '添加聊天功能\\n修复商城页面BUG',\n metaInfo: '{\"silent\":true}',\n}","function-switchversion#function switchVersion()":"立即重启应用,并加载已经下载完毕的版本。","function-switchversionlater#function switchVersionLater()":"在下一次启动应用的时候加载已经下载完毕的版本。","function-parsetestqrcodeqrcode-string#function parseTestQrCode(qrCode: string)":"解析测试二维码,一般用于给 QA 人员测试热更新。如果在应用中已有扫码功能,则可以在应用中扫描 pushy 后台的测试二维码来测试任意版本的热更包。注意使用此方法,上述界面中的\"使用 Deep Link\"选项 请不要 勾选。代码示例:\n {\n // 识别到二维码后先关闭相机\n setShowCamera(false);\n // 先解析是否是pushy的测试二维码\n if (parseTestQrCode(codeStringValue)) {\n // 如果是pushy的测试二维码,则不再做其他业务扫码逻辑\n return;\n }\n // 如果不是,继续处理其他业务扫码逻辑\n }}\n/>","android-方法#Android 方法":"","updatecontextsetcustominstancemanagerreactinstancemanager-instancemanager#UpdateContext.setCustomInstanceManager(ReactInstanceManager instanceManager)":"如果是集成/混编 Android 方案,则可以使用此方法传入你自行创建的 ReactInstanceManager。自v5.5.8版本起可用。示例:\nimport cn.reactnative.modules.update.UpdateContext\nmReactInstanceManager = ReactInstanceManager.builder()\n // ...各种setter,但注意不要调用setBundleAssetName\n .setJSBundleFile(UpdateContext.getBundleUrl(mContext, \"assets://index.android.bundle\"))\n .build();\nUpdateContext.setCustomInstanceManager(mReactInstanceManager);"}},"/docs/bestpractice":{"title":"场景实践","data":{"优化原生和热更包体积#优化原生和热更包体积":"","ios-原生包优化ipa#iOS 原生包优化(ipa)":"对于同一份 archive(其版本号、编译时间和内置 bundle 已固定,不会受导出方式所影响),可以用不同选项多次导出 ipa,选择其中最小的上传到 pushy 服务器作为热更基准包。","android-原生包优化apk#Android 原生包优化(apk)":"apk 的优化主要考虑两个方向:\n启用 proguard 压缩混淆源码。但这一步可能导致一些使用反射的代码运行时报错,启用后需要充分测试每个页面和功能,以及需要阅读一些第三方关于 proguard 的特别设置说明。\n分开编译不同的 cpu 架构。找到android/app/build.gradle中的 cpu 架构部分,如下所示启用enable选项:\nsplits {\n abi {\n reset()\n- enable enableSeparateBuildPerCPUArchitecture\n+ enable true // 启用单独的 cpu 架构编译\n universalApk false // If true, also generate a universal APK\n }\n}\n如此一来会在编译目录中输出多个 apk 文件,分发和上传到热更新服务时只需要使用app-arm64-v8a-release.apk文件,可以大幅减小 apk 的大小。","热更新包优化ppk#热更新包优化(ppk)":"热更新包的主要内容是 js 包和其所引用的静态资源(主要是图片)。\njs 包成分分析。可以借助一些第三方工具(如react-native-bundle-visualizer)来分析 js 文件中哪些占比较大,是否可以用其他库替换等(如 dayjs 替换 moment,lodash-es 替换 lodash)。\n图片优化。\n在保证体验的情况下,使用一些工具对图片进行裁剪压缩。\n如不需要图片的透明像素,可以考虑将 png 格式转为 jpg 格式。\n还可以进一步考虑压缩比更高的图片格式,例如 webp 格式(需要第三方原生插件例如react-native-webp-format),heif 格式(iOS 11 和 Android 10 以上原生支持)等。这里有个图片格式对比可供参考 https://compare.rokka.io/_compare/#heif=40&jpeg=80&webp=80&av1=40&width=800。","有很多渠道包需要热更如何操作比较方便#有很多渠道包需要热更,如何操作比较方便?":"如果渠道包的js代码和初始资源有差别(无论多么细微的差别都会生成不同的 jsbundle),那么只能单独生成 apk,分别上传和绑定。可以考虑写一些脚本自动调用 cli 来执行批量操作。\n如果渠道包的js代码和初始资源完全一致,可以考虑使用Flavor 构建,或其他一些动态生成渠道包的方案(比如腾讯的 VasDolly,美团的 walle等),这样所有的渠道包基于同一个基础 apk 生成(因而会有相同的编译时间戳和 jsbundle)。这样可以只用上传一个基础 apk,对此 apk 的热更操作可以对所有渠道包生效。\n如果您是高级版、专业版或大客户VIP版客户,也可以考虑在管理后台的应用设置中启用忽略编译时间戳。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量。","如何支持-aab-格式的原生包#如何支持 aab 格式的原生包?":"如果您需要使用 aab 格式的 android 原生包,那么可以在上传到 Google play 之后,在其控制台中下载转换后的 apk 格式(见下图),然后将这个 apk 包上传到热更新的后台,即可正常支持热更新。","ci-的集成#CI 的集成":"在开发环境中,每次 bundle 都会生成一个不同名字的 ppk 文件,这不利于持续集成(CI)系统的引入。要解决这个问题,你可以使用--output参数来指定输出 ppk 文件的名字和路径,便于进行自动发布。","测试发布与回滚#测试、发布与回滚":"自 v10.11.2 版本开始,可以使用以下两种快捷扫码方案来测试热更,而无需提前进行绑定:\n若应用启用了 DeepLink 功能\n代码中无需任何改动,只需在上述界面中勾选“使用 Deep Link”,填入您应用的协议名,例如\"pushy://\",然后使用系统相机或系统内置的扫一扫功能扫码(注意不能使用微信扫码),即可自动调起应用并触发更新。\n若应用自带扫码功能\n请参考 parseTestQrCode 方法的说明。先发布一个测试包,再发布一个除了版本号以外均完全相同的正式包。例如,假设我们有一个正式包,版本为1.6.0,那么可以修改版本号重新打包一个1001.6.0,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。在每次往发布包发起热更新之前,先对测试包1001.6.0进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到正式包1.6.0上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。万一确实发生线上事故需要回滚的话,先立即对原生包或者整个应用设置暂停热更,然后更改绑定到之前正常的版本,或者利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送。","元信息meta-info的使用#元信息(Meta Info)的使用":"在发布热更新版本时,或者在网页端,你可以编辑版本的元信息。这是一段在检查更新时可以获得的字符串,你可以在其中按你所想的格式(一般建议用JSON 格式)保存一些信息。比如我们可以在元信息中约定字段标志silent,表示需要静默更新。当我们上传热更包填写 metainfo 时,以JSON 格式输入:\n{ \"silent\": true }\n请注意,我们并不对输入做任何格式校验和约束,请自行校验输入是否正确。\n此时在客户端检查更新时,能获取到我们刚刚输入的元信息,但它并不具备任何功能,只是一个字符串而已。所以我们其实需要预先在更新流程中加入对应的处理逻辑:\n// 调用 checkUpdate 获取 updateInfo\nif (updateInfo.expired) {\n // ... 原生包版本过期,下载或跳转下载页面\n} else if (updateInfo.upToDate) {\n // ... 没有更新,弹提示或忽略\n} else {\n // 有更新,一般来说我们在这里给用户弹窗提示,让用户选择是否更新\n // 那么静默更新的本质其实就是不弹窗,直接执行,所以可以在这里加入额外的判断流程\n // ...\n}\n我们在原有的更新流程中加入元信息的读取和判断:\nlet metaInfo = {};\ntry {\n // 注意 JSON 输入有可能有错误,需要用 try 语句来避免应用被带崩\n metaInfo = JSON.parse(updateInfo.metaInfo);\n} catch (e) {\n // 异常处理,忽略或上报?\n}\nif (metaInfo.silent) {\n // 如果热更包携带有 silent 字段,不询问用户,直接执行更新\n switchVersion();\n} else {\n // 否则还是走之前的询问流程\n // Alert.alert('提示', '检查到新的版本.......\n}\n又比如,可能某个版本包含一些重要的公告内容,所以还可以在上面插入一个公告字段等等。如何使用元信息,完全取决于您的想象力!"}},"/docs/changelog":{"title":"更新日志","data":{"10542024-04-23#10.5.4(2024-04-23)":"修复 web 端的兼容问题","10422024-04-22#10.4.2(2024-04-22)":"加入 debug 参数,允许在开发环境中调试热更\n热更策略中加入 null 选项,即禁止自动检查,完全手动控制","10102024-02-24#10.1.0(2024-02-24)":"全新设计的 api 接口,全面 hook 化,更易集成和自定义\n全面同时支持新老架构和 hermes","9002023-09-02#9.0.0(2023-09-02)":"初步支持新架构\n添加事件回调以方便统计","8012022-07-05#8.0.1(2022-07-05)":"没有 update.json 文件的情况下不会再报错","7412022-05-04#7.4.1(2022-05-04)":"修复极少数热更失败的情况","7342021-11-04#7.3.4(2021-11-04)":"新增快速集成方法。\n默认使用 AndroidX 支持库(使用npx jetify -r命令转换可以支持老的 support 库)","6402021-10-06#6.4.0(2021-10-06)":"新增查看本地版本信息的方法(getCurrentVersionInfo())","6302021-10-04#6.3.0(2021-10-04)":"库文件体积优化","6202021-08-13#6.2.0(2021-08-13)":"修复 android 7 及以下版本可能解压失败的问题","6102021-07-29#6.1.0(2021-07-29)":"修复频繁调用下载更新导致的图片丢失问题","6022021-05-18#6.0.2(2021-05-18)":"修复 android 7 及以下版本安装 apk 报错的问题","6002021-05-04#6.0.0(2021-05-04)":"换用 hdiff 算法,更新所需流量更少,速度更快\n修复一些少见的崩溃问题","51002020-12-18#5.10.0(2020-12-18)":"提升 iOS 更新的稳定性","5902020-09-27#5.9.0(2020-09-27)":"可在应用内直接下载安装新版本 apk","5832020-09-24#5.8.3(2020-09-24)":"加入下载进度回调","5702020-08-13#5.7.0(2020-08-13)":"初始化时检查 Android 的 bundle url 是否正确配置","5602020-05-26#5.6.0(2020-05-26)":"修复 iOS 更新偶尔报找不到 app.json 的问题","559-2020-04-14#5.5.9 (2020-04-14)":"修复编译时找不到 generateiOSBuildTime.sh 的问题","558-2020-04-02#5.5.8 (2020-04-02)":"提供 setCustomInstanceManager 方法,方便自己集成 RN 的用户调用","556-2020-02-11#5.5.6 (2020-02-11)":"bundle 时清除缓存\n修复更新包过大时可能出现的崩溃\npublish 时检查文件格式","555-2020-01-18#5.5.5 (2020-01-18)":"提升服务健壮性","554-2020-01-13#5.5.4 (2020-01-13)":"防止某些情况下安卓找不到 bundle 文件引起的崩溃","553-2019-12-18#5.5.3 (2019-12-18)":"忽略 hermes 的输出避免 buffer 溢出","552-2019-12-06#5.5.2 (2019-12-06)":"修复使用 use_frameworks 时无法读取时间戳的问题","550-2019-11-24#5.5.0 (2019-11-24)":"打包时加入时间戳","540-2019-11-16#5.4.0 (2019-11-16)":"修改类名方法名","532-2019-10-25#5.3.2 (2019-10-25)":"可以禁用 ios 端以避免审核被拒","530-2019-09-19#5.3.0 (2019-09-19)":"替换 apk reader 以避免某些环境读取 apk 版本号报错的问题","529-2019-09-18#5.2.9 (2019-09-18)":"添加 proguard 混淆规则以解决开启混淆后闪退的问题","528#5.2.8":"解决某些情形下 Android 调用 switchVersion 不能重启的问题","527#5.2.7":"改进 windows 端打更新包的兼容性(部分 windows 机器上会产生空 ppk 文件)","524#5.2.4":"支持 RN 0.61 的 hermes(路径变化)\niOS 端使用第三方的 SSZipArchive 以减少重名冲突","522#5.2.2":"修复一处导致 iOS 回滚的问题","521#5.2.1":"检测如果开启了 hermes,则自动编译为 hermes 字节码格式","520#5.2.0":"添加 typescript 声明\n支持 cocoapods","519#5.1.9":"重写 bundle 命令以提升版本兼容性\n改进命令行的输出样式","518#5.1.8":"服务器迁移到 https\nandroid 支持 64 位","516#5.1.6":"解决 Android 热更新后部分图片丢失问题:\n同一个项目中放置了多个完全相同的文件,在 5.1.0 至 5.1.5 之间的版本中,更新后有时会出现其中的部分无法显示。此问题在 5.1.6 版本修复。修复此问题涉及原生部分,需要重新打包。"}},"/docs/cli":{"title":"命令行工具","data":{"安装#安装":"$ npm install -g react-native-update-cli","命令#命令":"","pushy-bundle#pushy bundle":"生成资源包\nplatform: ios|android 对应的平台\nentryFile: 入口脚本文件\nintermediaDir: 临时文件输出目录\noutput: 最终 ppk 文件输出路径\ndev: 是否打包开发版本\nsourcemap: 是否生成 sourcemap(需 cli 版本 1.11.0+)","pushy-parseipa-ipafile#pushy parseIpa [ipaFile]":"解析 ipa 文件并输出一些相关信息,如版本号,编译时间戳等。","pushy-parseapk-apkfile#pushy parseApk [apkFile]":"解析 apk 文件并输出一些相关信息,如版本号,编译时间戳等。","pushy-diff-originnext#pushy diff [origin][next]":"提供两个 ppk 文件,生成从 origin 到 next 版本的差异更新包。\noutput: diff 文件输出路径","pushy-difffromapk-apkfilenext#pushy diffFromApk [apkFile][next]":"提供一个 apk 文件和一个 ppk 文件,生成从 apk 文件到 next 版本的差异更新包。如果使用热更新开放平台,你不需要自己执行此命令。\noutput: diff 文件输出路径","pushy-difffromipa-ipafilenext#pushy diffFromIpa [ipaFile][next]":"提供一个 ipa 文件和一个 ppk 文件,生成从 ipa 文件到 next 版本的差异更新包。如果使用热更新开放平台,你不需要自己执行此命令。\noutput: diff 文件输出路径","pushy-login-emailpwd#pushy login [email][pwd]":"登录热更新开放平台。你需要先登录才能使用下面的命令。","pushy-logout#pushy logout":"登出并清除本地的登录信息","pushy-me#pushy me":"查看自己是否已经登录,以及昵称等信息。","pushy-createapp#pushy createApp":"创建应用并立刻绑定到当前工程。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台\nname: 应用名称\ndownloadUrl: 应用安装包的下载地址","pushy-deleteapp-appid#pushy deleteApp [appId]":"删除已有应用。所有已创建的应用包、热更新版本都会被同时删除。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-apps#pushy apps":"查看当前已创建的全部应用。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-selectapp-appid#pushy selectApp [appId]":"绑定应用到当前工程。\nplatform: ios|android 对应的平台","pushy-uploadipa-ipafile#pushy uploadIpa [ipaFile]":"上传 ipa 文件到开放平台。\nnote: 备注(cli 需 1.24.0 或更高版本)","pushy-uploadapk-apkfile#pushy uploadApk [apkFile]":"上传 apk 文件到开放平台。\nnote: 备注(cli 需 1.24.0 或更高版本)","pushy-packages#pushy packages":"查看已经上传的原生包。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-publish-ppkfile#pushy publish [ppkFile]":"发布新的热更新版本(ppk 文件)。\nplatform: ios|android 对应的平台\nname: 当前热更新版本的名字(版本号)\ndescription: 当前热更新版本的描述信息,可以对用户进行展示\nmetaInfo: 当前热更新版本的元信息,可以用来保存一些额外信息,具体用法可参考场景实践。","pushy-versions#pushy versions":"分页列举可用的版本。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-update#pushy update":"为一个原生包版本绑定一个热更新版本。这项操作也可以在网页管理端进行。以下参数中packageId,packageVersion,minPackageVersion和maxPackageVersion四选一即可。\nplatform: ios|android 对应的平台\nversionId: 要绑定的热更新版本 ID\npackageId: 要绑定的原生包 ID (四选一)\npackageVersion: 要绑定的原生包版本名(四选一,需 cli 版本 1.7.2+)\nminPackageVersion: 要绑定的最低原生包版本,大于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)\nmaxPackageVersion: 要绑定的最高原生包版本,小于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)"}},"/docs/faq":{"title":"常见问题","data":{"":"如果本页面没能回答您的疑问,您可以去issues 区或 QQ 群 729013783 提问,或给我们发邮件。","业务问题#业务问题":"","热更新究竟能否上架#热更新究竟能否上架?":"您可能听说过各种说法,但大量实践表明,热更新目前能够顺利上架 AppStore 和其他各种应用市场。唯一需要注意的是,在审核期间请不要发布热更新,不要让审核人员看到各种更新相关的提示和弹窗,即可顺利通过。","是否可以在海外使用#是否可以在海外使用?":"可以的,国内外都有高速 CDN 节点。","哪些修改可以热更新哪些不能#哪些修改可以热更新?哪些不能?":"我们把对应用的修改分为两类:\n不可热更新 —— 原生修改,即所有需要编译后才能生效的修改:\n任何在 iOS 或者 Android 目录中的修改、增删。\n任何含有原生代码的第三方组件的更新、修改。\n可以热更新 —— 非原生修改,即所有无需编译,刷新即可生效的修改:\njs 代码修改,包括第三方纯 js 组件的更新、修改。\n可以在 js 代码中 require/import 的资源文件,例如图片。\n需要注意的是,即便资源文件可以热更新,但这些热更新后的资源文件会以file://协议的形式提供访问,某些读取资源文件的第三方可能并不支持file://协议。","我是否可以搭建自己的热更新服务#我是否可以搭建自己的热更新服务?":"你可以单独使用本组件的原生部分(不包括 js 模块)和命令行工具中的bundle、diff、diffFromIpa、diffFromApk四个功能。这些功能都不会使用我们的热更新服务,也无需注册或登录账号。但你可能要编写自己的 js 模块来与不同的热更新服务器通讯。","热更新成功完成但是重启后又回滚了是怎么回事#热更新成功完成,但是重启后又回滚了是怎么回事?":"可以正常更新,但是重启后回滚,一般有两种可能的情况:\n没有正确配置 bundleUrl\n(仅有 v10 以下版本存在此可能性,v10 及更高版本不存在此情况)没有正确调用 markSuccess\n如果你确定上述两个步骤都正确无误,请在issues 区给我们留言反馈。","热更新报错热更新已暂停原因编译时间戳与服务器记录不一致#热更新报错:“热更新已暂停,原因:编译时间戳与服务器记录不一致。”":"当您每次编译产生一个原生包时,其中都会记录一个编译时间戳buildTime(可以使用pushy parseIpa a.ipa或是pushy parseApk a.apk命令来查看)。如果您需要把这个包发给客户并希望使用热更新功能,那么就需要使用 upload 命令来上传到我们的服务器,而服务器端会记录这个包的版本号和编译时间戳以便后续比对记录。举例来说,假如我已经上传了一个 1.0 版本原生包(1A包),但后来由于种种原因我又重新打包了(1B包)但没有上传,这两个包有相同的版本号,但会有不同的编译时间戳。此时有几种可能的情况:\n我忘记上传过1A包,1B包没有实质更改且还没有客户安装。此时应当放弃1B包,只让客户下载安装1A包。\n我忘记上传过1A包,又生成了1B包且已有客户安装。此时1A包客户可以获取热更新,1B包客户无法获取热更新。要使两批客户都能获取热更新,要么想办法通知1B包客户装回1A包,要么重新发布一个高于1.0版本的原生包且上传到 pushy 服务器,并删除1.0版本的记录,此时1A包和1B包的客户都会收到版本过期需要下载新版本的通知。\n我知道上传过1A包,但我有原生方面的修改需要打了一个新的1B包。此时若将1B包上传到 pushy 服务器会提示版本验证错误,因为已经存在有相同的1.0版本。所以需要首先更改原生版本号再次打包,并首先将此新版本上传到服务器,然后分发给客户。这样1.0版本和新版本可以并存且都可以获得热更新。\n请谨记,任何时候生成原生包,请 1)先修改原生版本号,2)并上传到 pushy 服务器,才可以正常获得热更新。\n如果您是高级版、专业版或大客户VIP版客户,也可以考虑在管理后台的应用设置中启用忽略编译时间戳。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。","付费问题#付费问题":"","我应该选择哪个业务版本呢#我应该选择哪个业务版本呢?":"其实完全无需考虑,先从最高配额的专业版开始体验(新用户注册验证通过后,将自动获得 7 天专业版试用),各个版本的使用流程完全一致!当试用时间到期后,若当前版本的配额不能满足需求,可随时补差价升级到更高配额的版本。升级自动按天数计算差价,绝无额外费用。目前仅有一项额外的付费专用功能,即忽略编译时间戳设置(在管理后台的应用设置中),此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。此功能目前仅支持高级版、专业版和大客户VIP版。","我可以试用付费版本先评估一下效果吗#我可以试用付费版本先评估一下效果吗?":"新用户注册验证通过后,将自动获得 7 天专业版试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至 hi@charmlot.com ,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。","配额具体如何计算#配额具体如何计算?":"配额主要分为 4 种:\n可创建的应用数量,注意 iOS 和 Android 版本记做不同的应用。\n原生包数量及大小,不同应用分开计算。原生包指通过pushy uploadIpa/uploadApk命令上传到 Pushy 服务器上作为热更新起始版本的完整 apk/ipa 安装包。\n热更包数量及大小,不同应用分开计算。热更包指通过pushy bundle所命令生成的 ppk 文件。注意这不是用户实际下载的更新文件,用户下载的是通过比对生成的增量 diff 文件(比 ppk 文件要小得多)。\n每日总热更查询次数,所有应用累加计算。每次用户打开应用时,会向服务器查询是否有新的热更新。这个查询次数会被计入每日总热更查询次数。当日超过限额次数后,接口将不再返回新的热更新信息,直到次日重置。\n这里有一些对包大小的优化建议可供参考。\n以上 2、3 条为账户下每个应用单独计算,第 4 条为账户下所有应用累加计算。具体配额和费用由于运营成本可能会有调整,请以价格表页面为准。已购买的用户在续费前不受调整影响。","达到配额后还可以正常使用吗#达到配额后还可以正常使用吗?":"当应用、原生包、热更包数量达到配额限制后,您将无法执行相应的新增操作。但用户端仍可正常检查更新,下载已发布的更新。您可选择升级到更高配额,或是通过删除已不再使用的应用、原生包、热更包来使数量降低到配额以内,以便继续执行新增操作。\n若原生包、热更包大小超过限额,则会导致上传失败。您可以选择升级到更高配额,或是想办法进行精简优化。\n若当日热更检查次数超过限额,则会导致接口返回空数据。您可以选择升级到更高配额,或是优化热更策略,减少用户端检查更新的频率。","我可以单独升级某项配额吗#我可以单独升级某项配额吗?":"我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版配额仍然不能满足需求,请通过邮件 hi@charmlot.com 与我们联系,我们将根据您的个性化需求为您定制方案。","付费业务到期后不续费现有应用还能否正常使用#付费业务到期后不续费,现有应用还能否正常使用?":"到期后按免费版额度执行。如您现有应用已超出配额,则必须通过删除操作降低到配额以内,方可执行新的操作(如创建应用,上传热更等),但不影响用户获取之前已发布的热更。","如何获取付费的专人技术支持#如何获取付费的专人技术支持?":"请将您的用户名和订单截图发送至 hi@charmlot.com ,同时提供您希望的技术联系方式(QQ、微信等),核实后会有技术专员添加您为好友。","如何开具发票#如何开具发票?":"请将具体开票需求发送至 hi@charmlot.com ,并附上注册邮箱和订单截图。我们默认会回复普通电子发票到注册邮箱,类目为软件服务。如需指定接受邮箱或手机,请在邮件正文中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。\n如邮件发送后三个工作日内未收到回复,请联系 QQ 客服 34731408。","可以使用银行转账付款吗#可以使用银行转账付款吗?":"可以的。请对照价格表,将对应版本的款项转账至:\n公司名称\t武汉青罗网络科技有限公司\t账号\t8888888048825564\t开户行名称\t浙江网商银行\t开户地区\t浙江省杭州市\t支行名称\t浙江网商银行股份有限公司\t联行号\t323331000001\t\n转账完成后请截图发送至 hi@charmlot.com ,并写明注册邮箱,我们将在一个工作日内开通对应服务。","可以按月付款吗#可以按月付款吗?":"需要月付的客户请联系 QQ 客服 34731408,月付价格为年付价格 / 8。如标准版当前价格为 800 元每年,则月付价格为 100 元每月。\n月付客户需累计支付满 500 元后才能开具发票。大客户VIP版不支持月付。","大客户方案#大客户方案":"如果您的应用有大规模的活跃用户,日均所有应用累计总查询次数超过 100 万次,则建议选择我们专门针对大规模应用优化的大客户VIP版。\n大客户VIP版在应用数量、原生包数量、热更包数量等方面配额与专业版相同。当前价格如下表:\n服务版本\t日均总热更查询次数\t价格(元/年)\tVIP1\t100 万至 1000 万次\t30000\tVIP2\t1000 万至 5000 万次\t60000\tVIP3\t5000 万至 1 亿次\t120000\tVIP4\t1 亿次以上\t请联系客服\t\n具体试用和对接请联系 QQ 客服 34731408"}},"/docs/getting-started":{"title":"安装配置","data":{"":"请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里\n首先你应该有一个基于 React Native 开发的应用,我们把具有 package.json 的目录叫做你的应用根目录。\n如果你还没有初始化应用,请参阅开始使用 React Native。我们假设你已经拥有了开发 React Native 应用的一切环境,包括Node.js、Xcode、Android SDK等等。","安装#安装":"在你的项目根目录下运行以下命令:\n# 先全局安装命令行工具,每台电脑只用装一次\nnpm i -g react-native-update-cli\n# 然后在项目目录中安装热更新模块\nnpm i react-native-update\n# 然后进入ios目录安装iOS模块\ncd ios && pod install\n如果下载极慢或者显示网络失败,请设置使用淘宝镜像 npx nrm use taobao\n注意请不要混用npm/yarn/pnpm等包管理器及对应的lock文件,团队成员请坚持使用同一包管理器,且仅保留统一格式的lock文件\n请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(使用 npx\nreact-native run-ios 或 run-android 命令编译,或在 Xcode/Android Studio\n中重新编译)才能生效。","手动-link#手动 link":"如果 RN 版本 >= 0.60 则不需要此手动 link 步骤。\n注意:如果是混编 RN\n项目,或monorepo,或任何其他自定义的情况,由于自定义的配置可能不完整或不适应RN的目录结构,导致自动\nlink 的功能可能不能正常工作。此时即便 RN 版本 >= 0.60,你可能也需要执行手动\nlink 操作。","ios#iOS":"RN < 0.60且使用CocoaPods(推荐)\n在 ios/Podfile 中添加\npod 'react-native-update', path: '../node_modules/react-native-update'\n在项目的 ios 目录下运行pod install\n重新编译\nRN < 0.60且不使用CocoaPods\n在 XCode 中的 Project Navigator 里,右键点击Libraries ➜ Add Files to [你的工程名]\n进入node_modules ➜ react-native-update ➜ ios 并选中RCTPushy.xcodeproj`\n在 XCode 中的 project navigator 里,选中你的工程,在 Build Phases ➜ Link Binary With Libraries 中添加 libRCTPushy.a、libz.tbd、libbz2.1.0.tbd\n继续在Build Settings里搜索Header Search Path,添加$(SRCROOT)/../node_modules/react-native-update/ios,勾选recursive。\n在Build Phases添加一个New Run Script Phase运行脚本,内容如下\n#!/bin/bash\nset -x\nDEST=\"../node_modules/react-native-update/ios/\"\ndate +%s > \"$DEST/pushy_build_time.txt\"\n尝试编译一下,顺利的话就会在../node_modules/react-native-update/ios/文件夹下面生成一个pushy_build_time.txt文件。然后在Copy Bundle Resources里把生成的pushy_build_time.txt文件添加进去。","android#Android":"RN < 0.60 或其他不能自动 link 的情况\n在android/settings.gradle中添加如下代码:\ninclude ':react-native-update'\nproject(':react-native-update').projectDir = new File(rootProject.projectDir, \t'../node_modules/react-native-update/android')\n在android/app/build.gradle的 dependencies 部分增加如下代码:\nimplementation project(':react-native-update')\n打开android/app/src/main/java/[...]/MainApplication.java,\n在文件开头增加 import cn.reactnative.modules.update.UpdatePackage;\n在getPackages() 方法中增加 new UpdatePackage()(注意上一行可能要增加一个逗号)","配置-bundle-url#配置 Bundle URL":"注意此步骤无论任何版本,目前都需要手动配置。","ios-1#iOS":"在你的 AppDelegate.mm 或 AppDelegate.m 文件(不同 RN 版本可能后缀名不同)中增加如下代码:\n// ... 其它代码\n#import \"AppDelegate.h\"\n#import \"RCTPushy.h\" // <-- import头文件,注意要放到if条件外面\n// 可能项目里有一些条件编译语句,例如有些版本RN自带的flipper\n// #if DEBUG\n// 注意**不要**在这里面引入\"RCTPushy.h\"\n// #import \n// ...\n// #endif\n// rn 版本 >= 0.74 需要修改 bundleURL 方法\n- (NSURL *)bundleURL\n{\n#if DEBUG\n // 原先DEBUG这里的写法不作修改(所以DEBUG模式下不可热更新)\n return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\"];\n#else\n return [RCTPushy bundleURL]; // <-- 把这里非DEBUG的情况替换为热更新bundle\n#endif\n}\n// rn 版本 < 0.74 需要修改sourceURLForBridge方法\n- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge\n{\n#if DEBUG\n // 原先DEBUG这里的写法不作修改(所以DEBUG模式下不可热更新)\n return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\"];\n#else\n return [RCTPushy bundleURL]; // <-- 把这里非DEBUG的情况替换为热更新bundle\n#endif\n}","android-1#Android":"在 MainApplication 中增加如下代码(如果是混编原生的项目或其他原因没有使用 ReactApplication,请使用此 api 集成):\n// ... 其它代码\n// ↓↓↓请注意不要少了这句import\nimport cn.reactnative.modules.update.UpdateContext;\n// ↑↑↑\nclass MainApplication : Application(), ReactApplication {\n override val reactNativeHost: ReactNativeHost =\n object : DefaultReactNativeHost(this) {\n // ↓↓↓将下面这一段添加到 DefaultReactNativeHost 内部!\n override fun getJSBundleFile(): String? {\n return UpdateContext.getBundleUrl(this@MainApplication)\n }\n // ↑↑↑\n // ...其他代码\n }\n}\n// ... 其它代码\n// ↓↓↓请注意不要少了这句import\nimport cn.reactnative.modules.update.UpdateContext;\n// ↑↑↑\npublic class MainApplication extends Application implements ReactApplication {\n private final ReactNativeHost mReactNativeHost =\n // 老版本 RN 这里可能是 new ReactNativeHost(this)\n new DefaultReactNativeHost(this) {\n // ↓↓↓将下面这一段添加到 DefaultReactNativeHost 内部!\n @Override\n protected String getJSBundleFile() {\n return UpdateContext.getBundleUrl(MainApplication.this);\n }\n // ↑↑↑\n // ...其他代码\n }\n}\n请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(npx react-native\nrun-ios 或 run-android 命令编译,或在 Xcode/Android Studio\n中重新编译)才能生效。","禁用-android-的-crunch-优化#禁用 android 的 crunch 优化":"android 会在生成 apk 时自动对 png 图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在android/app/build.gradle中关闭此操作:\n// 在 android/app/build.gradle 文件中\nandroid {\n // ...\n signingConfigs {\n // ...\n }\n buildTypes {\n release {\n // ...\n // 添加下面这行以禁用crunch\n crunchPngs false\n }\n }\n}","禁用-aab-包的资源分割如果你需要在-google-play-上架#禁用 aab 包的资源分割(如果你需要在 Google Play 上架)":"如果你需要打 aab 包以在 Google Play 上架,则需要禁用 aab 包的资源分割:\n// 在 android/app/build.gradle 文件中\nandroid {\n bundle {\n density {\n // 请禁用资源分割\n // 否则热更后可能遇到图片无法显示的问题\n enableSplit = false\n }\n }\n}","登录与创建应用#登录与创建应用":"首先请在 https://pushy-admin.reactnative.cn 注册帐号,然后在你的项目根目录下运行以下命令:\n$ pushy login\nemail: <输入你的注册邮箱>\npassword: <输入你的密码>\n这会在项目文件夹下创建一个.update文件,注意不要把这个文件上传到 Git 等 CVS 系统上。你可以在.gitignore末尾增加一行.update来忽略这个文件。登录之后可以创建应用。注意 iOS 平台和安卓平台需要分别创建:\n$ pushy createApp --platform ios\nApp Name: <输入应用名字>\n$ pushy createApp --platform android\nApp Name: <输入应用名字>\n两次输入的名字可以相同,这没有关系。\n如果你已经在网页端或者其它地方创建过应用,也可以直接选择应用:\n$ pushy selectApp --platform ios\n1) 鱼多多(ios)\n2) 招财旺(ios)\nTotal 2 ios apps\nEnter appId: <输入应用前面的编号>\n选择或者创建过应用后,你将可以在文件夹下看到update.json文件,其内容类似如下形式:\n{\n \"ios\": {\n \"appId\": 1,\n \"appKey\": \"<一串随机字符串>\"\n },\n \"android\": {\n \"appId\": 2,\n \"appKey\": \"<一串随机字符串>\"\n }\n}\n你可以安全的把update.json上传到 Git 等 CVS 系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。至此应用的创建/选择就已经成功了。下一步,你需要给代码添加相应的功能,请参阅代码集成。"}},"/docs/integration":{"title":"代码集成","data":{"":"请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里\n安装配置完成后,确定应用编译顺利通过,下面我们来进行代码集成。","获取-appkey#获取 appKey":"检查更新时必须提供你的appKey,这个值保存在update.json中(使用pushy createApp或pushy selectApp命令后会自动生成),并且根据平台不同而不同。你可以用如下的代码获取appKey:\nimport { Platform } from \"react-native\";\nimport _updateConfig from \"./update.json\";\nconst { appKey } = _updateConfig[Platform.OS];\n如果你不使用 pushy 命令行,也可以从网页端查看到两个应用 appKey,并根据平台的不同来选择。","初始化服务#初始化服务":"import { PushyProvider, Pushy } from \"react-native-update\";\n// 唯一必填参数是appKey,其他选项请参阅 api 文档\nconst pushyClient = new Pushy({\n appKey,\n // 注意,默认情况下,在开发环境中不会检查更新\n // 如需在开发环境中调试更新,请设置debug为true\n // 但即便打开此选项,也仅能检查、下载热更,并不能实际应用热更。实际应用热更必须在release包中进行。\n // debug: true\n});\n// 在根组件外加上PushyProvider后导出\nexport default function Root() {\n // 注意,在使用 PushyProvider 的当前组件中,无法直接调用 usePushy\n // 只有当前组件的子组件才能调用 usePushy\n return (\n \n {/* ↓ 整个应用的根组件放到PushyProvider中 */}\n \n \n );\n}\n如没有特别的自定义需求,那么到此热更新已经可以开始正常运作(如需在应用内执行 apk 更新,还需配置安装权限)。默认配置下,在 App 启动,以及从后台切换到前台时会触发更新检查,弹出提示的内容也固定。如需自定义触发时机,以及修改界面提示等,请参考下面的自定义更新界面。","自定义更新界面#自定义更新界面":"默认配置下,pushy 会以系统 alert 的形式来弹出更新提示,如需自定义更新界面,首先请关闭默认的 updateStrategy 更新策略,并打开 debug 选项以便调试:\nconst pushyClient = new Pushy({\n appKey,\n+ updateStrategy: null,\n+ debug: true,\n});\n所有更新相关的数据可以通过一个单一的usePushy()hook 函数来获取,然后可以根据其提供的数据来自行渲染自定义的界面,如下面的例子:\nimport { Icon, PaperProvider, Snackbar, Banner } from \"react-native-paper\";\nfunction App() {\n const {\n client,\n checkUpdate,\n downloadUpdate,\n switchVersionLater,\n switchVersion,\n updateInfo,\n packageVersion,\n currentHash,\n progress: { received, total } = {},\n } = usePushy();\n const [showUpdateBanner, setShowUpdateBanner] = useState(false);\n const [showUpdateSnackbar, setShowUpdateSnackbar] = useState(false);\n const snackbarVisible =\n showUpdateSnackbar && updateInfo?.update;\n return (\n \n \n 更新下载进度:{received} / {total}\n \n \n 点击这里检查更新\n \n {snackbarVisible && (\n {\n setShowUpdateSnackbar(false);\n }}\n action={{\n label: \"更新\",\n onPress: async () => {\n setShowUpdateSnackbar(false);\n await downloadUpdate();\n setShowUpdateBanner(true);\n },\n }}\n >\n 有新版本({updateInfo.name})可用,是否更新?\n \n )}\n {\n switchVersionLater();\n setShowUpdateBanner(false);\n },\n },\n ]}\n icon={({ size }) => (\n \n )}\n >\n 更新已完成,是否立即重启?\n \n \n );\n}\n其中checkUpdate方法可以用来手动触发更新检查。检查后会更新usePushy返回的updateInfo(注意checkUpdate方法本身没有返回值),有三种情况:\n{expired: true}:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),开发者应该在 pushy 的管理后台添加一个更新下载链接,并自行提示用户下载。如需在应用内执行 apk 更新,还需配置安装权限。\n{upToDate: true}:当前已经更新到最新,无需进行更新。\n{update: true}:当前有新版本可以更新。info 的name、description字段可以用于提示用户,而metaInfo字段则可以根据你的需求自定义其它属性(如是否静默更新、是否强制更新等等),具体用法可参考场景实践。另外还有几个字段,包含了补丁包的下载地址等。 pushy 会首先尝试耗费流量更少的更新方式。\n当返回的updateInfo中update字段为 true 时,即可调用downloadUpdate方法来下载更新,此时可以获取到下载的进度数据progress。下载完成后可以调用switchVersion来立即重启更新,也可以使用switchVersionLater来标记下次启动时更新。","统计数据#统计数据":"初始化 Pushy 客户端时可以传入自定义的 logger 函数,其中可以自己记录日志或上报统计数据,比如下面的例子使用 Google Analytics 来上报事件:\nimport { getAnalytics, logEvent } from \"firebase/analytics\";\nconst analytics = getAnalytics();\nconst pushyClient = new Pushy({\n appKey,\n logger: ({ type, data }) => {\n logEvent(analytics, \"pushy_\" + type, data);\n },\n});\n以上提及的所有 api 的说明文档可在这里查看。现在,你的应用已经可以通过 pushy 服务检查版本并进行更新了。下一步,你可以开始尝试发布应用包和版本,请参阅发布热更新。"}},"/pricing":{"title":"价格","data":{}},"/":{"title":"Index","data":{}},"/docs/publish":{"title":"发布热更新","data":{"":"现在你的应用已经具备了检测更新的功能,下面我们来尝试发布并更新它。流程可参考下图:\n流程总结如下:\n我们需要先打包一个原生 release 版本,在打包前请确保已集成了react-native-update并在调试过程中运行正常,安卓端关闭了crunchPngs设置,打包说明可参考iOS 打包和android 打包。打包完成后请使用pushy uploadIpa或者pushy uploadApk命令来把这个安装包上传到 pushy 服务器端,以作为之后热更差量对比的基准。同时请保留好这个安装包,上架和分发给用户所使用的安装包需要和服务器端完全一致。建议使用 git tag 功能来标记原生版本号(例如v1.0.0)。\n然后在基准版本之上迭代业务逻辑(增删 js 代码,增删图片等静态资源),使用pushy bundle命令来生成和发布热更新版本,而不需要重新打包。建议使用 git tag 功能来标记热更版本号(例如v1.0.1)。\n如果迭代过程中有原生方面的修改,则需要发布并上传新的原生基准版本(重复步骤 1,但需要设置不同的原生版本号)。可以只保留一个原生基准版本,也可以多版本同时维护。","发布原生基准版本#发布原生基准版本":"","ios#iOS":"首先参考文档-在设备上运行,确定你正在使用离线包。然后点击菜单。按照正常的发布流程打包.ipa文件:\nXcode 中运行设备选真机或 Generic iOS Device\n菜单中选择 Product - Archive\nArchive 完成后选择Export生成.ipa 文件\n然后运行如下命令上传到 pushy 服务器以供后续版本比对之用\n$ pushy uploadIpa \n此 ipa 的CFBundleShortVersionString字段(位于ios/项目名/Info.plist中)会被记录为原生版本号packageVersion。随后你可以选择往 AppStore 上传这个版本(可以重新 export 并调整相关选项,但请不要重新 archive),也可以先通过Test flight或蒲公英等渠道进行真机安装测试。请注意:暂不支持通过 Xcode 直接进行热更新测试。如果后续需要再次 archive 打包(例如修改原生代码或配置。如果只是修改 js 代码则不需要重新打包。),请先更改版本号,并在打包完成后再次uploadIpa到服务器端记录,否则后续生成的相同版本的原生包会由于编译时间戳不一致而无法获取热更新。","android#Android":"首先参考文档-打包 APK设置签名,然后在 android 文件夹下运行./gradlew assembleRelease或./gradlew aR,你就可以在android/app/build/outputs/apk/release/app-release.apk中找到你的应用包。\n如果你需要使用 aab 格式(android app bundle,google 市场专用)的包,请参考这里的做法将其转换为 apk 格式后再操作。\n然后运行如下命令\n$ pushy uploadApk android/app/build/outputs/apk/release/app-release.apk\n即可上传 apk 以供后续版本比对之用。此 apk 的versionName字段(位于android/app/build.gralde中)会被记录为原生版本号packageVersion。随后你可以选择往应用市场发布这个版本,也可以先往设备上直接安装这个 apk 文件以进行测试。如果后续需要再次打包(例如修改原生代码或配置。如果只是修改 js 代码则不需要重新打包。),请先更改版本号,并再次uploadApk到服务器端记录,否则后续生成的相同版本的原生包会由于编译时间戳不一致而无法获取热更新。","发布热更新版本#发布热更新版本":"你可以尝试修改一行代码(譬如将版本一修改为版本二),然后使用pushy bundle --platform 命令来生成新的热更新版本。\n如果你使用了较新版本的expo或其他没有index.js的框架,执行bundle命令时会报错。此时请手动创建一个index.js文件,在其中引用框架自身的入口文件即可。具体入口文件的路径如何,请参考框架的说明文档或者package.json中的main字段。例如针对expo的index.js可能是如下这样写:\nimport \"expo-router/entry\";\n$ pushy bundle --platform android\nBundling with React Native version: 0.22.2\n<各种进度输出>\nBundled saved to: build/output/android.1459850548545.ppk\nWould you like to publish it?(Y/N)\n如果想要立即上传,此时输入 Y。当然,你也可以在将来使用pushy publish --platform android build/output/android.1459850548545.ppk来上传刚才打包好的热更新包。\n Uploading [========================================================] 100% 0.0s\nEnter version name: <输入热更新版本名字,如1.0.0-rc>\nEnter description: <输入热更新版本描述>\nEnter meta info: {\"ok\":1}\nOk.\nWould you like to bind packages to this version?(Y/N)\n此时版本已经提交到 pushy 服务,但用户暂时看不到此更新,你需要先将特定的原生包版本绑定到此热更新版本上。此时输入 Y 立即绑定,你也可以在将来使用pushy update --platform 来对已上传的热更包和原生包进行绑定。除此以外,你还可以在网页端操作,简单的将对应的原生包版本拖到需要的热更新版本下即可。\n┌────────────┬──────────────────────────────────────┐\n│ Package Id │ Version │\n├────────────┼──────────────────────────────────────┤\n│ 46272 │ 2.0(normal) │\n├────────────┼──────────────────────────────────────┤\n│ 45577 │ 1.0(normal) │\n└────────────┴──────────────────────────────────────┘\n共 2 个包\n输入原生包 id: 46272\n版本绑定完毕后,服务器会在几秒内生成差量补丁,客户端就可以获取到更新了。后续要继续发布新的热更新,只需反复执行pushy bundle命令即可,不需要重新打包。恭喜你,至此为止,你已经完成了植入代码热更新的全部工作。","测试发布与回滚#测试、发布与回滚":"我们强烈建议您先发布一个测试包,再发布一个除了版本号以外均完全相同的正式包。例如,假设我们有一个正式包,版本为1.6.0,那么可以修改版本号重新打包一个1001.6.0,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。在每次往发布包发起热更新之前,先对测试包1001.6.0进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到正式包1.6.0上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。万一确实发生线上事故需要回滚的话,首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。"}}} \ No newline at end of file +{"/docs/api":{"title":"API参考","data":{"javascript-方法#JavaScript 方法":"","new-pushyoptions-pushyoptions#new Pushy(options: PushyOptions)":"创建 Pushy 热更新服务实例,其构造参数如下:\ninterface PushyOptions {\n // 必填,通过pushy createApp或selectApp命令,或在网页管理端获取\n appKey: string;\n // 自定义日志输出,也可用于上报统计数据\n logger?: ({ type, data }: { type: EventType; data: EventData }) => void;\n // 触发自动检查更新的策略\n checkStrategy?:\n | \"onAppStart\" // 仅在app启动时\n | \"onAppResume\" // 仅在app从后台切换到前台时\n | \"both\"; // 默认值,同时包含前两个场景\n | null; // 不自动检查更新,必须手动调用checkUpdate方法,此选项需 v10.4.2+ 版本\n // 自动下载和应用更新的策略\n updateStrategy?:\n | \"alwaysAlert\" // 调试环境(__DEV__)默认值,使用系统默认的alert页面提示热更且会在有报错时弹出提示\n | \"alertUpdateAndIgnoreError\" // 生产环境默认值,在有热更时使用系统默认的alert页面提示热更,但不弹出任何报错提示\n | \"silentAndNow\" // 自动静默下载并立刻应用热更\n | \"silentAndLater\"; // 自动静默下载,但仅在用户退出app后重启时应用更新\n | null; // 不自动下载和应用更新,如需自定义热更界面请选择此项\n // 是否在热更重启后自动标记为成功,默认为true\n // 一般情况下不建议手动标记\n autoMarkSuccess?: boolean;\n // 是否在若干ms后自动清除最后的报错,默认为不清除\n dismissErrorAfter?: number;\n // 是否在开发环境中检查热更,默认为false。如需在开发环境中调试热更,请打开此选项。\n // 但即便打开此选项,也仅能检查、下载热更,并不能实际应用热更。实际应用热更必须在release包中进行。\n // 此选项需 v10.4.2+ 版本\n debug?: boolean;\n // 是否在调用 checkUpdate 和 downloadUpdate 时抛出错误,默认为不抛出错误,通过 lastError 获取错误信息\n // 启用后可以使用 try catch 语句 捕获错误,同时 lastError 也仍然可用\n // try {\n // await checkUpdate();\n // } catch (e) {\n // console.error(e);\n // }\n // 此选项需 v10.8.0+ 版本\n throwError?: boolean;\n // 在检查更新前执行,返回 false 则取消检查更新\n // 此选项需 v10.12.0+ 版本\n beforeCheckUpdate?: () => Promise;\n // 在下载更新前执行,返回 false 则取消下载更新,可以配合自定义的 metaInfo 做一些条件控制\n // 此选项需 v10.12.0+ 版本\n beforeDownloadUpdate?: (info: UpdateInfo) => Promise;\n}\n// 日志事件类型\ntype EventType =\n // 更新失败,重启后发生回滚\n | \"rollback\"\n // 检查更新时报错\n | \"errorChecking\"\n // 正在发起检查\n | \"checking\"\n // 正在下载更新\n | \"downloading\"\n // 更新失败\n | \"errorUpdate\"\n // 更新成功\n | \"markSuccess\"\n // 下载apk\n | \"downloadingApk\"\n // 下载apk前申请存储权限被用户拒绝\n | \"rejectStoragePermission\"\n // 下载apk前申请存储权限发生错误\n | \"errorStoragePermission\"\n // 下载apk时发生错误\n | \"errorDownloadAndInstallApk\";\n// 日志事件数据\ninterface EventData {\n // 当前已完成的热更hash值,如尚未热更则为空字符串\n currentVersion: string;\n // 客户端版本信息\n cInfo: {\n pushy: string; // 当前pushy版本\n rn: string; // 当前rn版本\n os: string; // 当前操作系统及版本\n uuid: string; // 用户标识符\n };\n // 客户端原生版本号\n packageVersion: string;\n // 编译时间戳\n buildTime: number;\n // 报错相关的信息\n message?: string;\n // 发生回滚的版本hash值\n rolledBackVersion?: string;\n // 更新失败的新版本hash值\n newVersion?: string;\n // 其他一些数据\n [key: string]: any;\n}","usepushy#usePushy()":"热更相关的工具函数。\n注意,在使用 的当前组件(一般是根组件)中无法直接调用usePushy,只有当前组件的子组件才能调用。\nconst {\n checkUpdate,\n switchVersion,\n switchVersionLater,\n markSuccess,\n dismissError,\n downloadUpdate,\n downloadAndInstallApk,\n getCurrentVersionInfo,\n parseTestQrCode,\n currentHash,\n packageVersion,\n client,\n progress,\n updateInfo,\n lastError,\n} = usePushy();\n其类型定义和功能如下:\ninterface PushyContext {\n // 检查更新\n checkUpdate: () => Promise;\n // 下载热更完成后调用,立即重启切换新版本\n switchVersion: () => void;\n // 下载热更完成后调用,用户手动重启app后切换新版本(静默更新)\n switchVersionLater: () => void;\n // 热更完成重启后,手动标记热更完成\n markSuccess: () => void;\n // 清除最后的报错状态\n dismissError: () => void;\n // 下载热更\n downloadUpdate: () => Promise;\n // 下载并安装apk\n downloadAndInstallApk: (url: string) => Promise;\n // 获取当前已热更版本的信息\n getCurrentVersionInfo: () => Promise<{\n name?: string;\n description?: string;\n metaInfo?: string;\n }>;\n // 解析测试二维码,此方法需 v10.11.2+ 版本\n parseTestQrCode: (qrCode: string) => void;\n // 当前的版本hash\n currentHash: string;\n // 当前的原生版本号\n packageVersion: string;\n // 当前的pushy热更服务示例\n client?: Pushy;\n // 下载开始后的进度数据\n progress?: {\n hash: string;\n // 已下载的字节数\n received: number;\n // 待下载的总字节数\n total: number;\n };\n // 热更相关信息\n updateInfo?: {\n // 已是最新版本,无需热更\n upToDate?: true;\n // 当前原生版本已过期,需要下载新的原生版本\n expired?: true;\n // 在pushy网页管理端设置的原生版本下载地址\n downloadUrl?: string;\n // 是否存在新的热更\n update?: true;\n // 新热更的版本名称\n name?: string;\n // 新热更的hash值\n hash?: string;\n // 新热更的更新说明\n description?: string;\n // 新热更携带的额外元数据\n metaInfo?: string;\n // 当前热更是否已暂停\n paused?:\n | \"app\" // 当前应用所有原生版本暂停\n | \"package\"; // 仅当前原生版本暂停\n // 其他信息\n message?: string;\n };\n // 检查、下载、应用热更等过程中的最新一次报错\n lastError?: Error;\n}","async-function-checkupdate#async function checkUpdate()":"触发更新检查,更新usePushy中的updateInfo(注意checkUpdate方法本身没有返回值),返回值有三种情形:\n{expired: true}:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),需要引导用户下载或跳转到应用市场(需要在网页管理端设置中填写downloadUrl)。如需在应用内执行 apk 更新,还需配置安装权限。\n{\n expired: true,\n downloadUrl: 'http://appstore/downloadUrl',\n}\n{upToDate: true}:当前已经更新到最新,无需进行更新。\n{update: true}:当前有新版本可以更新。name、description字段可以用于展示给用户版本号,更新内容等信息,而metaInfo字段则可以根据你的需求自定义一些标记(如是否静默更新、是否强制更新等等,自己根据标记的属性做一些条件流程控制),具体用法可参考场景实践。另外还有几个字段,包含了热更新文件的下载地址,\n{\n update: true,\n name: '1.0.3-rc',\n hash: 'hash',\n description: '添加聊天功能\\n修复商城页面BUG',\n metaInfo: '{\"silent\":true}',\n pdiffUrl: 'http://update-packages.reactnative.cn/hash',\n diffUrl: 'http://update-packages.reactnative.cn/hash',\n}","async-function-downloadupdate#async function downloadUpdate()":"下载热更包。仅当update:true时实际进行下载。会更新progress数据。","async-function-downloadandinstallapkurl#async function downloadAndInstallApk(url)":"下载更新的 apk 包并直接安装。url必须为可直接下载到 apk 文件的地址。注意要使用这个功能还需要在AndroidManifest.xml中手动添加安装权限,如果需要考虑 Android 7.0 以下的客户,则还需要添加外部存储权限。\n\n\n\n注意某些应用市场可能会因为上述权限拒绝应用上架。去掉上述两个权限并不影响热更新功能。","function-marksuccess#function markSuccess()":"一般情况下请勿手动调用此函数。 调用此函数作为更新成功的标记(否则下次启动会默认失败自动回滚)。","async-function-getcurrentversioninfo#async function getCurrentVersionInfo()":"获取当前已热更版本的信息(如尚未热更过则返回空对象)。返回值示例:\n{\n name: '1.0.3-rc',\n description: '添加聊天功能\\n修复商城页面BUG',\n metaInfo: '{\"silent\":true}',\n}","function-switchversion#function switchVersion()":"立即重启应用,并加载已经下载完毕的版本。","function-switchversionlater#function switchVersionLater()":"在下一次启动应用的时候加载已经下载完毕的版本。","function-parsetestqrcodeqrcode-string#function parseTestQrCode(qrCode: string)":"解析测试二维码,一般用于给 QA 人员测试热更新。如果在应用中已有扫码功能,则可以在应用中扫描 pushy 后台的测试二维码来测试任意版本的热更包。注意使用此方法,上述界面中的\"使用 Deep Link\"选项 请不要 勾选。代码示例:\n {\n // 识别到二维码后先关闭相机\n setShowCamera(false);\n // 先解析是否是pushy的测试二维码\n if (parseTestQrCode(codeStringValue)) {\n // 如果是pushy的测试二维码,则不再做其他业务扫码逻辑\n return;\n }\n // 如果不是,继续处理其他业务扫码逻辑\n }}\n/>","android-方法#Android 方法":"","updatecontextsetcustominstancemanagerreactinstancemanager-instancemanager#UpdateContext.setCustomInstanceManager(ReactInstanceManager instanceManager)":"如果是集成/混编 Android 方案,则可以使用此方法传入你自行创建的 ReactInstanceManager。自v5.5.8版本起可用。示例:\nimport cn.reactnative.modules.update.UpdateContext\nmReactInstanceManager = ReactInstanceManager.builder()\n // ...各种setter,但注意不要调用setBundleAssetName\n .setJSBundleFile(UpdateContext.getBundleUrl(mContext, \"assets://index.android.bundle\"))\n .build();\nUpdateContext.setCustomInstanceManager(mReactInstanceManager);"}},"/docs/bestpractice":{"title":"场景实践","data":{"优化原生和热更包体积#优化原生和热更包体积":"","ios-原生包优化ipa#iOS 原生包优化(ipa)":"对于同一份 archive(其版本号、编译时间和内置 bundle 已固定,不会受导出方式所影响),可以用不同选项多次导出 ipa,选择其中最小的上传到 pushy 服务器作为热更基准包。","android-原生包优化apk#Android 原生包优化(apk)":"apk 的优化主要考虑两个方向:\n启用 proguard 压缩混淆源码。但这一步可能导致一些使用反射的代码运行时报错,启用后需要充分测试每个页面和功能,以及需要阅读一些第三方关于 proguard 的特别设置说明。\n分开编译不同的 cpu 架构。找到android/app/build.gradle中的 cpu 架构部分,如下所示启用enable选项:\nsplits {\n abi {\n reset()\n- enable enableSeparateBuildPerCPUArchitecture\n+ enable true // 启用单独的 cpu 架构编译\n universalApk false // If true, also generate a universal APK\n }\n}\n如此一来会在编译目录中输出多个 apk 文件,分发和上传到热更新服务时只需要使用app-arm64-v8a-release.apk文件,可以大幅减小 apk 的大小。","热更新包优化ppk#热更新包优化(ppk)":"热更新包的主要内容是 js 包和其所引用的静态资源(主要是图片)。\njs 包成分分析。可以借助一些第三方工具(如react-native-bundle-visualizer)来分析 js 文件中哪些占比较大,是否可以用其他库替换等(如 dayjs 替换 moment,lodash-es 替换 lodash)。\n图片优化。\n在保证体验的情况下,使用一些工具对图片进行裁剪压缩。\n如不需要图片的透明像素,可以考虑将 png 格式转为 jpg 格式。\n还可以进一步考虑压缩比更高的图片格式,例如 webp 格式(需要第三方原生插件例如react-native-webp-format),heif 格式(iOS 11 和 Android 10 以上原生支持)等。这里有个图片格式对比可供参考 https://compare.rokka.io/_compare/#heif=40&jpeg=80&webp=80&av1=40&width=800。","有很多渠道包需要热更如何操作比较方便#有很多渠道包需要热更,如何操作比较方便?":"如果渠道包的js代码和初始资源有差别(无论多么细微的差别都会生成不同的 jsbundle),那么只能单独生成 apk,分别上传和绑定。可以考虑写一些脚本自动调用 cli 来执行批量操作。\n如果渠道包的js代码和初始资源完全一致,可以考虑使用Flavor 构建,或其他一些动态生成渠道包的方案(比如腾讯的 VasDolly,美团的 walle等),这样所有的渠道包基于同一个基础 apk 生成(因而会有相同的编译时间戳和 jsbundle)。这样可以只用上传一个基础 apk,对此 apk 的热更操作可以对所有渠道包生效。\n如果您是高级版、专业版或大客户VIP版客户,也可以考虑在管理后台的应用设置中启用忽略编译时间戳。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量。","如何支持-aab-格式的原生包#如何支持 aab 格式的原生包?":"如果您需要使用 aab 格式的 android 原生包,那么可以在上传到 Google play 之后,在其控制台中下载转换后的 apk 格式(见下图),然后将这个 apk 包上传到热更新的后台,即可正常支持热更新。","ci-的集成#CI 的集成":"在开发环境中,每次 bundle 都会生成一个不同名字的 ppk 文件,这不利于持续集成(CI)系统的引入。要解决这个问题,你可以使用--output参数来指定输出 ppk 文件的名字和路径,便于进行自动发布。","测试发布与回滚#测试、发布与回滚":"自 v10.11.2 版本开始,可以使用以下两种快捷扫码方案来测试热更,而无需提前进行绑定:\n若应用启用了 DeepLink 功能\n代码中无需任何改动,只需在上述界面中勾选“使用 Deep Link”,填入您应用的协议名,例如\"pushy://\",然后使用系统相机或系统内置的扫一扫功能扫码(注意不能使用微信扫码),即可自动调起应用并触发更新。\n若应用自带扫码功能\n请参考 parseTestQrCode 方法的说明。先发布一个测试包,再发布一个除了版本号以外均完全相同的正式包。例如,假设我们有一个正式包,版本为1.6.0,那么可以修改版本号重新打包一个1001.6.0,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。在每次往发布包发起热更新之前,先对测试包1001.6.0进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到正式包1.6.0上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。万一确实发生线上事故需要回滚的话,先立即对原生包或者整个应用设置暂停热更,然后更改绑定到之前正常的版本,或者利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送。","元信息meta-info的使用#元信息(Meta Info)的使用":"在发布热更新版本时,或者在网页端,你可以编辑版本的元信息。这是一段在检查更新时可以获得的字符串,你可以在其中按你所想的格式(一般建议用JSON 格式)保存一些信息。比如我们可以在元信息中约定字段标志silent,表示需要静默更新。当我们上传热更包填写 metainfo 时,以JSON 格式输入:\n{ \"silent\": true }\n请注意,我们并不对输入做任何格式校验和约束,请自行校验输入是否正确。\n此时在客户端检查更新时,能获取到我们刚刚输入的元信息,但它并不具备任何功能,只是一个字符串而已。所以我们其实需要预先在更新流程中加入对应的处理逻辑:\n// 调用 checkUpdate 获取 updateInfo\nif (updateInfo.expired) {\n // ... 原生包版本过期,下载或跳转下载页面\n} else if (updateInfo.upToDate) {\n // ... 没有更新,弹提示或忽略\n} else {\n // 有更新,一般来说我们在这里给用户弹窗提示,让用户选择是否更新\n // 那么静默更新的本质其实就是不弹窗,直接执行,所以可以在这里加入额外的判断流程\n // ...\n}\n我们在原有的更新流程中加入元信息的读取和判断:\nlet metaInfo = {};\ntry {\n // 注意 JSON 输入有可能有错误,需要用 try 语句来避免应用被带崩\n metaInfo = JSON.parse(updateInfo.metaInfo);\n} catch (e) {\n // 异常处理,忽略或上报?\n}\nif (metaInfo.silent) {\n // 如果热更包携带有 silent 字段,不询问用户,直接执行更新\n switchVersion();\n} else {\n // 否则还是走之前的询问流程\n // Alert.alert('提示', '检查到新的版本.......\n}\n又比如,可能某个版本包含一些重要的公告内容,所以还可以在上面插入一个公告字段等等。如何使用元信息,完全取决于您的想象力!"}},"/docs/cli":{"title":"命令行工具","data":{"安装#安装":"$ npm install -g react-native-update-cli","命令#命令":"","pushy-bundle#pushy bundle":"生成资源包\nplatform: ios|android 对应的平台\nentryFile: 入口脚本文件\nintermediaDir: 临时文件输出目录\noutput: 最终 ppk 文件输出路径\ndev: 是否打包开发版本\nsourcemap: 是否生成 sourcemap(需 cli 版本 1.11.0+)","pushy-parseipa-ipafile#pushy parseIpa [ipaFile]":"解析 ipa 文件并输出一些相关信息,如版本号,编译时间戳等。","pushy-parseapk-apkfile#pushy parseApk [apkFile]":"解析 apk 文件并输出一些相关信息,如版本号,编译时间戳等。","pushy-diff-originnext#pushy diff [origin][next]":"提供两个 ppk 文件,生成从 origin 到 next 版本的差异更新包。\noutput: diff 文件输出路径","pushy-difffromapk-apkfilenext#pushy diffFromApk [apkFile][next]":"提供一个 apk 文件和一个 ppk 文件,生成从 apk 文件到 next 版本的差异更新包。如果使用热更新开放平台,你不需要自己执行此命令。\noutput: diff 文件输出路径","pushy-difffromipa-ipafilenext#pushy diffFromIpa [ipaFile][next]":"提供一个 ipa 文件和一个 ppk 文件,生成从 ipa 文件到 next 版本的差异更新包。如果使用热更新开放平台,你不需要自己执行此命令。\noutput: diff 文件输出路径","pushy-login-emailpwd#pushy login [email][pwd]":"登录热更新开放平台。你需要先登录才能使用下面的命令。","pushy-logout#pushy logout":"登出并清除本地的登录信息","pushy-me#pushy me":"查看自己是否已经登录,以及昵称等信息。","pushy-createapp#pushy createApp":"创建应用并立刻绑定到当前工程。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台\nname: 应用名称\ndownloadUrl: 应用安装包的下载地址","pushy-deleteapp-appid#pushy deleteApp [appId]":"删除已有应用。所有已创建的应用包、热更新版本都会被同时删除。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-apps#pushy apps":"查看当前已创建的全部应用。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-selectapp-appid#pushy selectApp [appId]":"绑定应用到当前工程。\nplatform: ios|android 对应的平台","pushy-uploadipa-ipafile#pushy uploadIpa [ipaFile]":"上传 ipa 文件到开放平台。\nnote: 备注(cli 需 1.24.0 或更高版本)","pushy-uploadapk-apkfile#pushy uploadApk [apkFile]":"上传 apk 文件到开放平台。\nnote: 备注(cli 需 1.24.0 或更高版本)","pushy-packages#pushy packages":"查看已经上传的原生包。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-publish-ppkfile#pushy publish [ppkFile]":"发布新的热更新版本(ppk 文件)。\nplatform: ios|android 对应的平台\nname: 当前热更新版本的名字(版本号)\ndescription: 当前热更新版本的描述信息,可以对用户进行展示\nmetaInfo: 当前热更新版本的元信息,可以用来保存一些额外信息,具体用法可参考场景实践。","pushy-versions#pushy versions":"分页列举可用的版本。这项操作也可以在网页管理端进行。\nplatform: ios|android 对应的平台","pushy-update#pushy update":"为一个原生包版本绑定一个热更新版本。这项操作也可以在网页管理端进行。以下参数中packageId,packageVersion,minPackageVersion和maxPackageVersion四选一即可。\nplatform: ios|android 对应的平台\nversionId: 要绑定的热更新版本 ID\npackageId: 要绑定的原生包 ID (四选一)\npackageVersion: 要绑定的原生包版本名(四选一,需 cli 版本 1.7.2+)\nminPackageVersion: 要绑定的最低原生包版本,大于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)\nmaxPackageVersion: 要绑定的最高原生包版本,小于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)"}},"/docs/faq":{"title":"常见问题","data":{"":"如果本页面没能回答您的疑问,您可以去issues 区或 QQ 群 729013783 提问,或给我们发邮件。","业务问题#业务问题":"","热更新究竟能否上架#热更新究竟能否上架?":"您可能听说过各种说法,但大量实践表明,热更新目前能够顺利上架 AppStore 和其他各种应用市场。唯一需要注意的是,在审核期间请不要发布热更新,不要让审核人员看到各种更新相关的提示和弹窗,即可顺利通过。","是否可以在海外使用#是否可以在海外使用?":"可以的,国内外都有高速 CDN 节点。","哪些修改可以热更新哪些不能#哪些修改可以热更新?哪些不能?":"我们把对应用的修改分为两类:\n不可热更新 —— 原生修改,即所有需要编译后才能生效的修改:\n任何在 iOS 或者 Android 目录中的修改、增删。\n任何含有原生代码的第三方组件的更新、修改。\n可以热更新 —— 非原生修改,即所有无需编译,刷新即可生效的修改:\njs 代码修改,包括第三方纯 js 组件的更新、修改。\n可以在 js 代码中 require/import 的资源文件,例如图片。\n需要注意的是,即便资源文件可以热更新,但这些热更新后的资源文件会以file://协议的形式提供访问,某些读取资源文件的第三方可能并不支持file://协议。","我是否可以搭建自己的热更新服务#我是否可以搭建自己的热更新服务?":"你可以单独使用本组件的原生部分(不包括 js 模块)和命令行工具中的bundle、diff、diffFromIpa、diffFromApk四个功能。这些功能都不会使用我们的热更新服务,也无需注册或登录账号。但你可能要编写自己的 js 模块来与不同的热更新服务器通讯。","热更新成功完成但是重启后又回滚了是怎么回事#热更新成功完成,但是重启后又回滚了是怎么回事?":"可以正常更新,但是重启后回滚,一般有两种可能的情况:\n没有正确配置 bundleUrl\n(仅有 v10 以下版本存在此可能性,v10 及更高版本不存在此情况)没有正确调用 markSuccess\n如果你确定上述两个步骤都正确无误,请在issues 区给我们留言反馈。","热更新报错热更新已暂停原因编译时间戳与服务器记录不一致#热更新报错:“热更新已暂停,原因:编译时间戳与服务器记录不一致。”":"当您每次编译产生一个原生包时,其中都会记录一个编译时间戳buildTime(可以使用pushy parseIpa a.ipa或是pushy parseApk a.apk命令来查看)。如果您需要把这个包发给客户并希望使用热更新功能,那么就需要使用 upload 命令来上传到我们的服务器,而服务器端会记录这个包的版本号和编译时间戳以便后续比对记录。举例来说,假如我已经上传了一个 1.0 版本原生包(1A包),但后来由于种种原因我又重新打包了(1B包)但没有上传,这两个包有相同的版本号,但会有不同的编译时间戳。此时有几种可能的情况:\n我忘记上传过1A包,1B包没有实质更改且还没有客户安装。此时应当放弃1B包,只让客户下载安装1A包。\n我忘记上传过1A包,又生成了1B包且已有客户安装。此时1A包客户可以获取热更新,1B包客户无法获取热更新。要使两批客户都能获取热更新,要么想办法通知1B包客户装回1A包,要么重新发布一个高于1.0版本的原生包且上传到 pushy 服务器,并删除1.0版本的记录,此时1A包和1B包的客户都会收到版本过期需要下载新版本的通知。\n我知道上传过1A包,但我有原生方面的修改需要打了一个新的1B包。此时若将1B包上传到 pushy 服务器会提示版本验证错误,因为已经存在有相同的1.0版本。所以需要首先更改原生版本号再次打包,并首先将此新版本上传到服务器,然后分发给客户。这样1.0版本和新版本可以并存且都可以获得热更新。\n请谨记,任何时候生成原生包,请 1)先修改原生版本号,2)并上传到 pushy 服务器,才可以正常获得热更新。\n如果您是高级版、专业版或大客户VIP版客户,也可以考虑在管理后台的应用设置中启用忽略编译时间戳。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。","付费问题#付费问题":"","我应该选择哪个业务版本呢#我应该选择哪个业务版本呢?":"其实完全无需考虑,先从最高配额的专业版开始体验(新用户注册验证通过后,将自动获得 7 天专业版试用),各个版本的使用流程完全一致!当试用时间到期后,若当前版本的配额不能满足需求,可随时补差价升级到更高配额的版本。升级自动按天数计算差价,绝无额外费用。目前仅有一项额外的付费专用功能,即忽略编译时间戳设置(在管理后台的应用设置中),此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。此功能目前仅支持高级版、专业版和大客户VIP版。","我可以试用付费版本先评估一下效果吗#我可以试用付费版本先评估一下效果吗?":"新用户注册验证通过后,将自动获得 7 天专业版试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至 hi@charmlot.com ,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。","配额具体如何计算#配额具体如何计算?":"配额主要分为 4 种:\n可创建的应用数量,注意 iOS 和 Android 版本记做不同的应用。\n原生包数量及大小,不同应用分开计算。原生包指通过pushy uploadIpa/uploadApk命令上传到 Pushy 服务器上作为热更新起始版本的完整 apk/ipa 安装包。\n热更包数量及大小,不同应用分开计算。热更包指通过pushy bundle所命令生成的 ppk 文件。注意这不是用户实际下载的更新文件,用户下载的是通过比对生成的增量 diff 文件(比 ppk 文件要小得多)。\n每日总热更查询次数,所有应用累加计算。每次用户打开应用时,会向服务器查询是否有新的热更新。这个查询次数会被计入每日总热更查询次数。当日超过限额次数后,接口将不再返回新的热更新信息,直到次日重置。\n这里有一些对包大小的优化建议可供参考。\n以上 2、3 条为账户下每个应用单独计算,第 4 条为账户下所有应用累加计算。具体配额和费用由于运营成本可能会有调整,请以价格表页面为准。已购买的用户在续费前不受调整影响。","达到配额后还可以正常使用吗#达到配额后还可以正常使用吗?":"当应用、原生包、热更包数量达到配额限制后,您将无法执行相应的新增操作。但用户端仍可正常检查更新,下载已发布的更新。您可选择升级到更高配额,或是通过删除已不再使用的应用、原生包、热更包来使数量降低到配额以内,以便继续执行新增操作。\n若原生包、热更包大小超过限额,则会导致上传失败。您可以选择升级到更高配额,或是想办法进行精简优化。\n若当日热更检查次数超过限额,则会导致接口返回空数据。您可以选择升级到更高配额,或是优化热更策略,减少用户端检查更新的频率。","我可以单独升级某项配额吗#我可以单独升级某项配额吗?":"我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版配额仍然不能满足需求,请通过邮件 hi@charmlot.com 与我们联系,我们将根据您的个性化需求为您定制方案。","付费业务到期后不续费现有应用还能否正常使用#付费业务到期后不续费,现有应用还能否正常使用?":"到期后按免费版额度执行。如您现有应用已超出配额,则必须通过删除操作降低到配额以内,方可执行新的操作(如创建应用,上传热更等),但不影响用户获取之前已发布的热更。","如何获取付费的专人技术支持#如何获取付费的专人技术支持?":"请将您的用户名和订单截图发送至 hi@charmlot.com ,同时提供您希望的技术联系方式(QQ、微信等),核实后会有技术专员添加您为好友。","如何开具发票#如何开具发票?":"请将具体开票需求发送至 hi@charmlot.com ,并附上注册邮箱和订单截图。我们默认会回复普通电子发票到注册邮箱,类目为软件服务。如需指定接受邮箱或手机,请在邮件正文中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。\n如邮件发送后三个工作日内未收到回复,请联系 QQ 客服 34731408。","可以使用银行转账付款吗#可以使用银行转账付款吗?":"可以的。请对照价格表,将对应版本的款项转账至:\n公司名称\t武汉青罗网络科技有限公司\t账号\t8888888048825564\t开户行名称\t浙江网商银行\t开户地区\t浙江省杭州市\t支行名称\t浙江网商银行股份有限公司\t联行号\t323331000001\t\n转账完成后请截图发送至 hi@charmlot.com ,并写明注册邮箱,我们将在一个工作日内开通对应服务。","可以按月付款吗#可以按月付款吗?":"需要月付的客户请联系 QQ 客服 34731408,月付价格为年付价格 / 8。如标准版当前价格为 800 元每年,则月付价格为 100 元每月。\n月付客户需累计支付满 500 元后才能开具发票。大客户VIP版不支持月付。","大客户方案#大客户方案":"如果您的应用有大规模的活跃用户,日均所有应用累计总查询次数超过 100 万次,则建议选择我们专门针对大规模应用优化的大客户VIP版。\n大客户VIP版在应用数量、原生包数量、热更包数量等方面配额与专业版相同。当前价格如下表:\n服务版本\t日均总热更查询次数\t价格(元/年)\tVIP1\t100 万至 1000 万次\t30000\tVIP2\t1000 万至 5000 万次\t60000\tVIP3\t5000 万至 1 亿次\t120000\tVIP4\t1 亿次以上\t请联系客服\t\n具体试用和对接请联系 QQ 客服 34731408"}},"/docs/getting-started":{"title":"安装配置","data":{"":"请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里\n首先你应该有一个基于 React Native 开发的应用,我们把具有 package.json 的目录叫做你的应用根目录。\n如果你还没有初始化应用,请参阅开始使用 React Native。我们假设你已经拥有了开发 React Native 应用的一切环境,包括Node.js、Xcode、Android SDK等等。","安装#安装":"在你的项目根目录下运行以下命令:\n# 先全局安装命令行工具,每台电脑只用装一次\nnpm i -g react-native-update-cli\n# 然后在项目目录中安装热更新模块\nnpm i react-native-update\n# 然后进入ios目录安装iOS模块\ncd ios && pod install\n如果下载极慢或者显示网络失败,请设置使用淘宝镜像 npx nrm use taobao\n注意请不要混用npm/yarn/pnpm等包管理器及对应的lock文件,团队成员请坚持使用同一包管理器,且仅保留统一格式的lock文件\n请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(使用 npx\nreact-native run-ios 或 run-android 命令编译,或在 Xcode/Android Studio\n中重新编译)才能生效。","手动-link#手动 link":"如果 RN 版本 >= 0.60 则不需要此手动 link 步骤。\n注意:如果是混编 RN\n项目,或monorepo,或任何其他自定义的情况,由于自定义的配置可能不完整或不适应RN的目录结构,导致自动\nlink 的功能可能不能正常工作。此时即便 RN 版本 >= 0.60,你可能也需要执行手动\nlink 操作。","ios#iOS":"RN < 0.60且使用CocoaPods(推荐)\n在 ios/Podfile 中添加\npod 'react-native-update', path: '../node_modules/react-native-update'\n在项目的 ios 目录下运行pod install\n重新编译\nRN < 0.60且不使用CocoaPods\n在 XCode 中的 Project Navigator 里,右键点击Libraries ➜ Add Files to [你的工程名]\n进入node_modules ➜ react-native-update ➜ ios 并选中RCTPushy.xcodeproj`\n在 XCode 中的 project navigator 里,选中你的工程,在 Build Phases ➜ Link Binary With Libraries 中添加 libRCTPushy.a、libz.tbd、libbz2.1.0.tbd\n继续在Build Settings里搜索Header Search Path,添加$(SRCROOT)/../node_modules/react-native-update/ios,勾选recursive。\n在Build Phases添加一个New Run Script Phase运行脚本,内容如下\n#!/bin/bash\nset -x\nDEST=\"../node_modules/react-native-update/ios/\"\ndate +%s > \"$DEST/pushy_build_time.txt\"\n尝试编译一下,顺利的话就会在../node_modules/react-native-update/ios/文件夹下面生成一个pushy_build_time.txt文件。然后在Copy Bundle Resources里把生成的pushy_build_time.txt文件添加进去。","android#Android":"RN < 0.60 或其他不能自动 link 的情况\n在android/settings.gradle中添加如下代码:\ninclude ':react-native-update'\nproject(':react-native-update').projectDir = new File(rootProject.projectDir, \t'../node_modules/react-native-update/android')\n在android/app/build.gradle的 dependencies 部分增加如下代码:\nimplementation project(':react-native-update')\n打开android/app/src/main/java/[...]/MainApplication.java,\n在文件开头增加 import cn.reactnative.modules.update.UpdatePackage;\n在getPackages() 方法中增加 new UpdatePackage()(注意上一行可能要增加一个逗号)","配置-bundle-url#配置 Bundle URL":"注意此步骤无论任何版本,目前都需要手动配置。","ios-1#iOS":"在你的 AppDelegate.mm 或 AppDelegate.m 文件(不同 RN 版本可能后缀名不同)中增加如下代码:\n// ... 其它代码\n#import \"AppDelegate.h\"\n#import \"RCTPushy.h\" // <-- import头文件,注意要放到if条件外面\n// 可能项目里有一些条件编译语句,例如有些版本RN自带的flipper\n// #if DEBUG\n// 注意**不要**在这里面引入\"RCTPushy.h\"\n// #import \n// ...\n// #endif\n// rn 版本 >= 0.74 需要修改 bundleURL 方法\n- (NSURL *)bundleURL\n{\n#if DEBUG\n // 原先DEBUG这里的写法不作修改(所以DEBUG模式下不可热更新)\n return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\"];\n#else\n return [RCTPushy bundleURL]; // <-- 把这里非DEBUG的情况替换为热更新bundle\n#endif\n}\n// rn 版本 < 0.74 需要修改sourceURLForBridge方法\n- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge\n{\n#if DEBUG\n // 原先DEBUG这里的写法不作修改(所以DEBUG模式下不可热更新)\n return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@\"index\"];\n#else\n return [RCTPushy bundleURL]; // <-- 把这里非DEBUG的情况替换为热更新bundle\n#endif\n}","android-1#Android":"在 MainApplication 中增加如下代码(如果是混编原生的项目或其他原因没有使用 ReactApplication,请使用此 api 集成):\n// ... 其它代码\n// ↓↓↓请注意不要少了这句import\nimport cn.reactnative.modules.update.UpdateContext;\n// ↑↑↑\nclass MainApplication : Application(), ReactApplication {\n override val reactNativeHost: ReactNativeHost =\n object : DefaultReactNativeHost(this) {\n // ↓↓↓将下面这一段添加到 DefaultReactNativeHost 内部!\n override fun getJSBundleFile(): String? {\n return UpdateContext.getBundleUrl(this@MainApplication)\n }\n // ↑↑↑\n // ...其他代码\n }\n}\n// ... 其它代码\n// ↓↓↓请注意不要少了这句import\nimport cn.reactnative.modules.update.UpdateContext;\n// ↑↑↑\npublic class MainApplication extends Application implements ReactApplication {\n private final ReactNativeHost mReactNativeHost =\n // 老版本 RN 这里可能是 new ReactNativeHost(this)\n new DefaultReactNativeHost(this) {\n // ↓↓↓将下面这一段添加到 DefaultReactNativeHost 内部!\n @Override\n protected String getJSBundleFile() {\n return UpdateContext.getBundleUrl(MainApplication.this);\n }\n // ↑↑↑\n // ...其他代码\n }\n}\n请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(npx react-native\nrun-ios 或 run-android 命令编译,或在 Xcode/Android Studio\n中重新编译)才能生效。","禁用-android-的-crunch-优化#禁用 android 的 crunch 优化":"android 会在生成 apk 时自动对 png 图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在android/app/build.gradle中关闭此操作:\n// 在 android/app/build.gradle 文件中\nandroid {\n // ...\n signingConfigs {\n // ...\n }\n buildTypes {\n release {\n // ...\n // 添加下面这行以禁用crunch\n crunchPngs false\n }\n }\n}","禁用-aab-包的资源分割如果你需要在-google-play-上架#禁用 aab 包的资源分割(如果你需要在 Google Play 上架)":"如果你需要打 aab 包以在 Google Play 上架,则需要禁用 aab 包的资源分割:\n// 在 android/app/build.gradle 文件中\nandroid {\n bundle {\n density {\n // 请禁用资源分割\n // 否则热更后可能遇到图片无法显示的问题\n enableSplit = false\n }\n }\n}","登录与创建应用#登录与创建应用":"首先请在 https://pushy-admin.reactnative.cn 注册帐号,然后在你的项目根目录下运行以下命令:\n$ pushy login\nemail: <输入你的注册邮箱>\npassword: <输入你的密码>\n这会在项目文件夹下创建一个.update文件,注意不要把这个文件上传到 Git 等 CVS 系统上。你可以在.gitignore末尾增加一行.update来忽略这个文件。登录之后可以创建应用。注意 iOS 平台和安卓平台需要分别创建:\n$ pushy createApp --platform ios\nApp Name: <输入应用名字>\n$ pushy createApp --platform android\nApp Name: <输入应用名字>\n两次输入的名字可以相同,这没有关系。\n如果你已经在网页端或者其它地方创建过应用,也可以直接选择应用:\n$ pushy selectApp --platform ios\n1) 鱼多多(ios)\n2) 招财旺(ios)\nTotal 2 ios apps\nEnter appId: <输入应用前面的编号>\n选择或者创建过应用后,你将可以在文件夹下看到update.json文件,其内容类似如下形式:\n{\n \"ios\": {\n \"appId\": 1,\n \"appKey\": \"<一串随机字符串>\"\n },\n \"android\": {\n \"appId\": 2,\n \"appKey\": \"<一串随机字符串>\"\n }\n}\n你可以安全的把update.json上传到 Git 等 CVS 系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。至此应用的创建/选择就已经成功了。下一步,你需要给代码添加相应的功能,请参阅代码集成。"}},"/docs/integration":{"title":"代码集成","data":{"":"请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里\n安装配置完成后,确定应用编译顺利通过,下面我们来进行代码集成。","获取-appkey#获取 appKey":"检查更新时必须提供你的appKey,这个值保存在update.json中(使用pushy createApp或pushy selectApp命令后会自动生成),并且根据平台不同而不同。你可以用如下的代码获取appKey:\nimport { Platform } from \"react-native\";\nimport _updateConfig from \"./update.json\";\nconst { appKey } = _updateConfig[Platform.OS];\n如果你不使用 pushy 命令行,也可以从网页端查看到两个应用 appKey,并根据平台的不同来选择。","初始化服务#初始化服务":"import { PushyProvider, Pushy } from \"react-native-update\";\n// 唯一必填参数是appKey,其他选项请参阅 api 文档\nconst pushyClient = new Pushy({\n appKey,\n // 注意,默认情况下,在开发环境中不会检查更新\n // 如需在开发环境中调试更新,请设置debug为true\n // 但即便打开此选项,也仅能检查、下载热更,并不能实际应用热更。实际应用热更必须在release包中进行。\n // debug: true\n});\n// 在根组件外加上PushyProvider后导出\nexport default function Root() {\n // 注意,在使用 PushyProvider 的当前组件中,无法直接调用 usePushy\n // 只有当前组件的子组件才能调用 usePushy\n return (\n \n {/* ↓ 整个应用的根组件放到PushyProvider中 */}\n \n \n );\n}\n如没有特别的自定义需求,那么到此热更新已经可以开始正常运作(如需在应用内执行 apk 更新,还需配置安装权限)。默认配置下,在 App 启动,以及从后台切换到前台时会触发更新检查,弹出提示的内容也固定。如需自定义触发时机,以及修改界面提示等,请参考下面的自定义更新界面。","自定义更新界面#自定义更新界面":"默认配置下,pushy 会以系统 alert 的形式来弹出更新提示,如需自定义更新界面,首先请关闭默认的 updateStrategy 更新策略,并打开 debug 选项以便调试:\nconst pushyClient = new Pushy({\n appKey,\n+ updateStrategy: null,\n+ debug: true,\n});\n所有更新相关的数据可以通过一个单一的usePushy()hook 函数来获取,然后可以根据其提供的数据来自行渲染自定义的界面,如下面的例子:\nimport { Icon, PaperProvider, Snackbar, Banner } from \"react-native-paper\";\nfunction App() {\n const {\n client,\n checkUpdate,\n downloadUpdate,\n switchVersionLater,\n switchVersion,\n updateInfo,\n packageVersion,\n currentHash,\n progress: { received, total } = {},\n } = usePushy();\n const [showUpdateBanner, setShowUpdateBanner] = useState(false);\n const [showUpdateSnackbar, setShowUpdateSnackbar] = useState(false);\n const snackbarVisible =\n showUpdateSnackbar && updateInfo?.update;\n return (\n \n \n 更新下载进度:{received} / {total}\n \n \n 点击这里检查更新\n \n {snackbarVisible && (\n {\n setShowUpdateSnackbar(false);\n }}\n action={{\n label: \"更新\",\n onPress: async () => {\n setShowUpdateSnackbar(false);\n await downloadUpdate();\n setShowUpdateBanner(true);\n },\n }}\n >\n 有新版本({updateInfo.name})可用,是否更新?\n \n )}\n {\n switchVersionLater();\n setShowUpdateBanner(false);\n },\n },\n ]}\n icon={({ size }) => (\n \n )}\n >\n 更新已完成,是否立即重启?\n \n \n );\n}\n其中checkUpdate方法可以用来手动触发更新检查。检查后会更新usePushy返回的updateInfo(注意checkUpdate方法本身没有返回值),有三种情况:\n{expired: true}:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),开发者应该在 pushy 的管理后台添加一个更新下载链接,并自行提示用户下载。如需在应用内执行 apk 更新,还需配置安装权限。\n{upToDate: true}:当前已经更新到最新,无需进行更新。\n{update: true}:当前有新版本可以更新。info 的name、description字段可以用于提示用户,而metaInfo字段则可以根据你的需求自定义其它属性(如是否静默更新、是否强制更新等等),具体用法可参考场景实践。另外还有几个字段,包含了补丁包的下载地址等。 pushy 会首先尝试耗费流量更少的更新方式。\n当返回的updateInfo中update字段为 true 时,即可调用downloadUpdate方法来下载更新,此时可以获取到下载的进度数据progress。下载完成后可以调用switchVersion来立即重启更新,也可以使用switchVersionLater来标记下次启动时更新。","统计数据#统计数据":"初始化 Pushy 客户端时可以传入自定义的 logger 函数,其中可以自己记录日志或上报统计数据,比如下面的例子使用 Google Analytics 来上报事件:\nimport { getAnalytics, logEvent } from \"firebase/analytics\";\nconst analytics = getAnalytics();\nconst pushyClient = new Pushy({\n appKey,\n logger: ({ type, data }) => {\n logEvent(analytics, \"pushy_\" + type, data);\n },\n});\n以上提及的所有 api 的说明文档可在这里查看。现在,你的应用已经可以通过 pushy 服务检查版本并进行更新了。下一步,你可以开始尝试发布应用包和版本,请参阅发布热更新。"}},"/docs/publish":{"title":"发布热更新","data":{"":"现在你的应用已经具备了检测更新的功能,下面我们来尝试发布并更新它。流程可参考下图:\n流程总结如下:\n我们需要先打包一个原生 release 版本,在打包前请确保已集成了react-native-update并在调试过程中运行正常,安卓端关闭了crunchPngs设置,打包说明可参考iOS 打包和android 打包。打包完成后请使用pushy uploadIpa或者pushy uploadApk命令来把这个安装包上传到 pushy 服务器端,以作为之后热更差量对比的基准。同时请保留好这个安装包,上架和分发给用户所使用的安装包需要和服务器端完全一致。建议使用 git tag 功能来标记原生版本号(例如v1.0.0)。\n然后在基准版本之上迭代业务逻辑(增删 js 代码,增删图片等静态资源),使用pushy bundle命令来生成和发布热更新版本,而不需要重新打包。建议使用 git tag 功能来标记热更版本号(例如v1.0.1)。\n如果迭代过程中有原生方面的修改,则需要发布并上传新的原生基准版本(重复步骤 1,但需要设置不同的原生版本号)。可以只保留一个原生基准版本,也可以多版本同时维护。","发布原生基准版本#发布原生基准版本":"","ios#iOS":"首先参考文档-在设备上运行,确定你正在使用离线包。然后点击菜单。按照正常的发布流程打包.ipa文件:\nXcode 中运行设备选真机或 Generic iOS Device\n菜单中选择 Product - Archive\nArchive 完成后选择Export生成.ipa 文件\n然后运行如下命令上传到 pushy 服务器以供后续版本比对之用\n$ pushy uploadIpa \n此 ipa 的CFBundleShortVersionString字段(位于ios/项目名/Info.plist中)会被记录为原生版本号packageVersion。随后你可以选择往 AppStore 上传这个版本(可以重新 export 并调整相关选项,但请不要重新 archive),也可以先通过Test flight或蒲公英等渠道进行真机安装测试。请注意:暂不支持通过 Xcode 直接进行热更新测试。如果后续需要再次 archive 打包(例如修改原生代码或配置。如果只是修改 js 代码则不需要重新打包。),请先更改版本号,并在打包完成后再次uploadIpa到服务器端记录,否则后续生成的相同版本的原生包会由于编译时间戳不一致而无法获取热更新。","android#Android":"首先参考文档-打包 APK设置签名,然后在 android 文件夹下运行./gradlew assembleRelease或./gradlew aR,你就可以在android/app/build/outputs/apk/release/app-release.apk中找到你的应用包。\n如果你需要使用 aab 格式(android app bundle,google 市场专用)的包,请参考这里的做法将其转换为 apk 格式后再操作。\n然后运行如下命令\n$ pushy uploadApk android/app/build/outputs/apk/release/app-release.apk\n即可上传 apk 以供后续版本比对之用。此 apk 的versionName字段(位于android/app/build.gralde中)会被记录为原生版本号packageVersion。随后你可以选择往应用市场发布这个版本,也可以先往设备上直接安装这个 apk 文件以进行测试。如果后续需要再次打包(例如修改原生代码或配置。如果只是修改 js 代码则不需要重新打包。),请先更改版本号,并再次uploadApk到服务器端记录,否则后续生成的相同版本的原生包会由于编译时间戳不一致而无法获取热更新。","发布热更新版本#发布热更新版本":"你可以尝试修改一行代码(譬如将版本一修改为版本二),然后使用pushy bundle --platform 命令来生成新的热更新版本。\n如果你使用了较新版本的expo或其他没有index.js的框架,执行bundle命令时会报错。此时请手动创建一个index.js文件,在其中引用框架自身的入口文件即可。具体入口文件的路径如何,请参考框架的说明文档或者package.json中的main字段。例如针对expo的index.js可能是如下这样写:\nimport \"expo-router/entry\";\n$ pushy bundle --platform android\nBundling with React Native version: 0.22.2\n<各种进度输出>\nBundled saved to: build/output/android.1459850548545.ppk\nWould you like to publish it?(Y/N)\n如果想要立即上传,此时输入 Y。当然,你也可以在将来使用pushy publish --platform android build/output/android.1459850548545.ppk来上传刚才打包好的热更新包。\n Uploading [========================================================] 100% 0.0s\nEnter version name: <输入热更新版本名字,如1.0.0-rc>\nEnter description: <输入热更新版本描述>\nEnter meta info: {\"ok\":1}\nOk.\nWould you like to bind packages to this version?(Y/N)\n此时版本已经提交到 pushy 服务,但用户暂时看不到此更新,你需要先将特定的原生包版本绑定到此热更新版本上。此时输入 Y 立即绑定,你也可以在将来使用pushy update --platform 来对已上传的热更包和原生包进行绑定。除此以外,你还可以在网页端操作,简单的将对应的原生包版本拖到需要的热更新版本下即可。\n┌────────────┬──────────────────────────────────────┐\n│ Package Id │ Version │\n├────────────┼──────────────────────────────────────┤\n│ 46272 │ 2.0(normal) │\n├────────────┼──────────────────────────────────────┤\n│ 45577 │ 1.0(normal) │\n└────────────┴──────────────────────────────────────┘\n共 2 个包\n输入原生包 id: 46272\n版本绑定完毕后,服务器会在几秒内生成差量补丁,客户端就可以获取到更新了。后续要继续发布新的热更新,只需反复执行pushy bundle命令即可,不需要重新打包。恭喜你,至此为止,你已经完成了植入代码热更新的全部工作。","测试发布与回滚#测试、发布与回滚":"我们强烈建议您先发布一个测试包,再发布一个除了版本号以外均完全相同的正式包。例如,假设我们有一个正式包,版本为1.6.0,那么可以修改版本号重新打包一个1001.6.0,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。在每次往发布包发起热更新之前,先对测试包1001.6.0进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到正式包1.6.0上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。万一确实发生线上事故需要回滚的话,首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。"}},"/":{"title":"Index","data":{}},"/pricing":{"title":"价格","data":{}}} \ No newline at end of file diff --git a/_next/static/chunks/pages/_app-350dfc2526a49676.js b/_next/static/chunks/pages/_app-d88949ec6af26b91.js similarity index 68% rename from _next/static/chunks/pages/_app-350dfc2526a49676.js rename to _next/static/chunks/pages/_app-d88949ec6af26b91.js index f03c5d1..97321a1 100644 --- a/_next/static/chunks/pages/_app-350dfc2526a49676.js +++ b/_next/static/chunks/pages/_app-d88949ec6af26b91.js @@ -20,7 +20,7 @@ --nextra-primary-hue: ${s}deg; --nextra-primary-saturation: ${c}%; } - `}),o]})]})}var aR={link:(0,_.Z)("nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg"),icon:(0,_.Z)("nx-inline nx-h-5 nx-shrink-0")},aN=({flatDirectories:e,currentIndex:t})=>{let n=an().navigation,r="boolean"==typeof n?{prev:n,next:n}:n,o=r.prev&&e[t-1],i=r.next&&e[t+1];return(o&&!o.isUnderCurrentDocsTree&&(o=!1),i&&!i.isUnderCurrentDocsTree&&(i=!1),o||i)?(0,w.jsxs)("div",{className:(0,_.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[o&&(0,w.jsxs)(al,{href:o.route,title:o.title,className:(0,_.Z)(aR.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,w.jsx)(A.LZ,{className:(0,_.Z)(aR.icon,"ltr:nx-rotate-180")}),o.title]}),i&&(0,w.jsxs)(al,{href:i.route,title:i.title,className:(0,_.Z)(aR.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[i.title,(0,w.jsx)(A.LZ,{className:(0,_.Z)(aR.icon,"rtl:nx-rotate-180")})]})]}):null},aI={link:(0,_.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,_.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,_.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function aM({className:e,menu:t,children:n}){let{items:r}=t,o=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));return(0,w.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,w.jsxs)(ip,{children:[(0,w.jsx)(ip.Button,{className:(0,_.Z)(e,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",aI.inactive),children:n}),(0,w.jsx)(r3,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,w.jsx)(ip.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",children:Object.entries(r||{}).map(([e,n])=>{var r;return(0,w.jsx)(ip.Item,{children:(0,w.jsx)(al,{href:n.href||(null==(r=o[e])?void 0:r.route)||t.route+"/"+e,className:(0,_.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:n.newWindow,children:n.title||e})},e)})})})]})})}function aZ({flatDirectories:e,items:t}){let n=an(),r=C(),{menu:o,setMenu:i}=i9();return(0,w.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,w.jsx)("div",{className:(0,_.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,w.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[n.logoLink?(0,w.jsx)(al,{href:"string"==typeof n.logoLink?n.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:au(n.logo)}):(0,w.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:au(n.logo)}),t.map(e=>{if("hidden"===e.display)return null;if("menu"===e.type){let t=e;return(0,w.jsxs)(aM,{className:(0,_.Z)(aI.link,"nx-flex nx-gap-1",aI.inactive),menu:t,children:[t.title,(0,w.jsx)(A.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},t.title)}let t=e,n=t.href||t.route||"#";t.children&&(n=(t.withIndexPage?t.route:t.firstChildRoute)||n);let o=t.route===r||r.startsWith(t.route+"/");return(0,w.jsxs)(al,{href:n,className:(0,_.Z)(aI.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!o||t.newWindow?aI.inactive:aI.active),newWindow:t.newWindow,"aria-current":!t.newWindow&&o,children:[(0,w.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:t.title}),(0,w.jsx)("span",{className:"nx-invisible nx-font-medium",children:t.title})]},n)}),au(n.search.component,{directories:e,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),n.project.link?(0,w.jsx)(al,{className:"nx-p-2 nx-text-current",href:n.project.link,newWindow:!0,children:au(n.project.icon)}):null,n.chat.link?(0,w.jsx)(al,{className:"nx-p-2 nx-text-current",href:n.chat.link,newWindow:!0,children:au(n.chat.icon)}):null,au(n.navbar.extraContent),(0,w.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>i(!o),children:(0,w.jsx)(A.Oq,{className:(0,_.Z)({open:o})})})]})]})}var aL=Object.create(null),aP=(0,j.createContext)(null),aD=(0,j.createContext)(null),az=(0,j.createContext)(0),aF=(0,j.memo)(function(e){let t=(0,j.useContext)(az);return(0,w.jsx)(az.Provider,{value:t+1,children:(0,w.jsx)(aB,iq({},e))})}),aH={link:(0,_.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,_.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,_.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,_.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,_.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function aB({item:e,anchors:t}){let[n]=C().split("#"),r=[n,n+"/"].includes(e.route+"/"),o=r||n.startsWith(e.route+"/"),i=(0,j.useContext)(aP),a=!!(null==i?void 0:i.startsWith(e.route+"/")),s=(0,j.useContext)(az),{setMenu:l}=i9(),c=an(),{theme:u}=e,d=void 0===aL[e.route]?r||o||a||(u&&"collapsed"in u?!u.collapsed:s{let t=()=>{(o||a)&&(aL[e.route]=!0)},n=()=>{o&&a?aL[e.route]=!0:delete aL[e.route]};c.sidebar.autoCollapse?n():t()},[o,a,e.route,c.sidebar.autoCollapse]),"menu"===e.type){let t=e,n=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));e.children=Object.entries(t.items||{}).map(([e,r])=>{let o=n[e]||iX(iq({name:e},"locale"in t&&{locale:t.locale}),{route:t.route+"/"+e});return iq(iq({},o),r)})}let h="withIndexPage"in e&&e.withIndexPage,p=h?al:"button";return(0,w.jsxs)("li",{className:(0,_.Z)({open:d,active:r}),children:[(0,w.jsxs)(p,{href:h?e.route:void 0,className:(0,_.Z)("nx-items-center nx-justify-between nx-gap-2",!h&&"nx-text-left nx-w-full",aH.link,r?aH.active:aH.inactive),onClick:t=>{let n=["svg","path"].includes(t.target.tagName.toLowerCase());if(n&&t.preventDefault(),h){r||n?aL[e.route]=!d:(aL[e.route]=!0,l(!1)),f({});return}r||(aL[e.route]=!d,f({}))},children:[au(c.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route}),(0,w.jsx)(A.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,_.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",d&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,w.jsx)(ag,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:d,children:Array.isArray(e.children)?(0,w.jsx)(a$,{className:(0,_.Z)(aH.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:e.children,base:e.route,anchors:t}):null})]})}function aW({title:e}){let t=an();return(0,w.jsx)("li",{className:(0,_.Z)("[word-break:break-word]",e?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:e?au(t.sidebar.titleComponent,{title:e,type:"separator",route:""}):(0,w.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function aG({item:e,anchors:t}){let n=C(),r=(0,j.useContext)(aD),o=e.route&&[n,n+"/"].includes(e.route+"/"),i=i4(),{setMenu:a}=i9(),s=an();return"separator"===e.type?(0,w.jsx)(aW,{title:e.title}):(0,w.jsxs)("li",{className:(0,_.Z)(aH.list,{active:o}),children:[(0,w.jsx)(al,{href:e.href||e.route,newWindow:e.newWindow,className:(0,_.Z)(aH.link,o?aH.active:aH.inactive),onClick:()=>{a(!1)},onFocus:()=>{null==r||r(e.route)},onBlur:()=>{null==r||r(null)},children:au(s.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route})}),o&&t.length>0&&(0,w.jsx)("ul",{className:(0,_.Z)(aH.list,aH.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:t.map(({id:e,value:t})=>{var n;return(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:`#${e}`,className:(0,_.Z)(aH.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(n=i[e])?void 0:n.isActive)?aH.active:aH.inactive),onClick:()=>{a(!1)},children:t})},e)})})]})}function a$({directories:e,anchors:t,className:n,onlyCurrentDocs:r}){return(0,w.jsx)("ul",{className:(0,_.Z)(aH.list,n),children:e.map(e=>!r||e.isUnderCurrentDocsTree?"menu"===e.type||e.children&&(e.children.length||!e.withIndexPage)?(0,w.jsx)(aF,{item:e,anchors:t},e.name):(0,w.jsx)(aG,{item:e,anchors:t},e.name):null)})}function aU({docsDirectories:e,flatDirectories:t,fullDirectories:n,asPopover:r=!1,headings:o,includePlaceholder:i}){let a=an(),{menu:s,setMenu:l}=i9(),c=(0,k.useRouter)(),[u,d]=(0,j.useState)(null),[f,h]=(0,j.useState)(!0),[p,m]=(0,j.useState)(!1),g=(0,j.useMemo)(()=>o.filter(e=>2===e.depth),[o]),v=(0,j.useRef)(null),x=(0,j.useRef)(null),y=E();(0,j.useEffect)(()=>{s?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[s]),(0,j.useEffect)(()=>{var e;let t=null==(e=v.current)?void 0:e.querySelector("li.active");if(t&&(window.innerWidth>767||s)){let e=()=>{ik(t,{block:"center",inline:"center",scrollMode:"always",boundary:x.current})};s?setTimeout(e,300):e()}},[s]),(0,j.useEffect)(()=>{l(!1)},[c.asPath,l]);let b=a.i18n.length>0,O=a.darkMode||b||a.sidebar.toggleButton;return(0,w.jsxs)(w.Fragment,{children:[i&&r?(0,w.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,w.jsx)("div",{className:(0,_.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",s?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>l(!1)}),(0,w.jsxs)("aside",{className:(0,_.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",f?"md:nx-w-64":"md:nx-w-20",r?"md:nx-hidden":"md:nx-sticky md:nx-self-start",s?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:x,children:[(0,w.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:au(a.search.component,{directories:t})}),(0,w.jsx)(aP.Provider,{value:u,children:(0,w.jsx)(aD.Provider,{value:e=>{d(e)},children:(0,w.jsxs)("div",{className:(0,_.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",f?"nextra-scrollbar":"no-scrollbar"),ref:v,children:[(!r||!f)&&(0,w.jsx)(ag,{isOpen:f,horizontal:!0,children:(0,w.jsx)(a$,{className:"nextra-menu-desktop max-md:nx-hidden",directories:e,anchors:a.toc.float?[]:g,onlyCurrentDocs:!0})}),y&&window.innerWidth<768&&(0,w.jsx)(a$,{className:"nextra-menu-mobile md:nx-hidden",directories:n,anchors:g})]})})}),O&&(0,w.jsxs)("div",{className:(0,_.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",f?(0,_.Z)(b&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":p?f?"show":"hide":"off",children:[(0,w.jsx)(aC,{lite:!f,className:(0,_.Z)(f?"nx-grow":"max-md:nx-grow")}),a.darkMode&&(0,w.jsx)("div",{className:f&&!b?"nx-grow nx-flex nx-flex-col":"",children:au(a.themeSwitch.component,{lite:!f||b})}),a.sidebar.toggleButton&&(0,w.jsx)("button",{title:f?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{h(!f),m(!0)},children:(0,w.jsx)(A.Qq,{isOpen:f})})]})]})]})}var aV="reach-skip-nav",aq="Skip to content";(0,j.forwardRef)(function(e,t){var n=e,{className:r,id:o,label:i=aq,styled:a}=n,s=iK(n,["className","id","label","styled"]);let l=void 0===r?a?(0,_.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":r;return(0,w.jsx)("a",iX(iq({},s),{ref:t,href:`#${o||aV}`,className:l,"data-reach-skip-link":"",children:i}))}).displayName="SkipNavLink";var aX=(0,j.forwardRef)(function(e,t){var n=e,{id:r}=n,o=iK(n,["id"]);return(0,w.jsx)("div",iX(iq({},o),{ref:t,id:r||aV}))});aX.displayName="SkipNavContent";var aK=tA.strictObject({light:tA.string(),dark:tA.string(),system:tA.string()});function aQ({lite:e,className:t}){let{setTheme:n,resolvedTheme:r,theme:o=""}=tz(),i=E(),a=an().themeSwitch,s=i&&"dark"===r?A.kL:A.NW,l="function"==typeof a.useOptions?a.useOptions():a.useOptions;return(0,w.jsx)(aO,{className:t,title:"Change theme",options:[{key:"light",name:l.light},{key:"dark",name:l.dark},{key:"system",name:l.system}],onChange:e=>{n(e.key)},selected:{key:o,name:(0,w.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,w.jsx)(s,{}),(0,w.jsx)("span",{className:e?"md:nx-hidden":"",children:i?l[o]:l.light})]})}})}function aY(){window.scrollTo({top:0,behavior:"smooth"})}function aJ({className:e}){let t=(0,j.useRef)(null);return(0,j.useEffect)(()=>{function e(){var e;let{scrollTop:n}=document.documentElement;null==(e=t.current)||e.classList.toggle("nx-opacity-0",n<300)}return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),(0,w.jsxs)("button",{ref:t,"aria-hidden":"true",onClick:aY,className:(0,_.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",e),children:["Scroll to top",(0,w.jsx)(A.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var a0=(0,_.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function a1({headings:e,filePath:t}){var n;let r=i4(),o=an(),i=(0,j.useRef)(null),a=(0,j.useMemo)(()=>e.filter(e=>e.depth>1),[e]),s=a.length>0,l=!!(o.feedback.content||o.editLink.component||o.toc.extraContent),c=null==(n=Object.entries(r).find(([,{isActive:e}])=>e))?void 0:n[0];return(0,j.useEffect)(()=>{var e;if(!c)return;let t=null==(e=i.current)?void 0:e.querySelector(`li > a[href="#${c}"]`);t&&ik(t,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:i.current})},[c]),(0,w.jsxs)("div",{ref:i,className:(0,_.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[s&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:au(o.toc.title)}),(0,w.jsx)("ul",{children:a.map(({id:e,value:t,depth:n})=>{var i,a,s,l;return(0,w.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,w.jsx)("a",{href:`#${e}`,className:(0,_.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[n],"nx-inline-block",(null==(i=r[e])?void 0:i.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(l=null==(s=(a=o.toc).headingComponent)?void 0:s.call(a,{id:e,children:t}))?l:t})},e)})})]}),l&&(0,w.jsxs)("div",{className:(0,_.Z)(s&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[o.feedback.content?(0,w.jsx)(al,{className:a0,href:o.feedback.useLink(),newWindow:!0,children:au(o.feedback.content)}):null,au(o.editLink.component,{filePath:t,className:a0,children:au(o.editLink.text)}),au(o.toc.extraContent),o.toc.backToTop&&(0,w.jsx)(aJ,{className:a0})]})]})}function a2({className:e,directories:t}){let[n,r]=(0,j.useState)(""),o=(0,j.useMemo)(()=>n?iC(t,n,{keys:["title"]}).map(({route:e,title:t})=>({id:e+t,route:e,children:(0,w.jsx)(av,{value:t,match:n})})):[],[n,t]);return(0,w.jsx)(ab,{value:n,onChange:r,className:e,overlayClassName:"nx-w-full",results:o})}var a4="en-US",a5="undefined"!=typeof window;function a3(e){return null==e||"string"==typeof e||a6(e)||(0,j.isValidElement)(e)}function a6(e){return"function"==typeof e}var a7=tA.array(tA.strictObject({direction:tA.enum(["ltr","rtl"]).optional(),locale:tA.string(),text:tA.string()})),a8=[a3,{message:"Must be React.ReactNode or React.FC"}],a9=[a6,{message:"Must be React.FC"}];tA.strictObject({banner:tA.strictObject({dismissible:tA.boolean(),key:tA.string(),text:tA.custom(...a8).optional()}),chat:tA.strictObject({icon:tA.custom(...a8),link:tA.string().startsWith("https://").optional()}),components:tA.record(tA.custom(...a9)).optional(),darkMode:tA.boolean(),direction:tA.enum(["ltr","rtl"]),docsRepositoryBase:tA.string().startsWith("https://"),editLink:tA.strictObject({component:tA.custom(...a9).or(tA.null()),text:tA.custom(...a8)}),faviconGlyph:tA.string().optional(),feedback:tA.strictObject({content:tA.custom(...a8),labels:tA.string(),useLink:tA.function().returns(tA.string())}),footer:tA.strictObject({component:tA.custom(...a8),text:tA.custom(...a8)}),gitTimestamp:tA.custom(...a8),head:tA.custom(...a8),i18n:a7,logo:tA.custom(...a8),logoLink:tA.boolean().or(tA.string()),main:tA.custom(...a9).optional(),navbar:tA.strictObject({component:tA.custom(...a8),extraContent:tA.custom(...a8).optional()}),navigation:tA.boolean().or(tA.strictObject({next:tA.boolean(),prev:tA.boolean()})),nextThemes:tA.strictObject({defaultTheme:tA.string(),forcedTheme:tA.string().optional(),storageKey:tA.string()}),notFound:tA.strictObject({content:tA.custom(...a8),labels:tA.string()}),primaryHue:tA.number().or(tA.strictObject({dark:tA.number(),light:tA.number()})),primarySaturation:tA.number().or(tA.strictObject({dark:tA.number(),light:tA.number()})),project:tA.strictObject({icon:tA.custom(...a8),link:tA.string().startsWith("https://").optional()}),search:tA.strictObject({component:tA.custom(...a8),emptyResult:tA.custom(...a8),error:tA.string().or(tA.function().returns(tA.string())),loading:tA.custom(...a8),placeholder:tA.string().or(tA.function().returns(tA.string()))}),serverSideError:tA.strictObject({content:tA.custom(...a8),labels:tA.string()}),sidebar:tA.strictObject({autoCollapse:tA.boolean().optional(),defaultMenuCollapseLevel:tA.number().min(1).int(),titleComponent:tA.custom(...a8),toggleButton:tA.boolean()}),themeSwitch:tA.strictObject({component:tA.custom(...a8),useOptions:aK.or(tA.function().returns(aK))}),toc:tA.strictObject({backToTop:tA.boolean(),component:tA.custom(...a8),extraContent:tA.custom(...a8),float:tA.boolean(),headingComponent:tA.custom(...a9).optional(),title:tA.custom(...a8)}),useNextSeoProps:tA.custom(a6)}).deepPartial().extend({i18n:a7.optional()});var se={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},st={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},sn={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.D7,{}),(0,w.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:e,filePath:t,children:n}){let r=ah(t);return r?(0,w.jsx)(al,{className:e,href:r,children:n}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let e=an();return ac({labels:e.feedback.labels,repository:e.docsRepositoryBase,title:`Feedback for \u201C${e.title}\u201D`})}},footer:{component:aT,text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:e}){let{locale:t=a4}=(0,k.useRouter)();return(0,w.jsxs)(w.Fragment,{children:["Last updated on"," ",(0,w.jsx)("time",{dateTime:e.toISOString(),children:e.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,w.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,w.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,w.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,w.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,w.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:aZ},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.fy,{}),(0,w.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:e,directories:t}){return an().flexsearch?(0,w.jsx)(aE,{className:e}):(0,w.jsx)(a2,{className:e,directories:t})},emptyResult:(0,w.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:e,defaultLocale:t=a4}=(0,k.useRouter)(),n=e&&se[e]||se[t];return(0,w.jsxs)(w.Fragment,{children:[n,"…"]})},placeholder:function(){let{locale:e,defaultLocale:t=a4}=(0,k.useRouter)(),n=e&&st[e]||st[t];return`${n}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:e})=>(0,w.jsx)(w.Fragment,{children:e}),toggleButton:!1},themeSwitch:{component:aQ,useOptions(){let{locale:e}=(0,k.useRouter)();return"zh-CN"===e?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:a1,float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},sr=Object.entries(sn).map(([e,t])=>{if(t&&"object"==typeof t&&!Array.isArray(t)&&!(0,j.isValidElement)(t))return e}).filter(Boolean);if(a5){let e;let t=()=>{document.body.classList.add("resizing"),clearTimeout(e),e=setTimeout(()=>{document.body.classList.remove("resizing")},200)};window.addEventListener("resize",t)}function so(e){var t=e,{tag:n,context:r,children:o,id:i,className:a}=t,s=iK(t,["tag","context","children","id","className"]);let l=i5(),c=i6(),u=i3(),d=(0,j.useRef)(null);return(0,j.useEffect)(()=>{if(!i)return;let e=d.current;if(e)return c.set(e,[i,r.index+=1]),null==u||u.observe(e),()=>{null==u||u.disconnect(),c.delete(e),l(e=>{let t=iq({},e);return delete t[i],t})}},[i,r,c,u,l]),(0,w.jsxs)(n,iX(iq({className:"sr-only"===a?"nx-sr-only":(0,_.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[n])},s),{children:[o,i&&(0,w.jsx)("a",{href:`#${i}`,id:i,className:"subheading-anchor","aria-label":"Permalink for this section",ref:d})]}))}var si=e=>{let t=null,n=[];return j.Children.forEach(e,(e,r)=>{var o;if(e&&e.type===ss){t||(t=e);return}let i=e;if(!t&&e&&"object"==typeof e&&e.type!==sa&&"props"in e&&e.props){let n=si(e.props.children);t=n[0],i=(0,j.cloneElement)(e,iX(iq({},e.props),{children:(null==(o=n[1])?void 0:o.length)?n[1]:void 0,key:r}))}n.push(i)}),[t,n]},sa=e=>{var t=e,{children:n,open:r}=t,o=iK(t,["children","open"]);let[i,a]=(0,j.useState)(!!r),[s,l]=si(n),[c,u]=(0,j.useState)(i);return(0,j.useEffect)(()=>{if(i)u(!0);else{let e=setTimeout(()=>u(i),500);return()=>clearTimeout(e)}},[i]),(0,w.jsxs)("details",iX(iq(iX(iq({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},o),{open:c}),i&&{"data-expanded":!0}),{children:[(0,w.jsx)(aa,{value:a,children:s}),(0,w.jsx)(ag,{isOpen:i,children:l})]}))},ss=e=>{let t=ai();return(0,w.jsx)("summary",iX(iq({className:(0,_.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},e),{onClick:e=>{e.preventDefault(),t(e=>!e)}}))},sl=/https?:\/\//,sc=e=>{var t=e,{href:n="",className:r}=t,o=iK(t,["href","className"]);return(0,w.jsx)(al,iq({href:n,newWindow:sl.test(n),className:(0,_.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",r)},o))},su=e=>{var t=e,{href:n=""}=t,r=iK(t,["href"]);return(0,w.jsx)(al,iq({href:n,newWindow:sl.test(n)},r))},sd=({isRawLayout:e,components:t})=>{if(e)return{a:su};let n={index:0};return iq({h1:e=>(0,w.jsx)("h1",iq({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},e)),h2:e=>(0,w.jsx)(so,iq({tag:"h2",context:n},e)),h3:e=>(0,w.jsx)(so,iq({tag:"h3",context:n},e)),h4:e=>(0,w.jsx)(so,iq({tag:"h4",context:n},e)),h5:e=>(0,w.jsx)(so,iq({tag:"h5",context:n},e)),h6:e=>(0,w.jsx)(so,iq({tag:"h6",context:n},e)),ul:e=>(0,w.jsx)("ul",iq({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),ol:e=>(0,w.jsx)("ol",iq({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),li:e=>(0,w.jsx)("li",iq({className:"nx-my-2"},e)),blockquote:e=>(0,w.jsx)("blockquote",iq({className:(0,_.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},e)),hr:e=>(0,w.jsx)("hr",iq({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},e)),a:sc,table:e=>(0,w.jsx)(iF.iA,iq({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},e)),p:e=>(0,w.jsx)("p",iq({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},e)),tr:iF.Tr,th:iF.Th,td:iF.Td,details:sa,summary:ss,pre:iF.SU,code:iF.EK},t)},sf={toc:(0,_.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,_.Z)("nx-w-full nx-break-words")},sh=({themeContext:e,breadcrumb:t,timestamp:n,navigation:r,children:o})=>{var i;let a=an(),s=E();if("raw"===e.layout)return(0,w.jsx)("div",{className:sf.main,children:o});let l=e.timestamp&&a.gitTimestamp&&n?new Date(n):null,c=s&&l?(0,w.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:au(a.gitTimestamp,{timestamp:l})}):(0,w.jsx)("div",{className:"nx-mt-16"}),u=(0,w.jsxs)(w.Fragment,{children:[o,c,r]}),d=(null==(i=a.main)?void 0:i.call(a,{children:u}))||u;return"full"===e.layout?(0,w.jsx)("article",{className:(0,_.Z)(sf.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:d}):(0,w.jsx)("article",{className:(0,_.Z)(sf.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===e.typesetting&&"nextra-body-typesetting-article"),children:(0,w.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[t,d]})})},sp=({filePath:e,pageMap:t,frontMatter:n,headings:r,timestamp:o,children:i})=>{let a=an(),{locale:s=a4,defaultLocale:l}=(0,k.useRouter)(),c=C(),{activeType:u,activeIndex:d,activeThemeContext:f,activePath:h,topLevelNavbarItems:p,docsDirectories:m,flatDirectories:g,flatDocsDirectories:v,directories:x}=(0,j.useMemo)(()=>t4({list:t,locale:s,defaultLocale:l,route:c}),[t,s,l,c]),y=iq(iq({},f),n),b=!y.sidebar||"raw"===y.layout||"page"===u,E="page"!==u&&y.toc&&"default"===y.layout?(0,w.jsx)("nav",{className:(0,_.Z)(sf.toc,"nx-px-4"),"aria-label":"table of contents",children:au(a.toc.component,{headings:a.toc.float?r:[],filePath:e})}):"full"!==y.layout&&"raw"!==y.layout&&(0,w.jsx)("nav",{className:sf.toc,"aria-label":"table of contents"}),O=a.i18n.find(e=>e.locale===s),S=(O?"rtl"===O.direction:"rtl"===a.direction)?"rtl":"ltr";return(0,w.jsxs)("div",{dir:S,children:[(0,w.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${S}')`}}),(0,w.jsx)(aA,{}),(0,w.jsx)(ap,{}),y.navbar&&au(a.navbar.component,{flatDirectories:g,items:p}),(0,w.jsx)("div",{className:(0,_.Z)("nx-mx-auto nx-flex","raw"!==y.layout&&"nx-max-w-[90rem]"),children:(0,w.jsxs)(i7,{children:[(0,w.jsx)(aU,{docsDirectories:m,flatDirectories:g,fullDirectories:x,headings:r,asPopover:b,includePlaceholder:"default"===y.layout}),E,(0,w.jsx)(aX,{}),(0,w.jsx)(sh,{themeContext:y,breadcrumb:"page"!==u&&y.breadcrumb?(0,w.jsx)(am,{activePath:h}):null,timestamp:o,navigation:"page"!==u&&y.pagination?(0,w.jsx)(aN,{flatDirectories:v,currentIndex:d}):null,children:(0,w.jsx)(T.Z,{components:sd({isRawLayout:"raw"===y.layout,components:a.components}),children:i})})]})}),y.footer&&au(a.footer.component,{menu:b})]})};function sm(e){var t=e,{children:n}=t,r=iK(t,["children"]);return(0,w.jsx)(ar,{value:r,children:(0,w.jsx)(sp,iX(iq({},r.pageOpts),{children:n}))})}var sg=n(75442),sv=n.n(sg),sx=n(50344),sy=n(82187),sb=n.n(sy),sw=n(98605);let sk=["xxl","xl","lg","md","sm","xs"],sj=e=>({xs:"(max-width: ".concat(e.screenXSMax,"px)"),sm:"(min-width: ".concat(e.screenSM,"px)"),md:"(min-width: ".concat(e.screenMD,"px)"),lg:"(min-width: ".concat(e.screenLG,"px)"),xl:"(min-width: ".concat(e.screenXL,"px)"),xxl:"(min-width: ".concat(e.screenXXL,"px)")}),s_=e=>{let t=e,n=[].concat(sk).reverse();return n.forEach((e,r)=>{let o=e.toUpperCase(),i="screen".concat(o,"Min"),a="screen".concat(o);if(!(t[i]<=t[a]))throw Error("".concat(i,"<=").concat(a," fails : !(").concat(t[i],"<=").concat(t[a],")"));if(r{let e=new Map,n=-1,r={};return{matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>e(r)),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},unregister(){Object.keys(t).forEach(e=>{let n=t[e],r=this.matchHandlers[n];null==r||r.mql.removeListener(null==r?void 0:r.listener)}),e.clear()},register(){Object.keys(t).forEach(e=>{let n=t[e],o=t=>{let{matches:n}=t;this.dispatch(Object.assign(Object.assign({},r),{[e]:n}))},i=window.matchMedia(n);i.addListener(o),this.matchHandlers[n]={mql:i,listener:o},o(i)})},responsiveMap:t}},[e])}var sO=n(85001),sS=(0,j.createContext)({}),sC=n(61048),sT=n(14734),sA=n(5302);let sR=e=>{let{componentCls:t}=e;return{[t]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},sN=e=>{let{componentCls:t}=e;return{[t]:{position:"relative",maxWidth:"100%",minHeight:1}}},sI=(e,t)=>{let{prefixCls:n,componentCls:r,gridColumns:o}=e,i={};for(let e=o;e>=0;e--)0===e?(i["".concat(r).concat(t,"-").concat(e)]={display:"none"},i["".concat(r,"-push-").concat(e)]={insetInlineStart:"auto"},i["".concat(r,"-pull-").concat(e)]={insetInlineEnd:"auto"},i["".concat(r).concat(t,"-push-").concat(e)]={insetInlineStart:"auto"},i["".concat(r).concat(t,"-pull-").concat(e)]={insetInlineEnd:"auto"},i["".concat(r).concat(t,"-offset-").concat(e)]={marginInlineStart:0},i["".concat(r).concat(t,"-order-").concat(e)]={order:0}):(i["".concat(r).concat(t,"-").concat(e)]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:"0 0 ".concat(e/o*100,"%"),maxWidth:"".concat(e/o*100,"%")}],i["".concat(r).concat(t,"-push-").concat(e)]={insetInlineStart:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-pull-").concat(e)]={insetInlineEnd:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-offset-").concat(e)]={marginInlineStart:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-order-").concat(e)]={order:e});return i["".concat(r).concat(t,"-flex")]={flex:"var(--".concat(n).concat(t,"-flex)")},i},sM=(e,t)=>sI(e,t),sZ=(e,t,n)=>({["@media (min-width: ".concat((0,sC.bf)(t),")")]:Object.assign({},sM(e,n))}),sL=()=>({}),sP=()=>({}),sD=(0,sT.I$)("Grid",sR,sL),sz=(0,sT.I$)("Grid",e=>{let t=(0,sA.TS)(e,{gridColumns:24}),n={"-sm":t.screenSMMin,"-md":t.screenMDMin,"-lg":t.screenLGMin,"-xl":t.screenXLMin,"-xxl":t.screenXXLMin};return[sN(t),sM(t,""),sM(t,"-xs"),Object.keys(n).map(e=>sZ(t,n[e],e)).reduce((e,t)=>Object.assign(Object.assign({},e),t),{})]},sP);var sF=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function sH(e,t){let[n,r]=j.useState("string"==typeof e?e:""),o=()=>{if("string"==typeof e&&r(e),"object"==typeof e)for(let n=0;n{o()},[JSON.stringify(e),t]),n}var sB=j.forwardRef((e,t)=>{let{prefixCls:n,justify:r,align:o,className:i,style:a,children:s,gutter:l=0,wrap:c}=e,u=sF(e,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=j.useContext(sO.E_),[h,p]=j.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[m,g]=j.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),v=sH(o,m),x=sH(r,m),y=j.useRef(l),b=sE();j.useEffect(()=>{let e=b.subscribe(e=>{g(e);let t=y.current||0;(!Array.isArray(t)&&"object"==typeof t||Array.isArray(t)&&("object"==typeof t[0]||"object"==typeof t[1]))&&p(e)});return()=>b.unsubscribe(e)},[]);let w=()=>{let e=[void 0,void 0];return(Array.isArray(l)?l:[l,void 0]).forEach((t,n)=>{if("object"==typeof t)for(let r=0;r0?-(S[0]/2):void 0;A&&(T.marginLeft=A,T.marginRight=A);let[R,N]=S;T.rowGap=N;let I=j.useMemo(()=>({gutter:[R,N],wrap:c}),[R,N,c]);return _(j.createElement(sS.Provider,{value:I},j.createElement("div",Object.assign({},u,{className:C,style:Object.assign(Object.assign({},T),a),ref:t}),s)))}),sW=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function sG(e){return"number"==typeof e?"".concat(e," ").concat(e," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?"0 0 ".concat(e):e}let s$=["xs","sm","md","lg","xl","xxl"];var sU=j.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r}=j.useContext(sO.E_),{gutter:o,wrap:i}=j.useContext(sS),{prefixCls:a,span:s,order:l,offset:c,push:u,pull:d,className:f,children:h,flex:p,style:m}=e,g=sW(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),v=n("col",a),[x,y,b]=sz(v),w={},k={};s$.forEach(t=>{let n={},o=e[t];"number"==typeof o?n.span=o:"object"==typeof o&&(n=o||{}),delete g[t],k=Object.assign(Object.assign({},k),{["".concat(v,"-").concat(t,"-").concat(n.span)]:void 0!==n.span,["".concat(v,"-").concat(t,"-order-").concat(n.order)]:n.order||0===n.order,["".concat(v,"-").concat(t,"-offset-").concat(n.offset)]:n.offset||0===n.offset,["".concat(v,"-").concat(t,"-push-").concat(n.push)]:n.push||0===n.push,["".concat(v,"-").concat(t,"-pull-").concat(n.pull)]:n.pull||0===n.pull,["".concat(v,"-rtl")]:"rtl"===r}),n.flex&&(k["".concat(v,"-").concat(t,"-flex")]=!0,w["--".concat(v,"-").concat(t,"-flex")]=sG(n.flex))});let _=sb()(v,{["".concat(v,"-").concat(s)]:void 0!==s,["".concat(v,"-order-").concat(l)]:l,["".concat(v,"-offset-").concat(c)]:c,["".concat(v,"-push-").concat(u)]:u,["".concat(v,"-pull-").concat(d)]:d},f,k,y,b),E={};if(o&&o[0]>0){let e=o[0]/2;E.paddingLeft=e,E.paddingRight=e}return p&&(E.flex=sG(p),!1!==i||E.minWidth||(E.minWidth=0)),x(j.createElement("div",Object.assign({},g,{style:Object.assign(Object.assign(Object.assign({},E),m),w),className:_,ref:t}),h))}),sV=function(){return(0,w.jsxs)("footer",{id:"footer",children:[(0,w.jsx)("div",{className:"footer-wrap",children:(0,w.jsxs)(sB,{children:[(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"联系我们"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{href:"mailto:hi@charmlot.com",children:"邮箱 hi@charmlot.com"})}),(0,w.jsx)("div",{children:(0,w.jsx)("span",{style:{color:"rgba(255,255,255,.9)"},children:"QQ群 729013783"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"用户协议"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",href:"/agreement/",children:"用户协议"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",href:"/agreement/#privacy",children:"隐私政策"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"帮助"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{href:"/docs/faq",children:"常见问题"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/reactnativecn/react-native-pushy/issues",children:"issue讨论区"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"链接"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://reactnative.cn/",children:"React Native中文网"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://zh-hans.reactjs.org/",children:"ReactJS"})})]})})]})}),(0,w.jsxs)("section",{className:"bottom-bar",children:[(0,w.jsxs)("p",{children:["React Native中文网 \xa9 ",new Date().getFullYear()," ","武汉青罗网络科技有限公司"]}),(0,w.jsxs)("p",{children:[(0,w.jsx)("a",{href:"http://beian.miit.gov.cn/",children:"鄂ICP备20002031号-3"}),(0,w.jsx)("img",{style:{display:"inline"},src:"https://img.alicdn.com/tfs/TB1..50QpXXXXX7XpXXXXXXXXXX-40-40.png",alt:"鄂公网安备 42011202001821号"}),(0,w.jsx)("a",{href:"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=42011202001821",children:"鄂公网安备 42011202001821号"})]})]})]})},sq=n(79363),sX={useNextSeoProps(){let{asPath:e}=(0,k.useRouter)();return"/"!==e?{titleTemplate:"%s – Pushy 极速热更新"}:{titleTemplate:"Pushy 极速热更新"}},head:()=>{let{title:e}=an(),t="https://pushy.reactnative.cn";return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("meta",{property:"og:url",content:t}),(0,w.jsx)("meta",{property:"og:title",content:e||"Pushy 极速热更新"}),(0,w.jsx)("meta",{property:"og:description",content:"Pushy 极速热更新"}),(0,w.jsx)("meta",{property:"og:keywords",content:"热更新,hotupdate,免审核,快速上架"})]})},logo:(0,w.jsx)(sv(),{height:48,src:sx.Z,alt:"Pushy 极速热更新"}),docsRepositoryBase:"https://github.com/reactnativecn/react-native-pushy",project:{link:"https://github.com/reactnativecn/react-native-pushy"},footer:{component:sV},darkMode:!1,nextThemes:{defaultTheme:"light"},navbar:{extraContent:(0,w.jsx)("div",{className:"header-meta",children:(0,w.jsxs)("div",{className:"right-header",children:[(0,w.jsx)(sq.ZP,{shape:"round",href:"https://pushy-admin.reactnative.cn/#/user",target:"_blank",children:"登录"}),(0,w.jsx)(sq.ZP,{shape:"round",href:"https://pushy-admin.reactnative.cn/#/register",target:"_blank",type:"primary",children:"注册"})]})})},toc:{title:"目录"},feedback:{content:null},editLink:{component:null},search:{placeholder:"搜索文档...",emptyResult:"暂无匹配的结果"},gitTimestamp:null};function sK(){return(sK=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,w.jsx)(ln,{query:"(max-width: 996px)",children:t=>{let n=!1;return(0,w.jsx)(lr,{...e,isMobile:t&&!n})}});let li=function(e){let{Component:t,pageProps:n}=e;return(0,w.jsx)(lo,{children:(0,w.jsx)(t,{...n})})},la=[];function ls(e){return(0,w.jsx)(w.Fragment,{})}var ll=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,w.jsx)(li,{...e,children:(0,w.jsx)(ls,{...e})})};let lc=(y=globalThis)[b=Symbol.for("__nextra_internal__")]||(y[b]=Object.create(null));lc.Layout=sm,lc.pageMap=[{kind:"Meta",data:{index:{title:"首页",theme:{layout:"raw",breadcrumb:!1,sidebar:!1},type:"page"},docs:{title:"文档",type:"page"},pricing:{title:"价格",theme:{layout:"raw",breadcrumb:!1,sidebar:!1},type:"page"},常见问题:{type:"page",href:"/docs/faq",route:"#"}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{"getting-started":"安装配置",integration:"代码集成",publish:"发布流程","---1":{type:"separator",title:""},api:"API参考",cli:"命令行工具",bestpractice:"场景实践","---2":{type:"separator",title:""},faq:"常见问题",changelog:"更新日志"}},{kind:"MdxPage",name:"api",route:"/docs/api",frontMatter:{order:11,title:"API参考",type:"开发指南"}},{kind:"MdxPage",name:"bestpractice",route:"/docs/bestpractice",frontMatter:{order:13,title:"场景实践",type:"开发指南"}},{kind:"MdxPage",name:"changelog",route:"/docs/changelog",frontMatter:{order:22,title:"更新日志",type:"其他"}},{kind:"MdxPage",name:"cli",route:"/docs/cli",frontMatter:{order:12,title:"命令行工具",type:"开发指南"}},{kind:"MdxPage",name:"faq",route:"/docs/faq",frontMatter:{order:23,title:"常见问题",type:"其他"}},{kind:"MdxPage",name:"getting-started",route:"/docs/getting-started",frontMatter:{order:0,title:"安装配置",type:"快速入门"}},{kind:"MdxPage",name:"integration",route:"/docs/integration",frontMatter:{order:1,title:"代码集成",type:"快速入门"}},{kind:"MdxPage",name:"publish",route:"/docs/publish",frontMatter:{order:2,title:"发布热更新",type:"快速入门"}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"MdxPage",name:"pricing",route:"/pricing",frontMatter:{title:"价格"}}],lc.flexsearch={codeblocks:!0},lc.themeConfig=sX},32318:function(e,t,n){"use strict";n.d(t,{Z:function(){return eZ}});var r=n(57873);function o(e){if(Array.isArray(e))return e}function i(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}function m(e,t){if(null==e)return{};var n,r,o=p(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var g=n(75271),v=n(82187),x=n.n(v),y=n(96299),b=n(28556),w=2,k=.16,j=.05,_=.05,E=.15,O=5,S=4,C=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function T(e){var t=e.r,n=e.g,r=e.b,o=(0,y.py)(t,n,r);return{h:360*o.h,s:o.s,v:o.v}}function A(e){var t=e.r,n=e.g,r=e.b;return"#".concat((0,y.vq)(t,n,r,!1))}function R(e,t,n){var r=n/100;return{r:(t.r-e.r)*r+e.r,g:(t.g-e.g)*r+e.g,b:(t.b-e.b)*r+e.b}}function N(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-w*t:Math.round(e.h)+w*t:n?Math.round(e.h)+w*t:Math.round(e.h)-w*t)<0?r+=360:r>=360&&(r-=360),r}function I(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-k*t:t===S?e.s+k:e.s+j*t)>1&&(r=1),n&&t===O&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function M(e,t,n){var r;return(r=n?e.v+_*t:e.v-E*t)>1&&(r=1),Number(r.toFixed(2))}function Z(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,b.uA)(e),o=O;o>0;o-=1){var i=T(r),a=A((0,b.uA)({h:N(i,o,!0),s:I(i,o,!0),v:M(i,o,!0)}));n.push(a)}n.push(A(r));for(var s=1;s<=S;s+=1){var l=T(r),c=A((0,b.uA)({h:N(l,s),s:I(l,s),v:M(l,s)}));n.push(c)}return"dark"===t.theme?C.map(function(e){var r=e.index,o=e.opacity;return A(R((0,b.uA)(t.backgroundColor||"#141414"),(0,b.uA)(n[r]),100*o))}):n}var L={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},P={},D={};Object.keys(L).forEach(function(e){P[e]=Z(L[e]),P[e].primary=P[e][5],D[e]=Z(L[e],{theme:"dark",backgroundColor:"#141414"}),D[e].primary=D[e][5]}),P.red,P.volcano,P.gold,P.orange,P.yellow,P.lime,P.green,P.cyan;var z=P.blue;P.geekblue,P.purple,P.magenta,P.grey,P.grey;var F=(0,g.createContext)({});function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):V}function K(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function Q(e){return"queue"===e?"prependQueue":e?"prepend":"append"}function Y(e){return Array.from((q.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!W())return null;var n=t.csp,r=t.prepend,o=t.priority,i=void 0===o?0:o,a=Q(r),s="prependQueue"===a,l=document.createElement("style");l.setAttribute($,a),s&&i&&l.setAttribute(U,"".concat(i)),null!=n&&n.nonce&&(l.nonce=null==n?void 0:n.nonce),l.innerHTML=e;var c=K(t),u=c.firstChild;if(r){if(s){var d=(t.styles||Y(c)).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute($))&&i>=Number(e.getAttribute(U)||0)});if(d.length)return c.insertBefore(l,d[d.length-1].nextSibling),l}c.insertBefore(l,u)}else c.appendChild(l);return l}function ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=K(t);return(t.styles||Y(n)).find(function(n){return n.getAttribute(X(t))===e})}function et(e,t){var n=q.get(e);if(!n||!G(document,n)){var r=J("",t),o=r.parentNode;q.set(e,o),e.removeChild(r)}}function en(e,t){var n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=K(i),s=Y(a),l=B(B({},i),{},{styles:s});et(a,l);var c=ee(t,l);if(c)return null!==(n=l.csp)&&void 0!==n&&n.nonce&&c.nonce!==(null===(r=l.csp)||void 0===r?void 0:r.nonce)&&(c.nonce=null===(o=l.csp)||void 0===o?void 0:o.nonce),c.innerHTML!==e&&(c.innerHTML=e),c;var u=J(e,l);return u.setAttribute(X(l),t),u}function er(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}function eo(e){return er(e) instanceof ShadowRoot}function ei(e){return eo(e)?er(e):null}var ea={},es=[],el=function(e){es.push(e)};function ec(e,t){}function eu(e,t){}function ed(){ea={}}function ef(e,t,n){t||ea[n]||(e(!1,n),ea[n]=!0)}function eh(e,t){ef(ec,e,t)}function ep(e,t){ef(eu,e,t)}eh.preMessage=el,eh.resetWarned=ed,eh.noteOnce=ep;var em=eh;function eg(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function ev(e,t){em(e,"[@ant-design/icons] ".concat(t))}function ex(e){return"object"===u(e)&&"string"==typeof e.name&&"string"==typeof e.theme&&("object"===u(e.icon)||"function"==typeof e.icon)}function ey(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];return"class"===n?(t.className=r,delete t.class):(delete t[n],t[eg(n)]=r),t},{})}function eb(e,t,n){return n?g.createElement(e.tag,B(B({key:t},ey(e.attrs)),n),(e.children||[]).map(function(n,r){return eb(n,"".concat(t,"-").concat(e.tag,"-").concat(r))})):g.createElement(e.tag,B({key:t},ey(e.attrs)),(e.children||[]).map(function(n,r){return eb(n,"".concat(t,"-").concat(e.tag,"-").concat(r))}))}function ew(e){return Z(e)[0]}function ek(e){return e?Array.isArray(e)?e:[e]:[]}var ej="\n.anticon {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",e_=function(e){var t=(0,g.useContext)(F),n=t.csp,r=t.prefixCls,o=ej;r&&(o=o.replace(/anticon/g,r)),(0,g.useEffect)(function(){var t=ei(e.current);en(o,"@ant-design-icons",{prepend:!0,csp:n,attachTo:t})},[])},eE=["icon","className","onClick","style","primaryColor","secondaryColor"],eO={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function eS(e){var t=e.primaryColor,n=e.secondaryColor;eO.primaryColor=t,eO.secondaryColor=n||ew(t),eO.calculated=!!n}function eC(){return B({},eO)}var eT=function(e){var t=e.icon,n=e.className,r=e.onClick,o=e.style,i=e.primaryColor,a=e.secondaryColor,s=m(e,eE),l=g.useRef(),c=eO;if(i&&(c={primaryColor:i,secondaryColor:a||ew(i)}),e_(l),ev(ex(t),"icon should be icon definiton, but got ".concat(t)),!ex(t))return null;var u=t;return u&&"function"==typeof u.icon&&(u=B(B({},u),{},{icon:u.icon(c.primaryColor,c.secondaryColor)})),eb(u.icon,"svg-".concat(u.name),B(B({className:n,onClick:r,style:o,"data-icon":u.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:l}))};eT.displayName="IconReact",eT.getTwoToneColors=eC,eT.setTwoToneColors=eS;var eA=eT;function eR(e){var t=c(ek(e),2),n=t[0],r=t[1];return eA.setTwoToneColors({primaryColor:n,secondaryColor:r})}function eN(){var e=eA.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var eI=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];eR(z.primary);var eM=g.forwardRef(function(e,t){var n=e.className,o=e.icon,i=e.spin,a=e.rotate,s=e.tabIndex,l=e.onClick,u=e.twoToneColor,d=m(e,eI),f=g.useContext(F),p=f.prefixCls,v=void 0===p?"anticon":p,y=f.rootClassName,b=x()(y,v,h(h({},"".concat(v,"-").concat(o.name),!!o.name),"".concat(v,"-spin"),!!i||"loading"===o.name),n),w=s;void 0===w&&l&&(w=-1);var k=a?{msTransform:"rotate(".concat(a,"deg)"),transform:"rotate(".concat(a,"deg)")}:void 0,j=c(ek(u),2),_=j[0],E=j[1];return g.createElement("span",(0,r.Z)({role:"img","aria-label":o.name},d,{ref:t,tabIndex:w,onClick:l,className:b}),g.createElement(eA,{icon:o,primaryColor:_,secondaryColor:E,style:k}))});eM.displayName="AntdIcon",eM.getTwoToneColor=eN,eM.setTwoToneColor=eR;var eZ=eM},13691:function(e,t,n){"use strict";n.d(t,{M2:function(){return o},Tm:function(){return a}});var r=n(75271);function o(e){return e&&r.isValidElement(e)&&e.type===r.Fragment}let i=(e,t,n)=>r.isValidElement(e)?r.cloneElement(e,"function"==typeof n?n(e.props||{}):n):t;function a(e,t){return i(e,e,t)}},79363:function(e,t,n){"use strict";n.d(t,{ZP:function(){return e4}});var r,o=n(75271),i=n(82187),a=n.n(i);function s(e,t){var n=Object.assign({},e);return Array.isArray(t)&&t.forEach(function(e){delete n[e]}),n}var l=n(47486),c=n(73188),u=n(85001),d=n(13691),f=n(14734);let h=e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:"var(--wave-color, ".concat(n,")"),boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:["box-shadow 0.4s ".concat(e.motionEaseOutCirc),"opacity 2s ".concat(e.motionEaseOutCirc)].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:["box-shadow ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut),"opacity ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)].join(",")}}}}};var p=(0,f.ZP)("Wave",e=>[h(e)]),m=n(94269),g=n(87564),v=n(98605);let x="".concat(u.Rf,"-wave-target");var y=n(1354),b=n(95749),w=n(79938),k=n(91102),j=n(78405),_=n(30967),E=n.t(_,2),O=(0,j.Z)({},E),S=O.version,C=O.render,T=O.unmountComponentAtNode;try{Number((S||"").split(".")[0])>=18&&(r=O.createRoot)}catch(e){}function A(e){var t=O.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&"object"===(0,k.Z)(t)&&(t.usingClientEntryPoint=e)}var R="__rc_react_root__";function N(e,t){A(!0);var n=t[R]||r(t);A(!1),n.render(e),t[R]=n}function I(e,t){C(e,t)}function M(e,t){if(r){N(e,t);return}I(e,t)}function Z(e){return L.apply(this,arguments)}function L(){return(L=(0,w.Z)((0,b.Z)().mark(function e(t){return(0,b.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.resolve().then(function(){var e;null===(e=t[R])||void 0===e||e.unmount(),delete t[R]}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function P(e){T(e)}function D(e){return z.apply(this,arguments)}function z(){return(z=(0,w.Z)((0,b.Z)().mark(function e(t){return(0,b.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==r)){e.next=2;break}return e.abrupt("return",Z(t));case 2:P(t);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function F(e){let t=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return!t||!t[1]||!t[2]||!t[3]||!(t[1]===t[2]&&t[2]===t[3])}function H(e){return e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&F(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e}function B(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return H(t)?t:H(n)?n:H(r)?r:null}function W(e){return Number.isNaN(e)?0:e}let G=e=>{let{className:t,target:n,component:r}=e,i=o.useRef(null),[s,c]=o.useState(null),[u,d]=o.useState([]),[f,h]=o.useState(0),[p,m]=o.useState(0),[v,b]=o.useState(0),[w,k]=o.useState(0),[j,_]=o.useState(!1),E={left:f,top:p,width:v,height:w,borderRadius:u.map(e=>"".concat(e,"px")).join(" ")};function O(){let e=getComputedStyle(n);c(B(n));let t="static"===e.position,{borderLeftWidth:r,borderTopWidth:o}=e;h(t?n.offsetLeft:W(-parseFloat(r))),m(t?n.offsetTop:W(-parseFloat(o))),b(n.offsetWidth),k(n.offsetHeight);let{borderTopLeftRadius:i,borderTopRightRadius:a,borderBottomLeftRadius:s,borderBottomRightRadius:l}=e;d([i,a,l,s].map(e=>W(parseFloat(e))))}if(s&&(E["--wave-color"]=s),o.useEffect(()=>{if(n){let e;let t=(0,g.Z)(()=>{O(),_(!0)});return"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(O)).observe(n),()=>{g.Z.cancel(t),null==e||e.disconnect()}}},[]),!j)return null;let S=("Checkbox"===r||"Radio"===r)&&(null==n?void 0:n.classList.contains(x));return o.createElement(y.ZP,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(e,t)=>{var n;if(t.deadline||"opacity"===t.propertyName){let e=null===(n=i.current)||void 0===n?void 0:n.parentElement;D(e).then(()=>{null==e||e.remove()})}return!1}},(e,n)=>{let{className:r}=e;return o.createElement("div",{ref:(0,l.sQ)(i,n),className:a()(t,r,{"wave-quick":S}),style:E})})};var $=(e,t)=>{var n;let{component:r}=t;if("Checkbox"===r&&!(null===(n=e.querySelector("input"))||void 0===n?void 0:n.checked))return;let i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",null==e||e.insertBefore(i,null==e?void 0:e.firstChild),M(o.createElement(G,Object.assign({},t,{target:e})),i)},U=(e,t,n)=>{let{wave:r}=o.useContext(u.E_),[,i,a]=(0,v.ZP)(),s=(0,m.zX)(o=>{let s=e.current;if((null==r?void 0:r.disabled)||!s)return;let l=s.querySelector(".".concat(x))||s,{showEffect:c}=r||{};(c||$)(l,{className:t,token:i,component:n,event:o,hashId:a})}),l=o.useRef();return e=>{g.Z.cancel(l.current),l.current=(0,g.Z)(()=>{s(e)})}},V=e=>{let{children:t,disabled:n,component:r}=e,{getPrefixCls:i}=(0,o.useContext)(u.E_),s=(0,o.useRef)(null),f=i("wave"),[,h]=p(f),m=U(s,a()(f,h),r);if(o.useEffect(()=>{let e=s.current;if(!e||1!==e.nodeType||n)return;let t=t=>{!(0,c.Z)(t.target)||!e.getAttribute||e.getAttribute("disabled")||e.disabled||e.className.includes("disabled")||e.className.includes("-leave")||m(t)};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[n]),!o.isValidElement(t))return null!=t?t:null;let g=(0,l.Yr)(t)?(0,l.sQ)(t.ref,s):s;return(0,d.Tm)(t,{ref:g})},q=o.createContext(!1),X=o.createContext(void 0),K=e=>{let t=o.useContext(X);return o.useMemo(()=>e?"string"==typeof e?null!=e?e:t:e instanceof Function?e(t):t:t,[e,t])},Q=n(58207),Y=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let J=o.createContext(void 0);var ee=e=>{let{getPrefixCls:t,direction:n}=o.useContext(u.E_),{prefixCls:r,size:i,className:s}=e,l=Y(e,["prefixCls","size","className"]),c=t("btn-group",r),[,,d]=(0,v.ZP)(),f="";switch(i){case"large":f="lg";break;case"small":f="sm"}let h=a()(c,{["".concat(c,"-").concat(f)]:f,["".concat(c,"-rtl")]:"rtl"===n},s,d);return o.createElement(J.Provider,{value:i},o.createElement("div",Object.assign({},l,{className:h})))};let et=/^[\u4e00-\u9fa5]{2}$/,en=et.test.bind(et);function er(e){return"string"==typeof e}function eo(e){return"text"===e||"link"===e}function ei(e,t){if(null==e)return;let n=t?" ":"";return"string"!=typeof e&&"number"!=typeof e&&er(e.type)&&en(e.props.children)?(0,d.Tm)(e,{children:e.props.children.split("").join(n)}):er(e)?en(e)?o.createElement("span",null,e.split("").join(n)):o.createElement("span",null,e):(0,d.M2)(e)?o.createElement("span",null,e):e}function ea(e,t){let n=!1,r=[];return o.Children.forEach(e,e=>{let t=typeof e,o="string"===t||"number"===t;if(n&&o){let t=r.length-1,n=r[t];r[t]="".concat(n).concat(e)}else r.push(e);n=o}),o.Children.map(r,e=>ei(e,t))}var es=(0,o.forwardRef)((e,t)=>{let{className:n,style:r,children:i,prefixCls:s}=e,l=a()("".concat(s,"-icon"),n);return o.createElement("span",{ref:t,className:l,style:r},i)}),el=n(57873),ec={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},eu=n(32318),ed=function(e,t){return o.createElement(eu.Z,(0,el.Z)({},e,{ref:t,icon:ec}))},ef=o.forwardRef(ed);let eh=(0,o.forwardRef)((e,t)=>{let{prefixCls:n,className:r,style:i,iconClassName:s}=e,l=a()("".concat(n,"-loading-icon"),r);return o.createElement(es,{prefixCls:n,className:l,style:i,ref:t},o.createElement(ef,{className:s}))}),ep=()=>({width:0,opacity:0,transform:"scale(0)"}),em=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"});var eg=e=>{let{prefixCls:t,loading:n,existIcon:r,className:i,style:a}=e,s=!!n;return r?o.createElement(eh,{prefixCls:t,className:i,style:a}):o.createElement(y.ZP,{visible:s,motionName:"".concat(t,"-loading-icon-motion"),motionLeave:s,removeOnLeave:!0,onAppearStart:ep,onAppearActive:em,onEnterStart:ep,onEnterActive:em,onLeaveStart:em,onLeaveActive:ep},(e,n)=>{let{className:r,style:s}=e;return o.createElement(eh,{prefixCls:t,className:i,style:Object.assign(Object.assign({},a),s),ref:n,iconClassName:r})})},ev=n(61048),ex=n(33093),ey=n(5302);let eb=(e,t)=>({["> span, > ".concat(e)]:{"&:not(:last-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}});var ew=e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:o,colorErrorHover:i}=e;return{["".concat(t,"-group")]:[{position:"relative",display:"inline-flex",["> span, > ".concat(t)]:{"&:not(:last-child)":{["&, & > ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(r).mul(-1).equal(),["&, & > ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover, &:focus, &:active":{zIndex:2},"&[disabled]":{zIndex:0}},["".concat(t,"-icon-only")]:{fontSize:n}},eb("".concat(t,"-primary"),o),eb("".concat(t,"-danger"),i)]}},ek=n(54030);let ej=e=>{let{paddingInline:t,onlyIconSize:n,paddingBlock:r}=e;return(0,ey.TS)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:r,buttonIconOnlyFontSize:n})},e_=e=>{var t,n,r,o,i,a;let s=null!==(t=e.contentFontSize)&&void 0!==t?t:e.fontSize,l=null!==(n=e.contentFontSizeSM)&&void 0!==n?n:e.fontSize,c=null!==(r=e.contentFontSizeLG)&&void 0!==r?r:e.fontSizeLG,u=null!==(o=e.contentLineHeight)&&void 0!==o?o:(0,ek.D)(s),d=null!==(i=e.contentLineHeightSM)&&void 0!==i?i:(0,ek.D)(l),f=null!==(a=e.contentLineHeightLG)&&void 0!==a?a:(0,ek.D)(c);return{fontWeight:400,defaultShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlTmpOutline),primaryShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlOutline),dangerShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.colorErrorOutline),primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:e.colorBgTextHover,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,contentFontSize:s,contentFontSizeSM:l,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((e.controlHeight-s*u)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*d)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-c*f)/2-e.lineWidth,0)}},eE=e=>{let{componentCls:t,iconCls:n,fontWeight:r}=e;return{[t]:{outline:"none",position:"relative",display:"inline-flex",gap:e.marginXS,alignItems:"center",justifyContent:"center",fontWeight:r,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:"".concat((0,ev.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),cursor:"pointer",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},["".concat(t,"-icon")]:{lineHeight:1},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,ex.Qy)(e)),["&".concat(t,"-two-chinese-chars::first-letter")]:{letterSpacing:"0.34em"},["&".concat(t,"-two-chinese-chars > *:not(").concat(n,")")]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},"&-icon-end":{flexDirection:"row-reverse"}}}},eO=(e,t,n)=>({["&:not(:disabled):not(".concat(e,"-disabled)")]:{"&:hover":t,"&:active":n}}),eS=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),eC=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}),eT=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),eA=(e,t,n,r,o,i,a,s)=>({["&".concat(e,"-background-ghost")]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:r||void 0,boxShadow:"none"},eO(e,Object.assign({background:t},a),Object.assign({background:t},s))),{"&:disabled":{cursor:"not-allowed",color:o||void 0,borderColor:i||void 0}})}),eR=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:Object.assign({},eT(e))}),eN=e=>Object.assign({},eR(e)),eI=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:{cursor:"not-allowed",color:e.colorTextDisabled}}),eM=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},eN(e)),{background:e.defaultBg,borderColor:e.defaultBorderColor,color:e.defaultColor,boxShadow:e.defaultShadow}),eO(e.componentCls,{color:e.defaultHoverColor,borderColor:e.defaultHoverBorderColor,background:e.defaultHoverBg},{color:e.defaultActiveColor,borderColor:e.defaultActiveBorderColor,background:e.defaultActiveBg})),eA(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({color:e.colorError,borderColor:e.colorError},eO(e.componentCls,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),eA(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),eR(e))}),eZ=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},eN(e)),{color:e.primaryColor,background:e.colorPrimary,boxShadow:e.primaryShadow}),eO(e.componentCls,{color:e.colorTextLightSolid,background:e.colorPrimaryHover},{color:e.colorTextLightSolid,background:e.colorPrimaryActive})),eA(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({background:e.colorError,boxShadow:e.dangerShadow,color:e.dangerColor},eO(e.componentCls,{background:e.colorErrorHover},{background:e.colorErrorActive})),eA(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),eR(e))}),eL=e=>Object.assign(Object.assign({},eM(e)),{borderStyle:"dashed"}),eP=e=>Object.assign(Object.assign(Object.assign({color:e.colorLink},eO(e.componentCls,{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),eI(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},eO(e.componentCls,{color:e.colorErrorHover},{color:e.colorErrorActive})),eI(e))}),eD=e=>Object.assign(Object.assign(Object.assign({},eO(e.componentCls,{color:e.colorText,background:e.textHoverBg},{color:e.colorText,background:e.colorBgTextActive})),eI(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},eI(e)),eO(e.componentCls,{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBgActive}))}),ez=e=>{let{componentCls:t}=e;return{["".concat(t,"-default")]:eM(e),["".concat(t,"-primary")]:eZ(e),["".concat(t,"-dashed")]:eL(e),["".concat(t,"-link")]:eP(e),["".concat(t,"-text")]:eD(e),["".concat(t,"-ghost")]:eA(e.componentCls,e.ghostBg,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)}},eF=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",{componentCls:n,controlHeight:r,fontSize:o,lineHeight:i,borderRadius:a,buttonPaddingHorizontal:s,iconCls:l,buttonPaddingVertical:c}=e,u="".concat(n,"-icon-only");return[{["".concat(t)]:{fontSize:o,lineHeight:i,height:r,padding:"".concat((0,ev.bf)(c)," ").concat((0,ev.bf)(s)),borderRadius:a,["&".concat(u)]:{width:r,paddingInline:0,["&".concat(n,"-compact-item")]:{flex:"none"},["&".concat(n,"-round")]:{width:"auto"},[l]:{fontSize:e.buttonIconOnlyFontSize}},["&".concat(n,"-loading")]:{opacity:e.opacityLoading,cursor:"default"},["".concat(n,"-loading-icon")]:{transition:"width ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,", opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)}}},{["".concat(n).concat(n,"-circle").concat(t)]:eS(e)},{["".concat(n).concat(n,"-round").concat(t)]:eC(e)}]},eH=e=>eF((0,ey.TS)(e,{fontSize:e.contentFontSize,lineHeight:e.contentLineHeight}),e.componentCls),eB=e=>eF((0,ey.TS)(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,lineHeight:e.contentLineHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:e.paddingBlockSM,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),"".concat(e.componentCls,"-sm")),eW=e=>eF((0,ey.TS)(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,lineHeight:e.contentLineHeightLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:e.paddingBlockLG,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),"".concat(e.componentCls,"-lg")),eG=e=>{let{componentCls:t}=e;return{[t]:{["&".concat(t,"-block")]:{width:"100%"}}}};var e$=(0,f.I$)("Button",e=>{let t=ej(e);return[eE(t),eH(t),eB(t),eW(t),eG(t),ez(t),ew(t)]},e_,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function eU(e,t,n){let{focusElCls:r,focus:o,borderElCls:i}=n,a=i?"> *":"",s=["hover",o?"focus":null,"active"].filter(Boolean).map(e=>"&:".concat(e," ").concat(a)).join(",");return{["&-item:not(".concat(t,"-last-item)")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[s]:{zIndex:2}},r?{["&".concat(r)]:{zIndex:2}}:{}),{["&[disabled] ".concat(a)]:{zIndex:0}})}}function eV(e,t,n){let{borderElCls:r}=n,o=r?"> ".concat(r):"";return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item) ").concat(o)]:{borderRadius:0},["&-item:not(".concat(t,"-last-item)").concat(t,"-first-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&-item:not(".concat(t,"-first-item)").concat(t,"-last-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function eq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{focus:!0},{componentCls:n}=e,r="".concat(n,"-compact");return{[r]:Object.assign(Object.assign({},eU(e,r,t)),eV(n,r,t))}}function eX(e,t){return{["&-item:not(".concat(t,"-last-item)")]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function eK(e,t){return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item)")]:{borderRadius:0},["&-item".concat(t,"-first-item:not(").concat(t,"-last-item)")]:{["&, &".concat(e,"-sm, &").concat(e,"-lg")]:{borderEndEndRadius:0,borderEndStartRadius:0}},["&-item".concat(t,"-last-item:not(").concat(t,"-first-item)")]:{["&, &".concat(e,"-sm, &").concat(e,"-lg")]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function eQ(e){let t="".concat(e.componentCls,"-compact-vertical");return{[t]:Object.assign(Object.assign({},eX(e,t)),eK(e.componentCls,t))}}let eY=e=>{let{componentCls:t,calc:n}=e;return{[t]:{["&-compact-item".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:e.lineWidth,height:"calc(100% + ".concat((0,ev.bf)(e.lineWidth)," * 2)"),backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{["&".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-vertical-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:"calc(100% + ".concat((0,ev.bf)(e.lineWidth)," * 2)"),height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}};var eJ=(0,f.bk)(["Button","compact"],e=>{let t=ej(e);return[eq(t),eQ(t),eY(t)]},e_),e0=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function e1(e){if("object"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||"number"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}}let e2=o.forwardRef((e,t)=>{var n,r,i;let{loading:c=!1,prefixCls:d,type:f,danger:h=!1,shape:p="default",size:m,styles:g,disabled:v,className:x,rootClassName:y,children:b,icon:w,iconPosition:k="start",ghost:j=!1,block:_=!1,htmlType:E="button",classNames:O,style:S={},autoInsertSpace:C}=e,T=e0(e,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),A=f||"default",{getPrefixCls:R,direction:N,button:I}=(0,o.useContext)(u.E_),M=null===(n=null!=C?C:null==I?void 0:I.autoInsertSpace)||void 0===n||n,Z=R("btn",d),[L,P,D]=e$(Z),z=(0,o.useContext)(q),F=null!=v?v:z,H=(0,o.useContext)(J),B=(0,o.useMemo)(()=>e1(c),[c]),[W,G]=(0,o.useState)(B.loading),[$,U]=(0,o.useState)(!1),X=(0,o.createRef)(),Y=(0,l.sQ)(t,X),ee=1===o.Children.count(b)&&!w&&!eo(A);(0,o.useEffect)(()=>{let e=null;return B.delay>0?e=setTimeout(()=>{e=null,G(!0)},B.delay):G(B.loading),function(){e&&(clearTimeout(e),e=null)}},[B]),(0,o.useEffect)(()=>{if(!Y||!Y.current||!M)return;let e=Y.current.textContent;ee&&en(e)?$||U(!0):$&&U(!1)},[Y]);let et=t=>{let{onClick:n}=e;if(W||F){t.preventDefault();return}null==n||n(t)},{compactSize:er,compactItemClassnames:ei}=(0,Q.ri)(Z,N),el={large:"lg",small:"sm",middle:void 0},ec=K(e=>{var t,n;return null!==(n=null!==(t=null!=m?m:er)&&void 0!==t?t:H)&&void 0!==n?n:e}),eu=ec&&el[ec]||"",ed=W?"loading":w,ef=s(T,["navigate"]),eh=a()(Z,P,D,{["".concat(Z,"-").concat(p)]:"default"!==p&&p,["".concat(Z,"-").concat(A)]:A,["".concat(Z,"-").concat(eu)]:eu,["".concat(Z,"-icon-only")]:!b&&0!==b&&!!ed,["".concat(Z,"-background-ghost")]:j&&!eo(A),["".concat(Z,"-loading")]:W,["".concat(Z,"-two-chinese-chars")]:$&&M&&!W,["".concat(Z,"-block")]:_,["".concat(Z,"-dangerous")]:h,["".concat(Z,"-rtl")]:"rtl"===N,["".concat(Z,"-icon-end")]:"end"===k},ei,x,y,null==I?void 0:I.className),ep=Object.assign(Object.assign({},null==I?void 0:I.style),S),em=a()(null==O?void 0:O.icon,null===(r=null==I?void 0:I.classNames)||void 0===r?void 0:r.icon),ev=Object.assign(Object.assign({},(null==g?void 0:g.icon)||{}),(null===(i=null==I?void 0:I.styles)||void 0===i?void 0:i.icon)||{}),ex=w&&!W?o.createElement(es,{prefixCls:Z,className:em,style:ev},w):o.createElement(eg,{existIcon:!!w,prefixCls:Z,loading:W}),ey=b||0===b?ea(b,ee&&M):null;if(void 0!==ef.href)return L(o.createElement("a",Object.assign({},ef,{className:a()(eh,{["".concat(Z,"-disabled")]:F}),href:F?void 0:ef.href,style:ep,onClick:et,ref:Y,tabIndex:F?-1:0}),ex,ey));let eb=o.createElement("button",Object.assign({},T,{type:E,className:eh,style:ep,onClick:et,disabled:F,ref:Y}),ex,ey,!!ei&&o.createElement(eJ,{key:"compact",prefixCls:Z}));return eo(A)||(eb=o.createElement(V,{component:"Button",disabled:W},eb)),L(eb)});e2.Group=ee,e2.__ANT_BUTTON=!0;var e4=e2},85001:function(e,t,n){"use strict";n.d(t,{E_:function(){return s},Rf:function(){return o}});var r=n(75271);let o="ant",i="anticon",a=(e,t)=>t||(e?"".concat(o,"-").concat(e):o),s=r.createContext({getPrefixCls:a,iconPrefixCls:i}),{Consumer:l}=s},58207:function(e,t,n){"use strict";n.d(t,{BR:function(){return l},ri:function(){return s}});var r=n(75271),o=n(82187),i=n.n(o);n(48894);let a=r.createContext(null),s=(e,t)=>{let n=r.useContext(a),o=r.useMemo(()=>{if(!n)return"";let{compactDirection:r,isFirstItem:o,isLastItem:a}=n,s="vertical"===r?"-vertical-":"-";return i()("".concat(e,"-compact").concat(s,"item"),{["".concat(e,"-compact").concat(s,"first-item")]:o,["".concat(e,"-compact").concat(s,"last-item")]:a,["".concat(e,"-compact").concat(s,"item-rtl")]:"rtl"===t})},[e,t,n]);return{compactSize:null==n?void 0:n.compactSize,compactDirection:null==n?void 0:n.compactDirection,compactItemClassnames:o}},l=e=>{let{children:t}=e;return r.createElement(a.Provider,{value:null},t)}},33093:function(e,t,n){"use strict";n.d(t,{Lx:function(){return a},Qy:function(){return c},Ro:function(){return i},Wf:function(){return o},du:function(){return s}});var r=n(61048);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:t?"inherit":e.fontFamily}},i=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),a=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active, &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),s=(e,t,n,r)=>{let o='[class^="'.concat(t,'"], [class*=" ').concat(t,'"]'),i=n?".".concat(n):o,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}},s={};return!1!==r&&(s={fontFamily:e.fontFamily,fontSize:e.fontSize}),{[i]:Object.assign(Object.assign(Object.assign({},s),a),{[o]:a})}},l=e=>({outline:"".concat((0,r.bf)(e.lineWidthFocus)," solid ").concat(e.colorPrimaryBorder),outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),c=e=>({"&:focus-visible":Object.assign({},l(e))})},54030:function(e,t,n){"use strict";function r(e){return(e+8)/e}function o(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*Math.pow(Math.E,(n-1)/5);return 2*Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)});return t[1]=e,t.map(e=>({size:e,lineHeight:r(e)}))}n.d(t,{D:function(){return r},Z:function(){return o}})},98605:function(e,t,n){"use strict";n.d(t,{ZP:function(){return eO},ID:function(){return ej},NJ:function(){return ek}});var r=n(75271),o=n(61048),i="5.19.2",a=n(96299),s=n(28556),l=2,c=.16,u=.05,d=.05,f=.15,h=5,p=4,m=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function g(e){var t=e.r,n=e.g,r=e.b,o=(0,a.py)(t,n,r);return{h:360*o.h,s:o.s,v:o.v}}function v(e){var t=e.r,n=e.g,r=e.b;return"#".concat((0,a.vq)(t,n,r,!1))}function x(e,t,n){var r=n/100;return{r:(t.r-e.r)*r+e.r,g:(t.g-e.g)*r+e.g,b:(t.b-e.b)*r+e.b}}function y(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-l*t:Math.round(e.h)+l*t:n?Math.round(e.h)+l*t:Math.round(e.h)-l*t)<0?r+=360:r>=360&&(r-=360),r}function b(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-c*t:t===p?e.s+c:e.s+u*t)>1&&(r=1),n&&t===h&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function w(e,t,n){var r;return(r=n?e.v+d*t:e.v-f*t)>1&&(r=1),Number(r.toFixed(2))}function k(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,s.uA)(e),o=h;o>0;o-=1){var i=g(r),a=v((0,s.uA)({h:y(i,o,!0),s:b(i,o,!0),v:w(i,o,!0)}));n.push(a)}n.push(v(r));for(var l=1;l<=p;l+=1){var c=g(r),u=v((0,s.uA)({h:y(c,l),s:b(c,l),v:w(c,l)}));n.push(u)}return"dark"===t.theme?m.map(function(e){var r=e.index,o=e.opacity;return v(x((0,s.uA)(t.backgroundColor||"#141414"),(0,s.uA)(n[r]),100*o))}):n}var j={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},_=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];_.primary=_[5];var E=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];E.primary=E[5];var O=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];O.primary=O[5];var S=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];S.primary=S[5];var C=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];C.primary=C[5];var T=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];T.primary=T[5];var A=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];A.primary=A[5];var R=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];R.primary=R[5];var N=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];N.primary=N[5];var I=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];I.primary=I[5];var M=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];M.primary=M[5];var Z=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];Z.primary=Z[5];var L=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];L.primary=L[5];var P={red:_,volcano:E,orange:O,gold:S,yellow:C,lime:T,green:A,cyan:R,blue:N,geekblue:I,purple:M,magenta:Z,grey:L},D=["#2a1215","#431418","#58181c","#791a1f","#a61d24","#d32029","#e84749","#f37370","#f89f9a","#fac8c3"];D.primary=D[5];var z=["#2b1611","#441d12","#592716","#7c3118","#aa3e19","#d84a1b","#e87040","#f3956a","#f8b692","#fad4bc"];z.primary=z[5];var F=["#2b1d11","#442a11","#593815","#7c4a15","#aa6215","#d87a16","#e89a3c","#f3b765","#f8cf8d","#fae3b7"];F.primary=F[5];var H=["#2b2111","#443111","#594214","#7c5914","#aa7714","#d89614","#e8b339","#f3cc62","#f8df8b","#faedb5"];H.primary=H[5];var B=["#2b2611","#443b11","#595014","#7c6e14","#aa9514","#d8bd14","#e8d639","#f3ea62","#f8f48b","#fafab5"];B.primary=B[5];var W=["#1f2611","#2e3c10","#3e4f13","#536d13","#6f9412","#8bbb11","#a9d134","#c9e75d","#e4f88b","#f0fab5"];W.primary=W[5];var G=["#162312","#1d3712","#274916","#306317","#3c8618","#49aa19","#6abe39","#8fd460","#b2e58b","#d5f2bb"];G.primary=G[5];var $=["#112123","#113536","#144848","#146262","#138585","#13a8a8","#33bcb7","#58d1c9","#84e2d8","#b2f1e8"];$.primary=$[5];var U=["#111a2c","#112545","#15325b","#15417e","#1554ad","#1668dc","#3c89e8","#65a9f3","#8dc5f8","#b7dcfa"];U.primary=U[5];var V=["#131629","#161d40","#1c2755","#203175","#263ea0","#2b4acb","#5273e0","#7f9ef3","#a8c1f8","#d2e0fa"];V.primary=V[5];var q=["#1a1325","#24163a","#301c4d","#3e2069","#51258f","#642ab5","#854eca","#ab7ae0","#cda8f0","#ebd7fa"];q.primary=q[5];var X=["#291321","#40162f","#551c3b","#75204f","#a02669","#cb2b83","#e0529c","#f37fb7","#f8a8cc","#fad2e3"];X.primary=X[5];var K=["#151515","#1f1f1f","#2d2d2d","#393939","#494949","#5a5a5a","#6a6a6a","#7b7b7b","#888888","#969696"];K.primary=K[5];let Q={blue:"#1677FF",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#EB2F96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"};var Y=Object.assign(Object.assign({},Q),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'",fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0}),J=n(76367),ee=n(23881),et=function(){function e(t,n){if(void 0===t&&(t=""),void 0===n&&(n={}),t instanceof e)return t;"number"==typeof t&&(t=(0,a.Yt)(t)),this.originalInput=t;var r,o=(0,s.uA)(t);this.originalInput=t,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(r=n.format)&&void 0!==r?r:o.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e,t,n,r=this.toRgb(),o=r.r/255,i=r.g/255,a=r.b/255;return .2126*(e=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.7152*(t=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(n=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=(0,ee.Yq)(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=(0,a.py)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=(0,a.py)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(r,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(r,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=(0,a.lC)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=(0,a.lC)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(r,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(r,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),(0,a.vq)(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),(0,a.s)(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*(0,ee.sh)(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*(0,ee.sh)(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+(0,a.vq)(this.r,this.g,this.b,!1),t=0,n=Object.entries(J.R);t=0;return!t&&r&&(e.startsWith("hex")||"name"===e)?"name"===e&&0===this.a?this.toName():this.toRgbString():("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=(0,ee.V2)(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-(t/100*255)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-(t/100*255)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-(t/100*255)))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=(0,ee.V2)(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=(0,ee.V2)(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=(0,ee.V2)(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var r=this.toRgb(),o=new e(t).toRgb(),i=n/100;return new e({r:(o.r-r.r)*i+r.r,g:(o.g-r.g)*i+r.g,b:(o.b-r.b)*i+r.b,a:(o.a-r.a)*i+r.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var r=this.toHsl(),o=360/n,i=[this];for(r.h=(r.h-(o*t>>1)+720)%360;--t;)r.h=(r.h+o)%360,i.push(new e(r));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),r=n.h,o=n.s,i=n.v,a=[],s=1/t;t--;)a.push(new e({h:r,s:o,v:i})),i=(i+s)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),o=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/o,g:(n.g*n.a+r.g*r.a*(1-n.a))/o,b:(n.b*n.a+r.b*r.a*(1-n.a))/o,a:o})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,o=[this],i=360/t,a=1;a{let t=e,n=e,r=e,o=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?o=4:e>=8&&(o=6),{borderRadius:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:o}};function eo(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:o}=e;return Object.assign({motionDurationFast:"".concat((n+t).toFixed(1),"s"),motionDurationMid:"".concat((n+2*t).toFixed(1),"s"),motionDurationSlow:"".concat((n+3*t).toFixed(1),"s"),lineWidthBold:o+1},er(r))}var ei=e=>{let{controlHeight:t}=e;return{controlHeightSM:.75*t,controlHeightXS:.5*t,controlHeightLG:1.25*t}},ea=n(54030),es=e=>{let t=(0,ea.Z)(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight),o=n[1],i=n[0],a=n[2],s=r[1],l=r[0],c=r[2];return{fontSizeSM:i,fontSize:o,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:s,lineHeightLG:c,lineHeightSM:l,fontHeight:Math.round(s*o),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(l*i),lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};function el(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}let ec=(e,t)=>new et(e).setAlpha(t).toRgbString(),eu=(e,t)=>new et(e).darken(t).toHexString(),ed=e=>{let t=k(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},ef=(e,t)=>{let n=e||"#fff",r=t||"#000";return{colorBgBase:n,colorTextBase:r,colorText:ec(r,.88),colorTextSecondary:ec(r,.65),colorTextTertiary:ec(r,.45),colorTextQuaternary:ec(r,.25),colorFill:ec(r,.15),colorFillSecondary:ec(r,.06),colorFillTertiary:ec(r,.04),colorFillQuaternary:ec(r,.02),colorBgLayout:eu(n,4),colorBgContainer:eu(n,0),colorBgElevated:eu(n,0),colorBgSpotlight:ec(r,.85),colorBgBlur:"transparent",colorBorder:eu(n,15),colorBorderSecondary:eu(n,6)}};function eh(e){j.pink=j.magenta,P.pink=P.magenta;let t=Object.keys(Q).map(t=>{let n=e[t]===j[t]?P[t]:k(e[t]);return Array(10).fill(1).reduce((e,r,o)=>(e["".concat(t,"-").concat(o+1)]=n[o],e["".concat(t).concat(o+1)]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),en(e,{generateColorPalettes:ed,generateNeutralColorPalettes:ef})),es(e.fontSize)),el(e)),ei(e)),eo(e))}let ep=(0,o.jG)(eh),em={token:Y,override:{override:Y},hashed:!0},eg=r.createContext(em);function ev(e){return e>=0&&e<=255}var ex=function(e,t){let{r:n,g:r,b:o,a:i}=new et(e).toRgb();if(i<1)return e;let{r:a,g:s,b:l}=new et(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-a*(1-e))/e),i=Math.round((r-s*(1-e))/e),c=Math.round((o-l*(1-e))/e);if(ev(t)&&ev(i)&&ev(c))return new et({r:t,g:i,b:c,a:Math.round(100*e)/100}).toRgbString()}return new et({r:n,g:r,b:o,a:1}).toRgbString()},ey=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eb(e){let{override:t}=e,n=ey(e,["override"]),r=Object.assign({},t);Object.keys(Y).forEach(e=>{delete r[e]});let o=Object.assign(Object.assign({},n),r),i=480,a=576,s=768,l=992,c=1200,u=1600;if(!1===o.motion){let e="0s";o.motionDurationFast=e,o.motionDurationMid=e,o.motionDurationSlow=e}return Object.assign(Object.assign(Object.assign({},o),{colorFillContent:o.colorFillSecondary,colorFillContentHover:o.colorFill,colorFillAlter:o.colorFillQuaternary,colorBgContainerDisabled:o.colorFillTertiary,colorBorderBg:o.colorBgContainer,colorSplit:ex(o.colorBorderSecondary,o.colorBgContainer),colorTextPlaceholder:o.colorTextQuaternary,colorTextDisabled:o.colorTextQuaternary,colorTextHeading:o.colorText,colorTextLabel:o.colorTextSecondary,colorTextDescription:o.colorTextTertiary,colorTextLightSolid:o.colorWhite,colorHighlight:o.colorError,colorBgTextHover:o.colorFillSecondary,colorBgTextActive:o.colorFill,colorIcon:o.colorTextTertiary,colorIconHover:o.colorText,colorErrorOutline:ex(o.colorErrorBg,o.colorBgContainer),colorWarningOutline:ex(o.colorWarningBg,o.colorBgContainer),fontSizeIcon:o.fontSizeSM,lineWidthFocus:4*o.lineWidth,lineWidth:o.lineWidth,controlOutlineWidth:2*o.lineWidth,controlInteractiveSize:o.controlHeight/2,controlItemBgHover:o.colorFillTertiary,controlItemBgActive:o.colorPrimaryBg,controlItemBgActiveHover:o.colorPrimaryBgHover,controlItemBgActiveDisabled:o.colorFill,controlTmpOutline:o.colorFillQuaternary,controlOutline:ex(o.colorPrimaryBg,o.colorBgContainer),lineType:o.lineType,borderRadius:o.borderRadius,borderRadiusXS:o.borderRadiusXS,borderRadiusSM:o.borderRadiusSM,borderRadiusLG:o.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:o.sizeXXS,paddingXS:o.sizeXS,paddingSM:o.sizeSM,padding:o.size,paddingMD:o.sizeMD,paddingLG:o.sizeLG,paddingXL:o.sizeXL,paddingContentHorizontalLG:o.sizeLG,paddingContentVerticalLG:o.sizeMS,paddingContentHorizontal:o.sizeMS,paddingContentVertical:o.sizeSM,paddingContentHorizontalSM:o.size,paddingContentVerticalSM:o.sizeXS,marginXXS:o.sizeXXS,marginXS:o.sizeXS,marginSM:o.sizeSM,margin:o.size,marginMD:o.sizeMD,marginLG:o.sizeLG,marginXL:o.sizeXL,marginXXL:o.sizeXXL,boxShadow:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowSecondary:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTertiary:"\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n ",screenXS:i,screenXSMin:i,screenXSMax:a-1,screenSM:a,screenSMMin:a,screenSMMax:s-1,screenMD:s,screenMDMin:s,screenMDMax:l-1,screenLG:l,screenLGMin:l,screenLGMax:c-1,screenXL:c,screenXLMin:c,screenXLMax:u-1,screenXXL:u,screenXXLMin:u,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:"\n 0 1px 2px -2px ".concat(new et("rgba(0, 0, 0, 0.16)").toRgbString(),",\n 0 3px 6px 0 ").concat(new et("rgba(0, 0, 0, 0.12)").toRgbString(),",\n 0 5px 12px 4px ").concat(new et("rgba(0, 0, 0, 0.09)").toRgbString(),"\n "),boxShadowDrawerRight:"\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerLeft:"\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerUp:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerDown:"\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var ew=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ek={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0},ej={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},e_={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},eE=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:o}=t,i=ew(t,["override"]),a=Object.assign(Object.assign({},r),{override:o});return a=eb(a),i&&Object.entries(i).forEach(e=>{let[t,n]=e,{theme:r}=n,o=ew(n,["theme"]),i=o;r&&(i=eE(Object.assign(Object.assign({},a),o),{override:o},r)),a[t]=i}),a};function eO(){let{token:e,hashed:t,theme:n,override:a,cssVar:s}=r.useContext(eg),l="".concat(i,"-").concat(t||""),c=n||ep,[u,d,f]=(0,o.fp)(c,[Y,e],{salt:l,override:a,getComputedToken:eE,formatToken:eb,cssVar:s&&{prefix:s.prefix,key:s.key,unitless:ek,ignore:ej,preserve:e_}});return[c,f,t?d:"",u,s]}},14734:function(e,t,n){"use strict";n.d(t,{ZP:function(){return y},I$:function(){return k},bk:function(){return b}});var r=n(75271),o=n(61048);n(94269);var i=n(11333),a=n(14634);let s=6e5,l=new(function(){function e(){(0,i.Z)(this,e),this.map=new Map,this.objectIDMap=new WeakMap,this.nextID=0,this.lastAccessBeat=new Map,this.accessBeat=0}return(0,a.Z)(e,[{key:"set",value:function(e,t){this.clear();let n=this.getCompositeKey(e);this.map.set(n,t),this.lastAccessBeat.set(n,Date.now())}},{key:"get",value:function(e){let t=this.getCompositeKey(e),n=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,n}},{key:"getCompositeKey",value:function(e){return e.map(e=>e&&"object"==typeof e?"obj_".concat(this.getObjectID(e)):"".concat(typeof e,"_").concat(e)).join("|")}},{key:"getObjectID",value:function(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);let t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}},{key:"clear",value:function(){if(this.accessBeat>1e4){let e=Date.now();this.lastAccessBeat.forEach((t,n)=>{e-t>s&&(this.map.delete(n),this.lastAccessBeat.delete(n))}),this.accessBeat=0}}}])}());var c=function(e,t){return r.useMemo(()=>{let n=l.get(t);if(n)return n;let r=e();return l.set(t,r),r},t)},u=n(85001),d=n(33093),f=n(98605);function h(e){return"js"===e?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")},min:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")}}}var p=n(5302),m=(e,t)=>{let[n,r]=(0,f.ZP)();return(0,o.xy)({theme:n,token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>null==t?void 0:t.nonce,layer:{name:"antd"}},()=>[{[".".concat(e)]:Object.assign(Object.assign({},(0,d.Ro)()),{[".".concat(e," .").concat(e,"-icon")]:{display:"block"}})}])};let g=(e,t,n)=>{var r;return"function"==typeof n?n((0,p.TS)(t,null!==(r=t[e])&&void 0!==r?r:{})):null!=n?n:{}},v=(e,t,n,r)=>{let o=Object.assign({},t[e]);if(null==r?void 0:r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(e=>{var t;let[n,r]=e;((null==o?void 0:o[n])||(null==o?void 0:o[r]))&&(null!==(t=o[r])&&void 0!==t||(o[r]=null==o?void 0:o[n]))})}let i=Object.assign(Object.assign({},n),o);return Object.keys(i).forEach(e=>{i[e]===t[e]&&delete i[e]}),i},x=(e,t)=>"".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"));function y(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=Array.isArray(e)?e:[e,e],[s]=a,l=a.join("-");return function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[y,b,w,k,j]=(0,f.ZP)(),{getPrefixCls:_,iconPrefixCls:E,csp:O}=(0,r.useContext)(u.E_),S=_(),C=j?"css":"js",T=c(()=>{let e=new Set;return j&&Object.keys(i.unitless||{}).forEach(t=>{e.add((0,o.ks)(t,j.prefix)),e.add((0,o.ks)(t,x(s,j.prefix)))}),(0,o._m)(C,e)},[C,s,null==j?void 0:j.prefix]),{max:A,min:R}=h(C),N={theme:y,token:k,hashId:w,nonce:()=>null==O?void 0:O.nonce,clientOnly:i.clientOnly,layer:{name:"antd"},order:i.order||-999};return(0,o.xy)(Object.assign(Object.assign({},N),{clientOnly:!1,path:["Shared",S]}),()=>[{"&":(0,d.Lx)(k)}]),m(E,O),[(0,o.xy)(Object.assign(Object.assign({},N),{path:[l,e,E]}),()=>{if(!1===i.injectStyle)return[];let{token:r,flush:l}=(0,p.ZP)(k),c=g(s,b,n),u=".".concat(e),f=v(s,b,c,{deprecatedTokens:i.deprecatedTokens});j&&Object.keys(c).forEach(e=>{c[e]="var(".concat((0,o.ks)(e,x(s,j.prefix)),")")});let h=(0,p.TS)(r,{componentCls:u,prefixCls:e,iconCls:".".concat(E),antCls:".".concat(S),calc:T,max:A,min:R},j?c:f),m=t(h,{hashId:w,prefixCls:e,rootPrefixCls:S,iconPrefixCls:E});return l(s,f),[!1===i.resetStyle?null:(0,d.du)(h,e,a,i.resetFont),m]}),w]}}let b=(e,t,n,r)=>{let o=y(e,t,n,Object.assign({resetStyle:!1,order:-998},r));return e=>{let{prefixCls:t,rootCls:n=t}=e;return o(t,n),null}},w=(e,t,n)=>{let{unitless:i,injectStyle:a=!0,prefixToken:s}=n,l=r=>{let{rootCls:a,cssVar:l}=r,[,c]=(0,f.ZP)();return(0,o.CI)({path:[e],prefix:l.prefix,key:null==l?void 0:l.key,unitless:i,ignore:f.ID,token:c,scope:a},()=>{let r=g(e,c,t),o=v(e,c,r,{deprecatedTokens:null==n?void 0:n.deprecatedTokens});return Object.keys(r).forEach(e=>{o[s(e)]=o[e],delete o[e]}),o}),null};return t=>{let[,,,,n]=(0,f.ZP)();return[o=>a&&n?r.createElement(r.Fragment,null,r.createElement(l,{rootCls:t,cssVar:n,component:e}),o):o,null==n?void 0:n.key]}},k=(e,t,n,r)=>{let o=Array.isArray(e)?e[0]:e;function i(e){return"".concat(o).concat(e.slice(0,1).toUpperCase()).concat(e.slice(1))}let a=(null==r?void 0:r.unitless)||{},s=Object.assign(Object.assign({},f.NJ),{[i("zIndexPopup")]:!0});Object.keys(a).forEach(e=>{s[i(e)]=a[e]});let l=Object.assign(Object.assign({},r),{unitless:s,prefixToken:i}),c=y(e,t,n,l),u=w(o,n,l);return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[,n]=c(e,t),[r,o]=u(t);return[r,n,o]}}},5302:function(e,t,n){"use strict";n.d(t,{TS:function(){return i}});let r="undefined"!=typeof CSSINJS_STATISTIC,o=!0;function i(){for(var e=arguments.length,t=Array(e),n=0;n{Object.keys(e).forEach(t=>{Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>e[t]})})}),o=!0,i}let a={};function s(){}let l=e=>{let t;let n=e,i=s;return r&&"undefined"!=typeof Proxy&&(t=new Set,n=new Proxy(e,{get:(e,n)=>(o&&t.add(n),e[n])}),i=(e,n)=>{var r;a[e]={global:Array.from(t),component:Object.assign(Object.assign({},null===(r=a[e])||void 0===r?void 0:r.component),n)}}),{token:n,keys:t,flush:i}};t.ZP=l},9321:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return c},ACTION_NAVIGATE:function(){return i},ACTION_PREFETCH:function(){return l},ACTION_REFRESH:function(){return o},ACTION_RESTORE:function(){return a},ACTION_SERVER_ACTION:function(){return u},ACTION_SERVER_PATCH:function(){return s},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return d}});let o="refresh",i="navigate",a="restore",s="server-patch",l="prefetch",c="fast-refresh",u="server-action";function d(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}!function(e){e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary"}(n||(n={})),function(e){e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale"}(r||(r={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},74246:function(e,t,n){"use strict";function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(91272),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20093:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let r=n(42430),o=n(11778),i=n(52676),a=o._(n(75271)),s=r._(n(30967)),l=r._(n(9651)),c=n(65180),u=n(16450),d=n(39800);n(37131);let f=n(93848),h=r._(n(43964)),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!0,unoptimized:!0};function m(e,t,n,r,o,i,a){let s=null==e?void 0:e.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,o=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function g(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,a.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:o,height:s,width:l,decoding:c,className:u,style:d,fetchPriority:f,placeholder:h,loading:p,unoptimized:v,fill:x,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:w,setShowAltText:k,sizesInput:j,onLoad:_,onError:E,...O}=e;return(0,i.jsx)("img",{...O,...g(f),loading:p,width:l,height:s,decoding:c,"data-nimg":x?"fill":"1",className:u,style:d,sizes:o,srcSet:r,src:n,ref:(0,a.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(E&&(e.src=e.src),e.complete&&m(e,h,y,b,w,v,j))},[n,h,y,b,w,E,v,j,t]),onLoad:e=>{m(e.currentTarget,h,y,b,w,v,j)},onError:e=>{k(!0),"empty"!==h&&w(!0),E&&E(e)}})});function x(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...g(n.fetchPriority)};return t&&s.default.preload?(s.default.preload(n.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,a.forwardRef)((e,t)=>{let n=!(0,a.useContext)(f.RouterContext),r=(0,a.useContext)(d.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=p||r||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n}},[r]),{onLoad:s,onLoadingComplete:l}=e,m=(0,a.useRef)(s);(0,a.useEffect)(()=>{m.current=s},[s]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[y,b]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!1),{props:j,meta:_}=(0,c.getImgProps)(e,{defaultLoader:h.default,imgConf:o,blurComplete:y,showAltText:w});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{...j,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:b,setShowAltText:k,sizesInput:e.sizes,ref:t}),_.priority?(0,i.jsx)(x,{isAppRouter:n,imgAttributes:j}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24565:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return k}});let r=n(42430),o=n(52676),i=r._(n(75271)),a=n(46758),s=n(98533),l=n(96393),c=n(76872),u=n(33553),d=n(93848),f=n(49403),h=n(48730),p=n(74246),m=n(20384),g=n(9321),v=new Set;function x(e,t,n,r,o,i){if(i||(0,s.isLocalURL)(t)){if(!r.bypassPrefetchedCheck){let o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(v.has(o))return;v.add(o)}(async()=>i?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function y(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}function b(e,t,n,r,o,a,l,c,u){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(y(e)||!u&&!(0,s.isLocalURL)(n)))return;e.preventDefault();let f=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:a,locale:c,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};u?i.default.startTransition(f):f()}function w(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let k=i.default.forwardRef(function(e,t){let n,r;let{href:s,as:l,children:v,prefetch:y=null,passHref:k,replace:j,shallow:_,scroll:E,locale:O,onClick:S,onMouseEnter:C,onTouchStart:T,legacyBehavior:A=!1,...R}=e;n=v,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let N=i.default.useContext(d.RouterContext),I=i.default.useContext(f.AppRouterContext),M=null!=N?N:I,Z=!N,L=!1!==y,P=null===y?g.PrefetchKind.AUTO:g.PrefetchKind.FULL,{href:D,as:z}=i.default.useMemo(()=>{if(!N){let e=w(s);return{href:e,as:l?w(l):e}}let[e,t]=(0,a.resolveHref)(N,s,!0);return{href:e,as:l?(0,a.resolveHref)(N,l):t||e}},[N,s,l]),F=i.default.useRef(D),H=i.default.useRef(z);A&&(r=i.default.Children.only(n));let B=A?r&&"object"==typeof r&&r.ref:t,[W,G,$]=(0,h.useIntersection)({rootMargin:"200px"}),U=i.default.useCallback(e=>{(H.current!==z||F.current!==D)&&($(),H.current=z,F.current=D),W(e),B&&("function"==typeof B?B(e):"object"==typeof B&&(B.current=e))},[z,B,D,$,W]);i.default.useEffect(()=>{M&&G&&L&&x(M,D,z,{locale:O},{kind:P},Z)},[z,D,G,O,L,null==N?void 0:N.locale,M,Z,P]);let V={ref:U,onClick(e){A||"function"!=typeof S||S(e),A&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),M&&!e.defaultPrevented&&b(e,M,D,z,j,_,E,O,Z)},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),M&&(L||!Z)&&x(M,D,z,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:P},Z)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),M&&(L||!Z)&&x(M,D,z,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:P},Z)}};if((0,c.isAbsoluteUrl)(z))V.href=z;else if(!A||k||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==N?void 0:N.locale,t=(null==N?void 0:N.isLocaleDomain)&&(0,p.getDomainLocale)(z,e,null==N?void 0:N.locales,null==N?void 0:N.domainLocales);V.href=t||(0,m.addBasePath)((0,u.addLocale)(z,e,null==N?void 0:N.defaultLocale))}return A?i.default.cloneElement(r,V):(0,o.jsx)("a",{...R,...V,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48730:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return u}});let r=n(75271),o=n(50640),i="function"==typeof IntersectionObserver,a=new Map,s=[];function l(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=s.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},s.push(n),a.set(n,t),t}function c(e,t,n){let{id:r,observer:o,elements:i}=l(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);let e=s.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&s.splice(e,1)}}}function u(e){let{rootRef:t,rootMargin:n,disabled:a}=e,s=a||!i,[l,u]=(0,r.useState)(!1),d=(0,r.useRef)(null),f=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(i){if(s||l)return;let e=d.current;if(e&&e.tagName)return c(e,e=>e&&u(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!l){let e=(0,o.requestIdleCallback)(()=>u(!0));return()=>(0,o.cancelIdleCallback)(e)}},[s,n,t,l,d.current]),[f,l,(0,r.useCallback)(()=>{u(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65180:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return d}}),n(37131);let r=n(53429),o=n(16450);function i(e){return void 0!==e.default}function a(e){return void 0!==e.src}function s(e){return"object"==typeof e&&(i(e)||a(e))}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c(e,t,n){let{deviceSizes:r,allSizes:o}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:o,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))],kind:"x"}}function u(e){let{config:t,src:n,unoptimized:r,width:o,quality:i,sizes:a,loader:s}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:u}=c(t,o,a),d=l.length-1;return{sizes:a||"w"!==u?a:"100vw",srcSet:l.map((e,r)=>s({config:t,src:n,quality:i,width:e})+" "+("w"===u?e:r+1)+u).join(", "),src:s({config:t,src:n,quality:i,width:l[d]})}}function d(e,t){let n,a,c,{src:d,sizes:f,unoptimized:h=!1,priority:p=!1,loading:m,className:g,quality:v,width:x,height:y,fill:b=!1,style:w,overrideSrc:k,onLoad:j,onLoadingComplete:_,placeholder:E="empty",blurDataURL:O,fetchPriority:S,layout:C,objectFit:T,objectPosition:A,lazyBoundary:R,lazyRoot:N,...I}=e,{imgConf:M,showAltText:Z,blurComplete:L,defaultLoader:P}=t,D=M||o.imageConfigDefault;if("allSizes"in D)n=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t);n={...D,allSizes:e,deviceSizes:t}}if(void 0===P)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let z=I.loader||P;delete I.loader,delete I.srcSet;let F="__next_img_default"in z;if(F){if("custom"===n.loader)throw Error('Image with src "'+d+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=z;z=t=>{let{config:n,...r}=t;return e(r)}}if(C){"fill"===C&&(b=!0);let e={responsive:"100vw",fill:"100vw"},t={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];t&&(w={...w,...t});let n=e[C];n&&!f&&(f=n)}let H="",B=l(x),W=l(y);if(s(d)){let e=i(d)?d.default:d;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(a=e.blurWidth,c=e.blurHeight,O=O||e.blurDataURL,H=e.src,!b){if(B||W){if(B&&!W){let t=B/e.width;W=Math.round(e.height*t)}else if(!B&&W){let t=W/e.height;B=Math.round(e.width*t)}}else B=e.width,W=e.height}}let G=!p&&("lazy"===m||void 0===m);(!(d="string"==typeof d?d:H)||d.startsWith("data:")||d.startsWith("blob:"))&&(h=!0,G=!1),n.unoptimized&&(h=!0),F&&d.endsWith(".svg")&&!n.dangerouslyAllowSVG&&(h=!0),p&&(S="high");let $=l(v),U=Object.assign(b?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:T,objectPosition:A}:{},Z?{}:{color:"transparent"},w),V=L||"empty"===E?null:"blur"===E?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:B,heightInt:W,blurWidth:a,blurHeight:c,blurDataURL:O||"",objectFit:U.objectFit})+'")':'url("'+E+'")',q=V?{backgroundSize:U.objectFit||"cover",backgroundPosition:U.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},X=u({config:n,src:d,unoptimized:h,width:B,quality:$,sizes:f,loader:z});return{props:{...I,loading:G?"lazy":m,fetchPriority:S,width:B,height:W,decoding:"async",className:g,style:{...U,...q},sizes:X.sizes,srcSet:X.srcSet,src:k||X.src},meta:{unoptimized:h,priority:p,placeholder:E,fill:b}}}},53429:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:o,blurDataURL:i,objectFit:a}=e,s=r?40*r:t,l=o?40*o:n,c=s&&l?"viewBox='0 0 "+s+" "+l+"'":"",u=c?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+u+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},94741:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return s}});let r=n(42430),o=n(65180),i=n(20093),a=r._(n(43964));function s(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!0,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=i.Image},43964:function(e,t){"use strict";function n(e){let{config:t,src:n,width:r,quality:o}=e;return t.path+"?url="+encodeURIComponent(n)+"&w="+r+"&q="+(o||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}}),n.__next_img_default=!0;let r=n},45406:function(){},85848:function(){},31613:function(){},58677:function(e){var t="/";!function(){"use strict";var n={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",o=0,i=-1,a=0,s=0;s<=e.length;++s){if(s2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",o=0):o=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),i=s,a=0;continue}}else if(2===r.length||1===r.length){r="",o=0,i=s,a=0;continue}}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(i+1,s):r=e.slice(i+1,s),o=s-i-1;i=s,a=0}else 46===n&&-1!==a?++a:a=-1}return r}function r(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}var o={resolve:function(){for(var e,r,o="",i=!1,a=arguments.length-1;a>=-1&&!i;a--)a>=0?r=arguments[a]:(void 0===e&&(e=""),r=e),t(r),0!==r.length&&(o=r+"/"+o,i=47===r.charCodeAt(0));return(o=n(o,!i),i)?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return(0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&o&&(e+="/"),r)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":o.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=o.resolve(e))===(n=o.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(s+d))return n.slice(s+d+1);if(0===d)return n.slice(s+d)}else a>c&&(47===e.charCodeAt(r+d)?u=d:0===d&&(u=0));break}var f=e.charCodeAt(r+d);if(f!==n.charCodeAt(s+d))break;47===f&&(u=d)}var h="";for(d=r+u+1;d<=i;++d)(d===i||47===e.charCodeAt(d))&&(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(s+u):(s+=u,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,o=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return -1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw TypeError('"ext" argument must be a string');t(e);var r,o=0,i=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){o=r+1;break}}else -1===l&&(a=!1,l=r+1),s>=0&&(c===n.charCodeAt(s)?-1==--s&&(i=r):(s=-1,i=l))}return o===i?i=l:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){o=r+1;break}}else -1===i&&(a=!1,i=r+1);return -1===i?"":e.slice(o,i)},extname:function(e){t(e);for(var n=-1,r=0,o=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47===l){if(!i){r=s+1;break}continue}-1===o&&(i=!1,o=s+1),46===l?-1===n?n=s:1!==a&&(a=1):-1!==n&&(a=-1)}return -1===n||-1===o||0===a||1===a&&n===o-1&&n===r+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return r("/",e)},parse:function(e){t(e);var n,r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var o=e.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var a=-1,s=0,l=-1,c=!0,u=e.length-1,d=0;u>=n;--u){if(47===(o=e.charCodeAt(u))){if(!c){s=u+1;break}continue}-1===l&&(c=!1,l=u+1),46===o?-1===a?a=u:1!==d&&(d=1):-1!==a&&(d=-1)}return -1===a||-1===l||0===d||1===d&&a===l-1&&a===s+1?-1!==l&&(0===s&&i?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(s,l)):(0===s&&i?(r.name=e.slice(1,a),r.base=e.slice(1,l)):(r.name=e.slice(s,a),r.base=e.slice(s,l)),r.ext=e.slice(a,l)),s>0?r.dir=e.slice(0,s-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,e.exports=o}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}},a=!0;try{n[e](i,i.exports,o),a=!1}finally{a&&delete r[e]}return i.exports}o.ab=t+"/";var i=o(114);e.exports=i}()},81250:function(e){var t="/";!function(){var n={229:function(e){var t,n,r,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function l(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c=[],u=!1,d=-1;function f(){u&&r&&(u=!1,r.length?c=r.concat(c):d=-1,c.length&&h())}function h(){if(!u){var e=s(f);u=!0;for(var t=c.length;t;){for(r=c,c=[];++d1)for(var n=1;n(0,s.jsx)("button",{className:(0,a.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",t),...n,children:e}),c=n(6642),u={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,s.jsx)(c.AV,{className:"nx-mt-1"}),warning:"⚠️"},d={default:(0,a.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,a.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,a.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,a.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function f({children:e,type:t="default",emoji:n=u[t]}){return(0,s.jsxs)("div",{className:(0,a.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",d[t]),children:[(0,s.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:n}),(0,s.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:e})]})}var h=n(75271),p=({getValue:e,...t})=>{let[n,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{r(!1)},2e3);return()=>{clearTimeout(e)}},[n]);let o=(0,h.useCallback)(async()=>{r(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(e())}catch{console.error("Failed to copy!")}},[e]),i=n?c.nQ:c.TI;return(0,s.jsx)(l,{onClick:o,title:"Copy code",tabIndex:0,...t,children:(0,s.jsx)(i,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},m=({children:e,className:t,...n})=>{let r="data-line-numbers"in n;return(0,s.jsx)("code",{className:(0,a.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",r&&"[counter-reset:line]",t),dir:"ltr",...n,children:e})},g=({children:e,className:t,hasCopyCode:n,filename:r,...o})=>{let i=(0,h.useRef)(null),u=(0,h.useCallback)(()=>{let e=document.documentElement.dataset;"nextraWordWrap"in e?delete e.nextraWordWrap:e.nextraWordWrap=""},[]);return(0,s.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[r&&(0,s.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:r}),(0,s.jsx)("pre",{className:(0,a.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",r?"nx-pt-12 nx-pb-4":"nx-py-4",t),ref:i,...o,children:e}),(0,s.jsxs)("div",{className:(0,a.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",r?"nx-top-8":"nx-top-0"),children:[(0,s.jsx)(l,{onClick:u,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,s.jsx)(c.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),n&&(0,s.jsx)(p,{getValue:()=>i.current?.querySelector("code")?.textContent||""})]})]})};function v({children:e,className:t,...n}){return(0,s.jsx)("div",{className:(0,a.Z)("nextra-steps nx-ml-4 nx-mb-12 nx-border-l nx-border-gray-200 nx-pl-6","dark:nx-border-neutral-800 [counter-reset:step]",t),...n,children:e})}var x=n(3308),y=n(67675),b=n(49079),w=n(83442),k=n(45701),j=n(33468),_=n(19696),E=n(61845),O=n(33199),S=n(96708),C=n(8168);function T(e){let{onFocus:t}=e,[n,r]=(0,h.useState)(!0),o=(0,S.t)();return n?h.createElement(C._,{as:"button",type:"button",features:C.A.Focusable,onFocus:e=>{e.preventDefault();let n,i=50;function a(){if(i--<=0){n&&cancelAnimationFrame(n);return}if(t()){if(cancelAnimationFrame(n),!o.current)return;r(!1);return}n=requestAnimationFrame(a)}n=requestAnimationFrame(a)}}):null}var A=n(30182),R=n(99226),N=n(23339);let I=h.createContext(null);function M(){return{groups:new Map,get(e,t){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let o=null!=(n=r.get(t))?n:0;function i(){let e=r.get(t);e>1?r.set(t,e-1):r.delete(t)}return r.set(t,o+1),[Array.from(r.keys()).indexOf(t),i]}}}function Z(e){let{children:t}=e,n=h.useRef(M());return h.createElement(I.Provider,{value:n},t)}function L(e){let t=h.useContext(I);if(!t)throw Error("You must wrap your component in a ");let n=P(),[r,o]=t.current.get(e,n);return h.useEffect(()=>o,[]),r}function P(){var e,t,n;let r=null!=(n=null==(t=null==(e=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:t.current)?n:null;if(!r)return Symbol();let o=[],i=r;for(;i;)o.push(i.index),i=i.return;return"$."+o.join(".")}var D=((r=D||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),z=((o=z||{})[o.Less=-1]="Less",o[o.Equal=0]="Equal",o[o.Greater=1]="Greater",o),F=((i=F||{})[i.SetSelectedIndex=0]="SetSelectedIndex",i[i.RegisterTab=1]="RegisterTab",i[i.UnregisterTab=2]="UnregisterTab",i[i.RegisterPanel=3]="RegisterPanel",i[i.UnregisterPanel=4]="UnregisterPanel",i);let H={0(e,t){var n;let r=(0,k.z2)(e.tabs,e=>e.current),o=(0,k.z2)(e.panels,e=>e.current),i=r.filter(e=>{var t;return!(null!=(t=e.current)&&t.hasAttribute("disabled"))}),a={...e,tabs:r,panels:o};if(t.index<0||t.index>r.length-1){let n=(0,b.E)(Math.sign(t.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,b.E)(Math.sign(t.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===i.length)return a;let o=(0,b.E)(n,{0:()=>r.indexOf(i[0]),1:()=>r.indexOf(i[i.length-1])});return{...a,selectedIndex:-1===o?e.selectedIndex:o}}let s=r.slice(0,t.index),l=[...r.slice(t.index),...s].find(e=>i.includes(e));if(!l)return a;let c=null!=(n=r.indexOf(l))?n:e.selectedIndex;return -1===c&&(c=e.selectedIndex),{...a,selectedIndex:c}},1(e,t){var n;if(e.tabs.includes(t.tab))return e;let r=e.tabs[e.selectedIndex],o=(0,k.z2)([...e.tabs,t.tab],e=>e.current),i=null!=(n=o.indexOf(r))?n:e.selectedIndex;return -1===i&&(i=e.selectedIndex),{...e,tabs:o,selectedIndex:i}},2:(e,t)=>({...e,tabs:e.tabs.filter(e=>e!==t.tab)}),3:(e,t)=>e.panels.includes(t.panel)?e:{...e,panels:(0,k.z2)([...e.panels,t.panel],e=>e.current)},4:(e,t)=>({...e,panels:e.panels.filter(e=>e!==t.panel)})},B=(0,h.createContext)(null);function W(e){let t=(0,h.useContext)(B);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,W),t}return t}B.displayName="TabsDataContext";let G=(0,h.createContext)(null);function $(e){let t=(0,h.useContext)(G);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,$),t}return t}function U(e,t){return(0,b.E)(t.type,H,e,t)}G.displayName="TabsActionsContext";let V=h.Fragment;function q(e,t){let{defaultIndex:n=0,vertical:r=!1,manual:o=!1,onChange:i,selectedIndex:a=null,...s}=e,l=r?"vertical":"horizontal",c=o?"manual":"auto",u=null!==a,d=(0,_.T)(t),[f,p]=(0,h.useReducer)(U,{selectedIndex:null!=a?a:n,tabs:[],panels:[]}),m=(0,h.useMemo)(()=>({selectedIndex:f.selectedIndex}),[f.selectedIndex]),g=(0,O.E)(i||(()=>{})),v=(0,O.E)(f.tabs),y=(0,h.useMemo)(()=>({orientation:l,activation:c,...f}),[l,c,f]),b=(0,A.z)(e=>(p({type:1,tab:e}),()=>p({type:2,tab:e}))),w=(0,A.z)(e=>(p({type:3,panel:e}),()=>p({type:4,panel:e}))),E=(0,A.z)(e=>{S.current!==e&&g.current(e),u||p({type:0,index:e})}),S=(0,O.E)(u?e.selectedIndex:f.selectedIndex),C=(0,h.useMemo)(()=>({registerTab:b,registerPanel:w,change:E}),[]);(0,j.e)(()=>{p({type:0,index:null!=a?a:n})},[a]),(0,j.e)(()=>{if(void 0===S.current||f.tabs.length<=0)return;let e=(0,k.z2)(f.tabs,e=>e.current);e.some((e,t)=>f.tabs[t]!==e)&&E(e.indexOf(f.tabs[S.current]))});let R={ref:d};return h.createElement(Z,null,h.createElement(G.Provider,{value:C},h.createElement(B.Provider,{value:y},y.tabs.length<=0&&h.createElement(T,{onFocus:()=>{var e,t;for(let n of v.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(t=n.current)||t.focus(),!0;return!1}}),(0,x.sY)({ourProps:R,theirProps:s,slot:m,defaultTag:V,name:"Tabs"}))))}let X="div";function K(e,t){let{orientation:n,selectedIndex:r}=W("Tab.List"),o=(0,_.T)(t);return(0,x.sY)({ourProps:{ref:o,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:X,name:"Tabs.List"})}let Q="button";function Y(e,t){var n,r;let o=(0,y.M)(),{id:i="headlessui-tabs-tab-".concat(o),...a}=e,{orientation:s,activation:l,selectedIndex:c,tabs:u,panels:d}=W("Tab"),f=$("Tab"),p=W("Tab"),m=(0,h.useRef)(null),g=(0,_.T)(m,t);(0,j.e)(()=>f.registerTab(m),[f,m]);let v=L("tabs"),O=u.indexOf(m);-1===O&&(O=v);let S=O===c,C=(0,A.z)(e=>{var t;let n=e();if(n===k.fE.Success&&"auto"===l){let e=null==(t=(0,N.r)(m))?void 0:t.activeElement,n=p.tabs.findIndex(t=>t.current===e);-1!==n&&f.change(n)}return n}),T=(0,A.z)(e=>{let t=u.map(e=>e.current).filter(Boolean);if(e.key===w.R.Space||e.key===w.R.Enter){e.preventDefault(),e.stopPropagation(),f.change(O);return}switch(e.key){case w.R.Home:case w.R.PageUp:return e.preventDefault(),e.stopPropagation(),C(()=>(0,k.jA)(t,k.TO.First));case w.R.End:case w.R.PageDown:return e.preventDefault(),e.stopPropagation(),C(()=>(0,k.jA)(t,k.TO.Last))}if(C(()=>(0,b.E)(s,{vertical:()=>e.key===w.R.ArrowUp?(0,k.jA)(t,k.TO.Previous|k.TO.WrapAround):e.key===w.R.ArrowDown?(0,k.jA)(t,k.TO.Next|k.TO.WrapAround):k.fE.Error,horizontal:()=>e.key===w.R.ArrowLeft?(0,k.jA)(t,k.TO.Previous|k.TO.WrapAround):e.key===w.R.ArrowRight?(0,k.jA)(t,k.TO.Next|k.TO.WrapAround):k.fE.Error}))===k.fE.Success)return e.preventDefault()}),I=(0,h.useRef)(!1),M=(0,A.z)(()=>{var e;I.current||(I.current=!0,null==(e=m.current)||e.focus({preventScroll:!0}),f.change(O),(0,R.Y)(()=>{I.current=!1}))}),Z=(0,A.z)(e=>{e.preventDefault()}),P=(0,h.useMemo)(()=>({selected:S}),[S]),D={ref:g,onKeyDown:T,onMouseDown:Z,onClick:M,id:i,role:"tab",type:(0,E.f)(e,m),"aria-controls":null==(r=null==(n=d[O])?void 0:n.current)?void 0:r.id,"aria-selected":S,tabIndex:S?0:-1};return(0,x.sY)({ourProps:D,theirProps:a,slot:P,defaultTag:Q,name:"Tabs.Tab"})}let J="div";function ee(e,t){let{selectedIndex:n}=W("Tab.Panels"),r=(0,_.T)(t),o=(0,h.useMemo)(()=>({selectedIndex:n}),[n]);return(0,x.sY)({ourProps:{ref:r},theirProps:e,slot:o,defaultTag:J,name:"Tabs.Panels"})}let et="div",en=x.AN.RenderStrategy|x.AN.Static;function er(e,t){var n,r,o,i;let a=(0,y.M)(),{id:s="headlessui-tabs-panel-".concat(a),tabIndex:l=0,...c}=e,{selectedIndex:u,tabs:d,panels:f}=W("Tab.Panel"),p=$("Tab.Panel"),m=(0,h.useRef)(null),g=(0,_.T)(m,t);(0,j.e)(()=>p.registerPanel(m),[p,m]);let v=L("panels"),b=f.indexOf(m);-1===b&&(b=v);let w=b===u,k=(0,h.useMemo)(()=>({selected:w}),[w]),E={ref:g,id:s,role:"tabpanel","aria-labelledby":null==(r=null==(n=d[b])?void 0:n.current)?void 0:r.id,tabIndex:w?l:-1};return w||null!=(o=c.unmount)&&!o||null!=(i=c.static)&&i?(0,x.sY)({ourProps:E,theirProps:c,slot:k,defaultTag:et,features:en,visible:w,name:"Tabs.Panel"}):h.createElement(C._,{as:"span",...E})}let eo=Object.assign((0,x.yV)(Y),{Group:(0,x.yV)(q),List:(0,x.yV)(K),Panels:(0,x.yV)(ee),Panel:(0,x.yV)(er)});function ei(e){return!!e&&"object"==typeof e&&"label"in e}var ea=Object.assign(function({items:e,selectedIndex:t,defaultIndex:n=0,onChange:r,children:o,storageKey:i}){let[l,c]=(0,h.useState)(n);(0,h.useEffect)(()=>{void 0!==t&&c(t)},[t]),(0,h.useEffect)(()=>{if(!i)return;function e(e){e.key===i&&c(Number(e.newValue))}let t=Number(localStorage.getItem(i));return c(Number.isNaN(t)?0:t),window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}},[]);let u=(0,h.useCallback)(e=>{if(i){let t=String(e);localStorage.setItem(i,t),window.dispatchEvent(new StorageEvent("storage",{key:i,newValue:t}));return}c(e),r?.(e)},[]);return(0,s.jsxs)(eo.Group,{selectedIndex:l,defaultIndex:n,onChange:u,children:[(0,s.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,s.jsx)(eo.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:e.map((e,t)=>{let n=ei(e)&&e.disabled;return(0,s.jsx)(eo,{disabled:n,className:({selected:e})=>(0,a.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",e?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",n&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:ei(e)?e.label:e},t)})})}),(0,s.jsx)(eo.Panels,{children:o})]})},{displayName:"Tabs",Tab:function({children:e,...t}){return(0,s.jsx)(eo.Panel,{...t,className:"nx-rounded nx-pt-6",children:e})}}),es=({className:e="",...t})=>(0,s.jsx)("td",{className:(0,a.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",e),...t}),el=({className:e="",...t})=>(0,s.jsx)("table",{className:(0,a.Z)("nx-block nx-overflow-x-scroll",e),...t}),ec=({className:e="",...t})=>(0,s.jsx)("th",{className:(0,a.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",e),...t}),eu=({className:e="",...t})=>(0,s.jsx)("tr",{className:(0,a.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",e),...t}),ed=n(44729),ef=n.n(ed),eh={cards:(0,a.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,a.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,a.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},ep=(0,s.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:e,num:t=3,className:n,style:r,...o}){return(0,s.jsx)("div",{className:(0,a.Z)(eh.cards,n),...o,style:{...r,"--rows":t},children:e})},{displayName:"Cards",Card:function({children:e,title:t,icon:n,image:r,arrow:o,href:i,...l}){let c=o?ep:null;return r?(0,s.jsxs)(ef(),{href:i,className:(0,a.Z)(eh.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...l,children:[e,(0,s.jsxs)("span",{className:(0,a.Z)(eh.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[n,(0,s.jsxs)("span",{className:"nx-flex nx-gap-1",children:[t,c]})]})]}):(0,s.jsx)(ef(),{href:i,className:(0,a.Z)(eh.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...l,children:(0,s.jsxs)("span",{className:(0,a.Z)(eh.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[n,t,c]})})}});var em=(0,h.createContext)(0);function eg(){return(0,h.useContext)(em)}function ev({children:e}){return(0,s.jsx)("div",{className:(0,a.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,s.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:e})})}function ex(){let e=eg();return(0,s.jsx)(s.Fragment,{children:Array.from({length:e},(e,t)=>(0,s.jsx)("span",{className:"nx-w-5"},t))})}var ey=(0,h.memo)(({label:e,name:t,open:n,children:r,defaultOpen:o=!1,onToggle:i})=>{let a=eg(),[l,c]=(0,h.useState)(o),u=(0,h.useCallback)(()=>{i?.(!l),c(!l)},[l,i]),d=void 0===n?l:n;return(0,s.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,s.jsxs)("button",{onClick:u,title:t,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,s.jsx)(ex,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:d?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]}),d&&(0,s.jsx)("ul",{children:(0,s.jsx)(em.Provider,{value:a+1,children:r})})]})});ey.displayName="Folder";var eb=(0,h.memo)(({label:e,name:t,active:n})=>(0,s.jsx)("li",{className:(0,a.Z)("nx-flex nx-list-none",n&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,s.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,s.jsx)(ex,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]})}));eb.displayName="File",Object.assign(ev,{Folder:ey,File:eb})},6642:function(e,t,n){"use strict";n.d(t,{LZ:function(){return o},nQ:function(){return i},TI:function(){return a},D7:function(){return s},Qq:function(){return l},fy:function(){return c},n9:function(){return u},AV:function(){return d},Oq:function(){return f},kL:function(){return h},L4:function(){return p},NW:function(){return m},NK:function(){return g},b0:function(){return v}});var r=n(52676);function o({pathClassName:e,...t}){return(0,r.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...t,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:e})})}function i(e){return(0,r.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function a(e){return(0,r.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...e,children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...e,children:[(0,r.jsx)("title",{children:"Discord"}),(0,r.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function l({isOpen:e,...t}){return(0,r.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...t,children:[(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:e?"":"nx-origin-[35%] nx-rotate-180"}),(0,r.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function c(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...e,children:[(0,r.jsx)("title",{children:"GitHub"}),(0,r.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function u(e){return(0,r.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function d(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function f(e){return(0,r.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...e,children:[(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function h(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function p(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...e,children:[(0,r.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function m(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function g(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function v(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},53743:function(e,t,n){"use strict";n.d(t,{Z:function(){return s},a:function(){return d}});var r=n(75271);let o=r.createContext({});function i(e){let t=r.useContext(o);return r.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}let a={};function s({components:e,children:t,disableParentContext:n}){let s;return s=n?"function"==typeof e?e({}):e||a:i(e),r.createElement(o.Provider,{value:s},t)}var l=n(75442),c=n.n(l),u={img:e=>(0,r.createElement)("object"==typeof e.src?c():"img",e)},d=e=>i({...u,...e})},85182:function(e,t,n){"use strict";var r=n(6097);function o(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var n=new URL(e);t.protocols=r(n),t.protocol=t.protocols[0],t.port=n.port,t.resource=n.hostname,t.host=n.host,t.user=n.username||"",t.password=n.password||"",t.pathname=n.pathname,t.hash=n.hash.slice(1),t.search=n.search.slice(1),t.href=n.href,t.query=Object.fromEntries(n.searchParams)}catch(n){t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}e.exports=o},78593:function(e,t,n){"use strict";var r=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(n(85182));let o="text/plain",i="us-ascii",a=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),s=(e,{stripHash:t})=>{let n=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:a,hash:s}=n.groups,l=r.split(";");s=t?"":s;let c=!1;"base64"===l[l.length-1]&&(l.pop(),c=!0);let u=(l.shift()||"").toLowerCase(),d=[...l.map(e=>{let[t,n=""]=e.split("=").map(e=>e.trim());return"charset"===t&&(n=n.toLowerCase())===i?"":`${t}${n?`=${n}`:""}`}).filter(Boolean)];return c&&d.push("base64"),(d.length>0||u&&u!==o)&&d.unshift(u),`data:${d.join(";")},${c?a.trim():a}${s?`#${s}`:""}`};function l(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return s(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let r=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===r.protocol&&(r.protocol="http:"),t.forceHttps&&"http:"===r.protocol&&(r.protocol="https:"),t.stripAuthentication&&(r.username="",r.password=""),t.stripHash?r.hash="":t.stripTextFragment&&(r.hash=r.hash.replace(/#?:~:text.*?$/i,"")),r.pathname){let e=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,t=0,n="";for(;;){let o=e.exec(r.pathname);if(!o)break;let i=o[0],a=o.index;n+=r.pathname.slice(t,a).replace(/\/{2,}/g,"/")+i,t=a+i.length}n+=r.pathname.slice(t,r.pathname.length).replace(/\/{2,}/g,"/"),r.pathname=n}if(r.pathname)try{r.pathname=decodeURI(r.pathname)}catch{}if(!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=r.pathname.split("/");a(e[e.length-1],t.removeDirectoryIndex)&&(e=e.slice(0,-1),r.pathname=e.slice(1).join("/")+"/")}if(r.hostname&&(r.hostname=r.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(r.hostname)&&(r.hostname=r.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let e of[...r.searchParams.keys()])a(e,t.removeQueryParameters)&&r.searchParams.delete(e);if(!0===t.removeQueryParameters&&(r.search=""),t.sortQueryParameters){r.searchParams.sort();try{r.search=decodeURIComponent(r.search)}catch{}}t.removeTrailingSlash&&(r.pathname=r.pathname.replace(/\/$/,""));let o=e;return e=r.toString(),t.removeSingleSlash||"/"!==r.pathname||o.endsWith("/")||""!==r.hash||(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||"/"===r.pathname)&&""===r.hash&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}let c=(e,t=!1)=>{let n=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=t=>{let n=Error(t);throw n.subject_url=e,n};"string"==typeof e&&e.trim()||o("Invalid url."),e.length>c.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&("object"!=typeof t&&(t={stripHash:!1}),e=l(e,t));let i=r.default(e);if(i.parse_failed){let e=i.href.match(n);e?(i.protocols=["ssh"],i.protocol="ssh",i.resource=e[2],i.host=e[2],i.user=e[1],i.pathname=`/${e[3]}`,i.parse_failed=!1):o("URL parsing failed.")}return i};c.MAX_INPUT_LENGTH=2048,e.exports=c},74049:function(e,t,n){"use strict";var r=n(36257);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},40507:function(e,t,n){e.exports=n(74049)()},36257:function(e){"use strict";var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=t},6097:function(e){"use strict";e.exports=function(e,t){!0===t&&(t=0);var n="";if("string"==typeof e)try{n=new URL(e).protocol}catch(e){}else e&&e.constructor===URL&&(n=e.protocol);var r=n.split(/\:|\+/).filter(Boolean);return"number"==typeof t?r[t]:r}},1354:function(e,t,n){"use strict";n.d(t,{ZP:function(){return em}});var r=n(74948),o=n(78405),i=n(80747),a=n(91102),s=n(82187),l=n.n(s),c=n(74194),u=n(47486),d=n(75271),f=d.createContext({}),h=n(11333),p=n(14634),m=n(44085),g=n(34084),v=function(e){(0,m.Z)(n,e);var t=(0,g.Z)(n);function n(){return(0,h.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(d.Component),x=n(94269),y=n(51209),b=n(35677);function w(e){var t=d.useReducer(function(e){return e+1},0),n=(0,i.Z)(t,2)[1],r=d.useRef(e);return[(0,b.Z)(function(){return r.current}),(0,b.Z)(function(e){r.current="function"==typeof e?e(r.current):e,n()})]}var k="none",j="appear",_="enter",E="leave",O="none",S="prepare",C="start",T="active",A="end",R="prepared",N=n(67042);function I(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}var M=function(e,t){var n={animationend:I("Animation","AnimationEnd"),transitionend:I("Transition","TransitionEnd")};return!e||("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}((0,N.Z)(),"undefined"!=typeof window?window:{}),Z={};(0,N.Z)()&&(Z=document.createElement("div").style);var L={};function P(e){if(L[e])return L[e];var t=M[e];if(t)for(var n=Object.keys(t),r=n.length,o=0;o1&&void 0!==arguments[1]?arguments[1]:2;t();var i=(0,U.Z)(function(){o<=1?r({isCanceled:function(){return i!==e.current}}):n(r,o-1)});e.current=i}return d.useEffect(function(){return function(){t()}},[]),[n,t]},q=[S,C,T,A],X=[S,R],K=!1,Q=!0;function Y(e){return e===T||e===A}var J=function(e,t,n){var r=(0,y.Z)(O),o=(0,i.Z)(r,2),a=o[0],s=o[1],l=V(),c=(0,i.Z)(l,2),u=c[0],f=c[1];function h(){s(S,!0)}var p=t?X:q;return $(function(){if(a!==O&&a!==A){var e=p.indexOf(a),t=p[e+1],r=n(a);r===K?s(t,!0):t&&u(function(e){function n(){e.isCanceled()||s(t,!0)}!0===r?n():Promise.resolve(r).then(n)})}},[e,a]),d.useEffect(function(){return function(){f()}},[]),[h,a]};function ee(e,t,n,a){var s=a.motionEnter,l=void 0===s||s,c=a.motionAppear,u=void 0===c||c,f=a.motionLeave,h=void 0===f||f,p=a.motionDeadline,m=a.motionLeaveImmediately,g=a.onAppearPrepare,v=a.onEnterPrepare,b=a.onLeavePrepare,O=a.onAppearStart,A=a.onEnterStart,N=a.onLeaveStart,I=a.onAppearActive,M=a.onEnterActive,Z=a.onLeaveActive,L=a.onAppearEnd,P=a.onEnterEnd,D=a.onLeaveEnd,z=a.onVisibleChanged,F=(0,y.Z)(),H=(0,i.Z)(F,2),B=H[0],W=H[1],U=w(k),V=(0,i.Z)(U,2),q=V[0],X=V[1],ee=(0,y.Z)(null),et=(0,i.Z)(ee,2),en=et[0],er=et[1],eo=q(),ei=(0,d.useRef)(!1),ea=(0,d.useRef)(null);function es(){return n()}var el=(0,d.useRef)(!1);function ec(){X(k),er(null,!0)}var eu=(0,x.zX)(function(e){var t,n=q();if(n!==k){var r=es();if(!e||e.deadline||e.target===r){var o=el.current;n===j&&o?t=null==L?void 0:L(r,e):n===_&&o?t=null==P?void 0:P(r,e):n===E&&o&&(t=null==D?void 0:D(r,e)),o&&!1!==t&&ec()}}}),ed=G(eu),ef=(0,i.Z)(ed,1)[0],eh=function(e){switch(e){case j:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,g),C,O),T,I);case _:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,v),C,A),T,M);case E:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,b),C,N),T,Z);default:return{}}},ep=d.useMemo(function(){return eh(eo)},[eo]),em=J(eo,!e,function(e){if(e===S){var t,n=ep[S];return n?n(es()):K}return ex in ep&&er((null===(t=ep[ex])||void 0===t?void 0:t.call(ep,es(),null))||null),ex===T&&eo!==k&&(ef(es()),p>0&&(clearTimeout(ea.current),ea.current=setTimeout(function(){eu({deadline:!0})},p))),ex===R&&ec(),Q}),eg=(0,i.Z)(em,2),ev=eg[0],ex=eg[1],ey=Y(ex);el.current=ey,$(function(){W(t);var n,r=ei.current;ei.current=!0,!r&&t&&u&&(n=j),r&&t&&l&&(n=_),(r&&!t&&h||!r&&m&&!t&&h)&&(n=E);var o=eh(n);n&&(e||o[S])?(X(n),ev()):X(k)},[t]),(0,d.useEffect)(function(){(eo!==j||u)&&(eo!==_||l)&&(eo!==E||h)||X(k)},[u,l,h]),(0,d.useEffect)(function(){return function(){ei.current=!1,clearTimeout(ea.current)}},[]);var eb=d.useRef(!1);(0,d.useEffect)(function(){B&&(eb.current=!0),void 0!==B&&eo===k&&((eb.current||B)&&(null==z||z(B)),eb.current=!0)},[B,eo]);var ew=en;return ep[S]&&ex===C&&(ew=(0,o.Z)({transition:"none"},ew)),[eo,ex,ew,null!=B?B:t]}var et=function(e){var t=e;function n(e,n){return!!(e.motionName&&t&&!1!==n)}"object"===(0,a.Z)(e)&&(t=e.transitionSupport);var s=d.forwardRef(function(e,t){var a=e.visible,s=void 0===a||a,h=e.removeOnLeave,p=void 0===h||h,m=e.forceRender,g=e.children,x=e.motionName,y=e.leavedClassName,b=e.eventProps,w=n(e,d.useContext(f).motion),j=(0,d.useRef)(),_=(0,d.useRef)(),E=ee(w,s,function(){try{return j.current instanceof HTMLElement?j.current:(0,c.ZP)(_.current)}catch(e){return null}},e),O=(0,i.Z)(E,4),T=O[0],A=O[1],R=O[2],N=O[3],I=d.useRef(N);N&&(I.current=!0);var M=d.useCallback(function(e){j.current=e,(0,u.mH)(t,e)},[t]),Z=(0,o.Z)((0,o.Z)({},b),{},{visible:s});if(g){if(T===k)L=N?g((0,o.Z)({},Z),M):!p&&I.current&&y?g((0,o.Z)((0,o.Z)({},Z),{},{className:y}),M):!m&&(p||y)?null:g((0,o.Z)((0,o.Z)({},Z),{},{style:{display:"none"}}),M);else{A===S?P="prepare":Y(A)?P="active":A===C&&(P="start");var L,P,D=W(x,"".concat(T,"-").concat(P));L=g((0,o.Z)((0,o.Z)({},Z),{},{className:l()(W(x,T),(0,r.Z)((0,r.Z)({},D,D&&P),x,"string"==typeof x)),style:R}),M)}}else L=null;return d.isValidElement(L)&&(0,u.Yr)(L)&&!L.ref&&(L=d.cloneElement(L,{ref:M})),d.createElement(v,{ref:_},L)});return s.displayName="CSSMotion",s}(F),en=n(59849),er=n(97808),eo=n(22220),ei="add",ea="keep",es="remove",el="removed";function ec(e){var t;return t=e&&"object"===(0,a.Z)(e)&&"key"in e?e:{key:e},(0,o.Z)((0,o.Z)({},t),{},{key:String(t.key)})}function eu(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(ec)}function ed(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=0,i=t.length,a=eu(e),s=eu(t);a.forEach(function(e){for(var t=!1,a=r;a1}).forEach(function(e){(n=n.filter(function(t){var n=t.key,r=t.status;return n!==e||r!==es})).forEach(function(t){t.key===e&&(t.status=ea)})}),n}var ef=["component","children","onVisibleChanged","onAllRemoved"],eh=["status"],ep=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:et,n=function(e){(0,m.Z)(i,e);var n=(0,g.Z)(i);function i(){var e;(0,h.Z)(this,i);for(var t=arguments.length,a=Array(t),s=0;s1&&void 0!==arguments[1]?arguments[1]:{},n=[];return r.Children.forEach(e,function(e){(null!=e||t.keepEmpty)&&(Array.isArray(e)?n=n.concat(i(e)):(0,o.isFragment)(e)&&e.props?n=n.concat(i(e.props.children,t)):n.push(e))}),n}},67042:function(e,t,n){"use strict";function r(){return!!("undefined"!=typeof window&&window.document&&window.document.createElement)}n.d(t,{Z:function(){return r}})},84041:function(e,t,n){"use strict";n.d(t,{jL:function(){return g},hq:function(){return x}});var r=n(78405),o=n(67042);function i(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var a="data-rc-order",s="data-rc-priority",l="rc-util-key",c=new Map;function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):l}function d(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function f(e){return"queue"===e?"prependQueue":e?"prepend":"append"}function h(e){return Array.from((c.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,o.Z)())return null;var n=t.csp,r=t.prepend,i=t.priority,l=void 0===i?0:i,c=f(r),u="prependQueue"===c,p=document.createElement("style");p.setAttribute(a,c),u&&l&&p.setAttribute(s,"".concat(l)),null!=n&&n.nonce&&(p.nonce=null==n?void 0:n.nonce),p.innerHTML=e;var m=d(t),g=m.firstChild;if(r){if(u){var v=(t.styles||h(m)).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute(a))&&l>=Number(e.getAttribute(s)||0)});if(v.length)return m.insertBefore(p,v[v.length-1].nextSibling),p}m.insertBefore(p,g)}else m.appendChild(p);return p}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=d(t);return(t.styles||h(n)).find(function(n){return n.getAttribute(u(t))===e})}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=m(e,t);n&&d(t).removeChild(n)}function v(e,t){var n=c.get(e);if(!n||!i(document,n)){var r=p("",t),o=r.parentNode;c.set(e,o),e.removeChild(r)}}function x(e,t){var n,o,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=d(a),l=h(s),c=(0,r.Z)((0,r.Z)({},a),{},{styles:l});v(s,c);var f=m(t,c);if(f)return null!==(n=c.csp)&&void 0!==n&&n.nonce&&f.nonce!==(null===(o=c.csp)||void 0===o?void 0:o.nonce)&&(f.nonce=null===(i=c.csp)||void 0===i?void 0:i.nonce),f.innerHTML!==e&&(f.innerHTML=e),f;var g=p(e,c);return g.setAttribute(u(c),t),g}},74194:function(e,t,n){"use strict";n.d(t,{Sh:function(){return a},ZP:function(){return l}});var r=n(91102),o=n(75271),i=n(30967);function a(e){return e instanceof HTMLElement||e instanceof SVGElement}function s(e){return e&&"object"===(0,r.Z)(e)&&a(e.nativeElement)?e.nativeElement:a(e)?e:null}function l(e){var t;return s(e)||(e instanceof o.Component?null===(t=i.findDOMNode)||void 0===t?void 0:t.call(i,e):null)}},73188:function(e,t){"use strict";t.Z=function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e.getBoundingClientRect){var o=e.getBoundingClientRect(),i=o.width,a=o.height;if(i||a)return!0}}return!1}},35677:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(75271);function o(e){var t=r.useRef();return t.current=e,r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o2&&void 0!==arguments[2]&&arguments[2],i=new Set;function a(e,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,l=i.has(e);if((0,o.ZP)(!l,"Warning: There may be circular references"),l)return!1;if(e===t)return!0;if(n&&s>1)return!1;i.add(e);var c=s+1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:1,r=o+=1;function s(t){if(0===t)a(r),e();else{var o=n(function(){s(t-1)});i.set(r,o)}}return s(t),r};s.cancel=function(e){var t=i.get(e);return a(e),r(t)},t.Z=s},47486:function(e,t,n){"use strict";n.d(t,{Yr:function(){return u},mH:function(){return s},sQ:function(){return l},x1:function(){return c}});var r=n(91102),o=n(75271),i=n(61357),a=n(9839),s=function(e,t){"function"==typeof e?e(t):"object"===(0,r.Z)(e)&&e&&"current"in e&&(e.current=t)},l=function(){for(var e=arguments.length,t=Array(e),n=0;n3&&void 0!==arguments[3]&&arguments[3];return t.length&&r&&void 0===n&&!(0,d.Z)(e,t.slice(0,-1))?e:f(e,t,n,r)}function p(e){return"object"===(0,r.Z)(e)&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}function m(e){return Array.isArray(e)?[]:{}}var g="undefined"==typeof Reflect?Object.keys:Reflect.ownKeys;function v(){for(var e=arguments.length,t=Array(e),n=0;n{let n=an().navigation,r="boolean"==typeof n?{prev:n,next:n}:n,o=r.prev&&e[t-1],i=r.next&&e[t+1];return(o&&!o.isUnderCurrentDocsTree&&(o=!1),i&&!i.isUnderCurrentDocsTree&&(i=!1),o||i)?(0,w.jsxs)("div",{className:(0,_.Z)("nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800","contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400","print:nx-hidden"),children:[o&&(0,w.jsxs)(al,{href:o.route,title:o.title,className:(0,_.Z)(aR.link,"ltr:nx-pr-4 rtl:nx-pl-4"),children:[(0,w.jsx)(A.LZ,{className:(0,_.Z)(aR.icon,"ltr:nx-rotate-180")}),o.title]}),i&&(0,w.jsxs)(al,{href:i.route,title:i.title,className:(0,_.Z)(aR.link,"ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left"),children:[i.title,(0,w.jsx)(A.LZ,{className:(0,_.Z)(aR.icon,"rtl:nx-rotate-180")})]})]}):null},aI={link:(0,_.Z)("nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100"),active:(0,_.Z)("nx-font-medium nx-subpixel-antialiased"),inactive:(0,_.Z)("nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200")};function aM({className:e,menu:t,children:n}){let{items:r}=t,o=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));return(0,w.jsx)("div",{className:"nx-relative nx-inline-block",children:(0,w.jsxs)(ip,{children:[(0,w.jsx)(ip.Button,{className:(0,_.Z)(e,"-nx-ml-2 nx-hidden nx-items-center nx-whitespace-nowrap nx-rounded nx-p-2 md:nx-inline-flex",aI.inactive),children:n}),(0,w.jsx)(r3,{leave:"nx-transition-opacity",leaveFrom:"nx-opacity-100",leaveTo:"nx-opacity-0",children:(0,w.jsx)(ip.Items,{className:"nx-absolute nx-right-0 nx-z-20 nx-mt-1 nx-max-h-64 nx-min-w-full nx-overflow-auto nx-rounded-md nx-ring-1 nx-ring-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-ring-white/20 dark:nx-bg-neutral-800",children:Object.entries(r||{}).map(([e,n])=>{var r;return(0,w.jsx)(ip.Item,{children:(0,w.jsx)(al,{href:n.href||(null==(r=o[e])?void 0:r.route)||t.route+"/"+e,className:(0,_.Z)("nx-relative nx-hidden nx-w-full nx-select-none nx-whitespace-nowrap nx-text-gray-600 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100 md:nx-inline-block","nx-py-1.5 nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9"),newWindow:n.newWindow,children:n.title||e})},e)})})})]})})}function aZ({flatDirectories:e,items:t}){let n=an(),r=C(),{menu:o,setMenu:i}=i9();return(0,w.jsxs)("div",{className:"nextra-nav-container nx-sticky nx-top-0 nx-z-20 nx-w-full nx-bg-transparent print:nx-hidden",children:[(0,w.jsx)("div",{className:(0,_.Z)("nextra-nav-container-blur","nx-pointer-events-none nx-absolute nx-z-[-1] nx-h-full nx-w-full nx-bg-white dark:nx-bg-dark","nx-shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] dark:nx-shadow-[0_-1px_0_rgba(255,255,255,.1)_inset]","contrast-more:nx-shadow-[0_0_0_1px_#000] contrast-more:dark:nx-shadow-[0_0_0_1px_#fff]")}),(0,w.jsxs)("nav",{className:"nx-mx-auto nx-flex nx-h-[var(--nextra-navbar-height)] nx-max-w-[90rem] nx-items-center nx-justify-end nx-gap-2 nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]",children:[n.logoLink?(0,w.jsx)(al,{href:"string"==typeof n.logoLink?n.logoLink:"/",className:"nx-flex nx-items-center hover:nx-opacity-75 ltr:nx-mr-auto rtl:nx-ml-auto",children:au(n.logo)}):(0,w.jsx)("div",{className:"nx-flex nx-items-center ltr:nx-mr-auto rtl:nx-ml-auto",children:au(n.logo)}),t.map(e=>{if("hidden"===e.display)return null;if("menu"===e.type){let t=e;return(0,w.jsxs)(aM,{className:(0,_.Z)(aI.link,"nx-flex nx-gap-1",aI.inactive),menu:t,children:[t.title,(0,w.jsx)(A.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5",pathClassName:"nx-origin-center nx-transition-transform nx-rotate-90"})]},t.title)}let t=e,n=t.href||t.route||"#";t.children&&(n=(t.withIndexPage?t.route:t.firstChildRoute)||n);let o=t.route===r||r.startsWith(t.route+"/");return(0,w.jsxs)(al,{href:n,className:(0,_.Z)(aI.link,"nx-relative -nx-ml-2 nx-hidden nx-whitespace-nowrap nx-p-2 md:nx-inline-block",!o||t.newWindow?aI.inactive:aI.active),newWindow:t.newWindow,"aria-current":!t.newWindow&&o,children:[(0,w.jsx)("span",{className:"nx-absolute nx-inset-x-0 nx-text-center",children:t.title}),(0,w.jsx)("span",{className:"nx-invisible nx-font-medium",children:t.title})]},n)}),au(n.search.component,{directories:e,className:"nx-hidden md:nx-inline-block mx-min-w-[200px]"}),n.project.link?(0,w.jsx)(al,{className:"nx-p-2 nx-text-current",href:n.project.link,newWindow:!0,children:au(n.project.icon)}):null,n.chat.link?(0,w.jsx)(al,{className:"nx-p-2 nx-text-current",href:n.chat.link,newWindow:!0,children:au(n.chat.icon)}):null,au(n.navbar.extraContent),(0,w.jsx)("button",{type:"button","aria-label":"Menu",className:"nextra-hamburger -nx-mr-2 nx-rounded nx-p-2 active:nx-bg-gray-400/20 md:nx-hidden",onClick:()=>i(!o),children:(0,w.jsx)(A.Oq,{className:(0,_.Z)({open:o})})})]})]})}var aL=Object.create(null),aP=(0,j.createContext)(null),aD=(0,j.createContext)(null),az=(0,j.createContext)(0),aF=(0,j.memo)(function(e){let t=(0,j.useContext)(az);return(0,w.jsx)(az.Provider,{value:t+1,children:(0,w.jsx)(aB,iq({},e))})}),aH={link:(0,_.Z)("nx-flex nx-rounded nx-px-2 nx-py-1.5 nx-text-sm nx-transition-colors [word-break:break-word]","nx-cursor-pointer [-webkit-tap-highlight-color:transparent] [-webkit-touch-callout:none] contrast-more:nx-border"),inactive:(0,_.Z)("nx-text-gray-500 hover:nx-bg-gray-100 hover:nx-text-gray-900","dark:nx-text-neutral-400 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50","contrast-more:nx-text-gray-900 contrast-more:dark:nx-text-gray-50","contrast-more:nx-border-transparent contrast-more:hover:nx-border-gray-900 contrast-more:dark:hover:nx-border-gray-50"),active:(0,_.Z)("nx-bg-primary-100 nx-font-semibold nx-text-primary-800 dark:nx-bg-primary-400/10 dark:nx-text-primary-600","contrast-more:nx-border-primary-500 contrast-more:dark:nx-border-primary-500"),list:(0,_.Z)("nx-flex nx-flex-col nx-gap-1"),border:(0,_.Z)("nx-relative before:nx-absolute before:nx-inset-y-1",'before:nx-w-px before:nx-bg-gray-200 before:nx-content-[""] dark:before:nx-bg-neutral-800',"ltr:nx-pl-3 ltr:before:nx-left-0 rtl:nx-pr-3 rtl:before:nx-right-0")};function aB({item:e,anchors:t}){let[n]=C().split("#"),r=[n,n+"/"].includes(e.route+"/"),o=r||n.startsWith(e.route+"/"),i=(0,j.useContext)(aP),a=!!(null==i?void 0:i.startsWith(e.route+"/")),s=(0,j.useContext)(az),{setMenu:l}=i9(),c=an(),{theme:u}=e,d=void 0===aL[e.route]?r||o||a||(u&&"collapsed"in u?!u.collapsed:s{let t=()=>{(o||a)&&(aL[e.route]=!0)},n=()=>{o&&a?aL[e.route]=!0:delete aL[e.route]};c.sidebar.autoCollapse?n():t()},[o,a,e.route,c.sidebar.autoCollapse]),"menu"===e.type){let t=e,n=Object.fromEntries((t.children||[]).map(e=>[e.name,e]));e.children=Object.entries(t.items||{}).map(([e,r])=>{let o=n[e]||iX(iq({name:e},"locale"in t&&{locale:t.locale}),{route:t.route+"/"+e});return iq(iq({},o),r)})}let h="withIndexPage"in e&&e.withIndexPage,p=h?al:"button";return(0,w.jsxs)("li",{className:(0,_.Z)({open:d,active:r}),children:[(0,w.jsxs)(p,{href:h?e.route:void 0,className:(0,_.Z)("nx-items-center nx-justify-between nx-gap-2",!h&&"nx-text-left nx-w-full",aH.link,r?aH.active:aH.inactive),onClick:t=>{let n=["svg","path"].includes(t.target.tagName.toLowerCase());if(n&&t.preventDefault(),h){r||n?aL[e.route]=!d:(aL[e.route]=!0,l(!1)),f({});return}r||(aL[e.route]=!d,f({}))},children:[au(c.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route}),(0,w.jsx)(A.LZ,{className:"nx-h-[18px] nx-min-w-[18px] nx-rounded-sm nx-p-0.5 hover:nx-bg-gray-800/5 dark:hover:nx-bg-gray-100/5",pathClassName:(0,_.Z)("nx-origin-center nx-transition-transform rtl:-nx-rotate-180",d&&"ltr:nx-rotate-90 rtl:nx-rotate-[-270deg]")})]}),(0,w.jsx)(ag,{className:"ltr:nx-pr-0 rtl:nx-pl-0 nx-pt-1",isOpen:d,children:Array.isArray(e.children)?(0,w.jsx)(a$,{className:(0,_.Z)(aH.border,"ltr:nx-ml-3 rtl:nx-mr-3"),directories:e.children,base:e.route,anchors:t}):null})]})}function aW({title:e}){let t=an();return(0,w.jsx)("li",{className:(0,_.Z)("[word-break:break-word]",e?"nx-mt-5 nx-mb-2 nx-px-2 nx-py-1.5 nx-text-sm nx-font-semibold nx-text-gray-900 first:nx-mt-0 dark:nx-text-gray-100":"nx-my-4"),children:e?au(t.sidebar.titleComponent,{title:e,type:"separator",route:""}):(0,w.jsx)("hr",{className:"nx-mx-2 nx-border-t nx-border-gray-200 dark:nx-border-primary-100/10"})})}function aG({item:e,anchors:t}){let n=C(),r=(0,j.useContext)(aD),o=e.route&&[n,n+"/"].includes(e.route+"/"),i=i4(),{setMenu:a}=i9(),s=an();return"separator"===e.type?(0,w.jsx)(aW,{title:e.title}):(0,w.jsxs)("li",{className:(0,_.Z)(aH.list,{active:o}),children:[(0,w.jsx)(al,{href:e.href||e.route,newWindow:e.newWindow,className:(0,_.Z)(aH.link,o?aH.active:aH.inactive),onClick:()=>{a(!1)},onFocus:()=>{null==r||r(e.route)},onBlur:()=>{null==r||r(null)},children:au(s.sidebar.titleComponent,{title:e.title,type:e.type,route:e.route})}),o&&t.length>0&&(0,w.jsx)("ul",{className:(0,_.Z)(aH.list,aH.border,"ltr:nx-ml-3 rtl:nx-mr-3"),children:t.map(({id:e,value:t})=>{var n;return(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:`#${e}`,className:(0,_.Z)(aH.link,'nx-flex nx-gap-2 before:nx-opacity-25 before:nx-content-["#"]',(null==(n=i[e])?void 0:n.isActive)?aH.active:aH.inactive),onClick:()=>{a(!1)},children:t})},e)})})]})}function a$({directories:e,anchors:t,className:n,onlyCurrentDocs:r}){return(0,w.jsx)("ul",{className:(0,_.Z)(aH.list,n),children:e.map(e=>!r||e.isUnderCurrentDocsTree?"menu"===e.type||e.children&&(e.children.length||!e.withIndexPage)?(0,w.jsx)(aF,{item:e,anchors:t},e.name):(0,w.jsx)(aG,{item:e,anchors:t},e.name):null)})}function aU({docsDirectories:e,flatDirectories:t,fullDirectories:n,asPopover:r=!1,headings:o,includePlaceholder:i}){let a=an(),{menu:s,setMenu:l}=i9(),c=(0,k.useRouter)(),[u,d]=(0,j.useState)(null),[f,h]=(0,j.useState)(!0),[p,m]=(0,j.useState)(!1),g=(0,j.useMemo)(()=>o.filter(e=>2===e.depth),[o]),v=(0,j.useRef)(null),x=(0,j.useRef)(null),y=E();(0,j.useEffect)(()=>{s?document.body.classList.add("nx-overflow-hidden","md:nx-overflow-auto"):document.body.classList.remove("nx-overflow-hidden","md:nx-overflow-auto")},[s]),(0,j.useEffect)(()=>{var e;let t=null==(e=v.current)?void 0:e.querySelector("li.active");if(t&&(window.innerWidth>767||s)){let e=()=>{ik(t,{block:"center",inline:"center",scrollMode:"always",boundary:x.current})};s?setTimeout(e,300):e()}},[s]),(0,j.useEffect)(()=>{l(!1)},[c.asPath,l]);let b=a.i18n.length>0,O=a.darkMode||b||a.sidebar.toggleButton;return(0,w.jsxs)(w.Fragment,{children:[i&&r?(0,w.jsx)("div",{className:"max-xl:nx-hidden nx-h-0 nx-w-64 nx-shrink-0"}):null,(0,w.jsx)("div",{className:(0,_.Z)("motion-reduce:nx-transition-none [transition:background-color_1.5s_ease]",s?"nx-fixed nx-inset-0 nx-z-10 nx-bg-black/80 dark:nx-bg-black/60":"nx-bg-transparent"),onClick:()=>l(!1)}),(0,w.jsxs)("aside",{className:(0,_.Z)("nextra-sidebar-container nx-flex nx-flex-col","md:nx-top-16 md:nx-shrink-0 motion-reduce:nx-transform-none","nx-transform-gpu nx-transition-all nx-ease-in-out","print:nx-hidden",f?"md:nx-w-64":"md:nx-w-20",r?"md:nx-hidden":"md:nx-sticky md:nx-self-start",s?"max-md:[transform:translate3d(0,0,0)]":"max-md:[transform:translate3d(0,-100%,0)]"),ref:x,children:[(0,w.jsx)("div",{className:"nx-px-4 nx-pt-4 md:nx-hidden",children:au(a.search.component,{directories:t})}),(0,w.jsx)(aP.Provider,{value:u,children:(0,w.jsx)(aD.Provider,{value:e=>{d(e)},children:(0,w.jsxs)("div",{className:(0,_.Z)("nx-overflow-y-auto nx-overflow-x-hidden","nx-p-4 nx-grow md:nx-h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))]",f?"nextra-scrollbar":"no-scrollbar"),ref:v,children:[(!r||!f)&&(0,w.jsx)(ag,{isOpen:f,horizontal:!0,children:(0,w.jsx)(a$,{className:"nextra-menu-desktop max-md:nx-hidden",directories:e,anchors:a.toc.float?[]:g,onlyCurrentDocs:!0})}),y&&window.innerWidth<768&&(0,w.jsx)(a$,{className:"nextra-menu-mobile md:nx-hidden",directories:n,anchors:g})]})})}),O&&(0,w.jsxs)("div",{className:(0,_.Z)("nx-sticky nx-bottom-0","nx-bg-white dark:nx-bg-dark","nx-mx-4 nx-py-4 nx-shadow-[0_-12px_16px_#fff]","nx-flex nx-items-center nx-gap-2","dark:nx-border-neutral-800 dark:nx-shadow-[0_-12px_16px_#111]","contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-shadow-none",f?(0,_.Z)(b&&"nx-justify-end","nx-border-t"):"nx-py-4 nx-flex-wrap nx-justify-center"),"data-toggle-animation":p?f?"show":"hide":"off",children:[(0,w.jsx)(aC,{lite:!f,className:(0,_.Z)(f?"nx-grow":"max-md:nx-grow")}),a.darkMode&&(0,w.jsx)("div",{className:f&&!b?"nx-grow nx-flex nx-flex-col":"",children:au(a.themeSwitch.component,{lite:!f||b})}),a.sidebar.toggleButton&&(0,w.jsx)("button",{title:f?"Hide sidebar":"Show sidebar",className:"max-md:nx-hidden nx-h-7 nx-rounded-md nx-transition-colors nx-text-gray-600 dark:nx-text-gray-400 nx-px-2 hover:nx-bg-gray-100 hover:nx-text-gray-900 dark:hover:nx-bg-primary-100/5 dark:hover:nx-text-gray-50",onClick:()=>{h(!f),m(!0)},children:(0,w.jsx)(A.Qq,{isOpen:f})})]})]})]})}var aV="reach-skip-nav",aq="Skip to content";(0,j.forwardRef)(function(e,t){var n=e,{className:r,id:o,label:i=aq,styled:a}=n,s=iK(n,["className","id","label","styled"]);let l=void 0===r?a?(0,_.Z)("nx-sr-only","focus:nx-not-sr-only focus:nx-fixed focus:nx-z-50 focus:nx-m-3 focus:nx-ml-4 focus:nx-h-[calc(var(--nextra-navbar-height)-1.5rem)] focus:nx-rounded-lg focus:nx-border focus:nx-px-3 focus:nx-py-2 focus:nx-align-middle focus:nx-text-sm focus:nx-font-bold","focus:nx-text-gray-900 focus:dark:nx-text-gray-100","focus:nx-bg-white focus:dark:nx-bg-neutral-900","focus:nx-border-neutral-400 focus:dark:nx-border-neutral-800"):"":r;return(0,w.jsx)("a",iX(iq({},s),{ref:t,href:`#${o||aV}`,className:l,"data-reach-skip-link":"",children:i}))}).displayName="SkipNavLink";var aX=(0,j.forwardRef)(function(e,t){var n=e,{id:r}=n,o=iK(n,["id"]);return(0,w.jsx)("div",iX(iq({},o),{ref:t,id:r||aV}))});aX.displayName="SkipNavContent";var aK=tA.strictObject({light:tA.string(),dark:tA.string(),system:tA.string()});function aQ({lite:e,className:t}){let{setTheme:n,resolvedTheme:r,theme:o=""}=tz(),i=E(),a=an().themeSwitch,s=i&&"dark"===r?A.kL:A.NW,l="function"==typeof a.useOptions?a.useOptions():a.useOptions;return(0,w.jsx)(aO,{className:t,title:"Change theme",options:[{key:"light",name:l.light},{key:"dark",name:l.dark},{key:"system",name:l.system}],onChange:e=>{n(e.key)},selected:{key:o,name:(0,w.jsxs)("div",{className:"nx-flex nx-items-center nx-gap-2 nx-capitalize",children:[(0,w.jsx)(s,{}),(0,w.jsx)("span",{className:e?"md:nx-hidden":"",children:i?l[o]:l.light})]})}})}function aY(){window.scrollTo({top:0,behavior:"smooth"})}function aJ({className:e}){let t=(0,j.useRef)(null);return(0,j.useEffect)(()=>{function e(){var e;let{scrollTop:n}=document.documentElement;null==(e=t.current)||e.classList.toggle("nx-opacity-0",n<300)}return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),(0,w.jsxs)("button",{ref:t,"aria-hidden":"true",onClick:aY,className:(0,_.Z)("nx-flex nx-items-center nx-gap-1.5 nx-transition nx-opacity-0",e),children:["Scroll to top",(0,w.jsx)(A.LZ,{className:"-nx-rotate-90 nx-w-3.5 nx-h-3.5 nx-border nx-rounded-full nx-border-current"})]})}var a0=(0,_.Z)("nx-text-xs nx-font-medium nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-100","contrast-more:nx-text-gray-800 contrast-more:dark:nx-text-gray-50");function a1({headings:e,filePath:t}){var n;let r=i4(),o=an(),i=(0,j.useRef)(null),a=(0,j.useMemo)(()=>e.filter(e=>e.depth>1),[e]),s=a.length>0,l=!!(o.feedback.content||o.editLink.component||o.toc.extraContent),c=null==(n=Object.entries(r).find(([,{isActive:e}])=>e))?void 0:n[0];return(0,j.useEffect)(()=>{var e;if(!c)return;let t=null==(e=i.current)?void 0:e.querySelector(`li > a[href="#${c}"]`);t&&ik(t,{behavior:"smooth",block:"center",inline:"center",scrollMode:"always",boundary:i.current})},[c]),(0,w.jsxs)("div",{ref:i,className:(0,_.Z)("nextra-scrollbar nx-sticky nx-top-16 nx-overflow-y-auto nx-pr-4 nx-pt-6 nx-text-sm [hyphens:auto]","nx-max-h-[calc(100vh-var(--nextra-navbar-height)-env(safe-area-inset-bottom))] ltr:-nx-mr-4 rtl:-nx-ml-4"),children:[s&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("p",{className:"nx-mb-4 nx-font-semibold nx-tracking-tight",children:au(o.toc.title)}),(0,w.jsx)("ul",{children:a.map(({id:e,value:t,depth:n})=>{var i,a,s,l;return(0,w.jsx)("li",{className:"nx-my-2 nx-scroll-my-6 nx-scroll-py-6",children:(0,w.jsx)("a",{href:`#${e}`,className:(0,_.Z)({2:"nx-font-semibold",3:"ltr:nx-pl-4 rtl:nx-pr-4",4:"ltr:nx-pl-8 rtl:nx-pr-8",5:"ltr:nx-pl-12 rtl:nx-pr-12",6:"ltr:nx-pl-16 rtl:nx-pr-16"}[n],"nx-inline-block",(null==(i=r[e])?void 0:i.isActive)?"nx-text-primary-600 nx-subpixel-antialiased contrast-more:!nx-text-primary-600":"nx-text-gray-500 hover:nx-text-gray-900 dark:nx-text-gray-400 dark:hover:nx-text-gray-300","contrast-more:nx-text-gray-900 contrast-more:nx-underline contrast-more:dark:nx-text-gray-50 nx-w-full nx-break-words"),children:null!=(l=null==(s=(a=o.toc).headingComponent)?void 0:s.call(a,{id:e,children:t}))?l:t})},e)})})]}),l&&(0,w.jsxs)("div",{className:(0,_.Z)(s&&"nx-mt-8 nx-border-t nx-bg-white nx-pt-8 nx-shadow-[0_-12px_16px_white] dark:nx-bg-dark dark:nx-shadow-[0_-12px_16px_#111]","nx-sticky nx-bottom-0 nx-flex nx-flex-col nx-items-start nx-gap-2 nx-pb-8 dark:nx-border-neutral-800","contrast-more:nx-border-t contrast-more:nx-border-neutral-400 contrast-more:nx-shadow-none contrast-more:dark:nx-border-neutral-400"),children:[o.feedback.content?(0,w.jsx)(al,{className:a0,href:o.feedback.useLink(),newWindow:!0,children:au(o.feedback.content)}):null,au(o.editLink.component,{filePath:t,className:a0,children:au(o.editLink.text)}),au(o.toc.extraContent),o.toc.backToTop&&(0,w.jsx)(aJ,{className:a0})]})]})}function a2({className:e,directories:t}){let[n,r]=(0,j.useState)(""),o=(0,j.useMemo)(()=>n?iC(t,n,{keys:["title"]}).map(({route:e,title:t})=>({id:e+t,route:e,children:(0,w.jsx)(av,{value:t,match:n})})):[],[n,t]);return(0,w.jsx)(ab,{value:n,onChange:r,className:e,overlayClassName:"nx-w-full",results:o})}var a4="en-US",a5="undefined"!=typeof window;function a3(e){return null==e||"string"==typeof e||a6(e)||(0,j.isValidElement)(e)}function a6(e){return"function"==typeof e}var a7=tA.array(tA.strictObject({direction:tA.enum(["ltr","rtl"]).optional(),locale:tA.string(),text:tA.string()})),a8=[a3,{message:"Must be React.ReactNode or React.FC"}],a9=[a6,{message:"Must be React.FC"}];tA.strictObject({banner:tA.strictObject({dismissible:tA.boolean(),key:tA.string(),text:tA.custom(...a8).optional()}),chat:tA.strictObject({icon:tA.custom(...a8),link:tA.string().startsWith("https://").optional()}),components:tA.record(tA.custom(...a9)).optional(),darkMode:tA.boolean(),direction:tA.enum(["ltr","rtl"]),docsRepositoryBase:tA.string().startsWith("https://"),editLink:tA.strictObject({component:tA.custom(...a9).or(tA.null()),text:tA.custom(...a8)}),faviconGlyph:tA.string().optional(),feedback:tA.strictObject({content:tA.custom(...a8),labels:tA.string(),useLink:tA.function().returns(tA.string())}),footer:tA.strictObject({component:tA.custom(...a8),text:tA.custom(...a8)}),gitTimestamp:tA.custom(...a8),head:tA.custom(...a8),i18n:a7,logo:tA.custom(...a8),logoLink:tA.boolean().or(tA.string()),main:tA.custom(...a9).optional(),navbar:tA.strictObject({component:tA.custom(...a8),extraContent:tA.custom(...a8).optional()}),navigation:tA.boolean().or(tA.strictObject({next:tA.boolean(),prev:tA.boolean()})),nextThemes:tA.strictObject({defaultTheme:tA.string(),forcedTheme:tA.string().optional(),storageKey:tA.string()}),notFound:tA.strictObject({content:tA.custom(...a8),labels:tA.string()}),primaryHue:tA.number().or(tA.strictObject({dark:tA.number(),light:tA.number()})),primarySaturation:tA.number().or(tA.strictObject({dark:tA.number(),light:tA.number()})),project:tA.strictObject({icon:tA.custom(...a8),link:tA.string().startsWith("https://").optional()}),search:tA.strictObject({component:tA.custom(...a8),emptyResult:tA.custom(...a8),error:tA.string().or(tA.function().returns(tA.string())),loading:tA.custom(...a8),placeholder:tA.string().or(tA.function().returns(tA.string()))}),serverSideError:tA.strictObject({content:tA.custom(...a8),labels:tA.string()}),sidebar:tA.strictObject({autoCollapse:tA.boolean().optional(),defaultMenuCollapseLevel:tA.number().min(1).int(),titleComponent:tA.custom(...a8),toggleButton:tA.boolean()}),themeSwitch:tA.strictObject({component:tA.custom(...a8),useOptions:aK.or(tA.function().returns(aK))}),toc:tA.strictObject({backToTop:tA.boolean(),component:tA.custom(...a8),extraContent:tA.custom(...a8),float:tA.boolean(),headingComponent:tA.custom(...a9).optional(),title:tA.custom(...a8)}),useNextSeoProps:tA.custom(a6)}).deepPartial().extend({i18n:a7.optional()});var se={"en-US":"Loading",fr:"Сhargement",ru:"Загрузка","zh-CN":"正在加载"},st={"en-US":"Search documentation",fr:"Rechercher documents",ru:"Поиск документации","zh-CN":"搜索文档"},sn={banner:{dismissible:!0,key:"nextra-banner"},chat:{icon:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.D7,{}),(0,w.jsx)("span",{className:"nx-sr-only",children:"Discord"})]})},darkMode:!0,direction:"ltr",docsRepositoryBase:"https://github.com/shuding/nextra",editLink:{component:function({className:e,filePath:t,children:n}){let r=ah(t);return r?(0,w.jsx)(al,{className:e,href:r,children:n}):null},text:"Edit this page"},feedback:{content:"Question? Give us feedback →",labels:"feedback",useLink(){let e=an();return ac({labels:e.feedback.labels,repository:e.docsRepositoryBase,title:`Feedback for \u201C${e.title}\u201D`})}},footer:{component:aT,text:`MIT ${new Date().getFullYear()} \xa9 Nextra.`},gitTimestamp:function({timestamp:e}){let{locale:t=a4}=(0,k.useRouter)();return(0,w.jsxs)(w.Fragment,{children:["Last updated on"," ",(0,w.jsx)("time",{dateTime:e.toISOString(),children:e.toLocaleDateString(t,{day:"numeric",month:"long",year:"numeric"})})]})},head:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("meta",{name:"msapplication-TileColor",content:"#fff"}),(0,w.jsx)("meta",{httpEquiv:"Content-Language",content:"en"}),(0,w.jsx)("meta",{name:"description",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,w.jsx)("meta",{name:"twitter:site",content:"@shuding_"}),(0,w.jsx)("meta",{property:"og:title",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{property:"og:description",content:"Nextra: the next docs builder"}),(0,w.jsx)("meta",{name:"apple-mobile-web-app-title",content:"Nextra"})]}),i18n:[],logo:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("span",{className:"nx-font-extrabold",children:"Nextra"}),(0,w.jsx)("span",{className:"nx-ml-2 nx-hidden nx-font-normal nx-text-gray-600 md:nx-inline",children:"The Next Docs Builder"})]}),logoLink:!0,navbar:{component:aZ},navigation:!0,nextThemes:{defaultTheme:"system",storageKey:"theme"},notFound:{content:"Submit an issue about broken link →",labels:"bug"},primaryHue:{dark:204,light:212},primarySaturation:{dark:100,light:100},project:{icon:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.fy,{}),(0,w.jsx)("span",{className:"nx-sr-only",children:"GitHub"})]})},search:{component:function({className:e,directories:t}){return an().flexsearch?(0,w.jsx)(aE,{className:e}):(0,w.jsx)(a2,{className:e,directories:t})},emptyResult:(0,w.jsx)("span",{className:"nx-block nx-select-none nx-p-8 nx-text-center nx-text-sm nx-text-gray-400",children:"No results found."}),error:"Failed to load search index.",loading:function(){let{locale:e,defaultLocale:t=a4}=(0,k.useRouter)(),n=e&&se[e]||se[t];return(0,w.jsxs)(w.Fragment,{children:[n,"…"]})},placeholder:function(){let{locale:e,defaultLocale:t=a4}=(0,k.useRouter)(),n=e&&st[e]||st[t];return`${n}\u2026`}},serverSideError:{content:"Submit an issue about error in url →",labels:"bug"},sidebar:{defaultMenuCollapseLevel:2,titleComponent:({title:e})=>(0,w.jsx)(w.Fragment,{children:e}),toggleButton:!1},themeSwitch:{component:aQ,useOptions(){let{locale:e}=(0,k.useRouter)();return"zh-CN"===e?{dark:"深色主题",light:"浅色主题",system:"系统默认"}:{dark:"Dark",light:"Light",system:"System"}}},toc:{backToTop:!1,component:a1,float:!0,title:"On This Page"},useNextSeoProps:()=>({titleTemplate:"%s – Nextra"})},sr=Object.entries(sn).map(([e,t])=>{if(t&&"object"==typeof t&&!Array.isArray(t)&&!(0,j.isValidElement)(t))return e}).filter(Boolean);if(a5){let e;let t=()=>{document.body.classList.add("resizing"),clearTimeout(e),e=setTimeout(()=>{document.body.classList.remove("resizing")},200)};window.addEventListener("resize",t)}function so(e){var t=e,{tag:n,context:r,children:o,id:i,className:a}=t,s=iK(t,["tag","context","children","id","className"]);let l=i5(),c=i6(),u=i3(),d=(0,j.useRef)(null);return(0,j.useEffect)(()=>{if(!i)return;let e=d.current;if(e)return c.set(e,[i,r.index+=1]),null==u||u.observe(e),()=>{null==u||u.disconnect(),c.delete(e),l(e=>{let t=iq({},e);return delete t[i],t})}},[i,r,c,u,l]),(0,w.jsxs)(n,iX(iq({className:"sr-only"===a?"nx-sr-only":(0,_.Z)("nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100",{h2:"nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400",h3:"nx-mt-8 nx-text-2xl",h4:"nx-mt-8 nx-text-xl",h5:"nx-mt-8 nx-text-lg",h6:"nx-mt-8 nx-text-base"}[n])},s),{children:[o,i&&(0,w.jsx)("a",{href:`#${i}`,id:i,className:"subheading-anchor","aria-label":"Permalink for this section",ref:d})]}))}var si=e=>{let t=null,n=[];return j.Children.forEach(e,(e,r)=>{var o;if(e&&e.type===ss){t||(t=e);return}let i=e;if(!t&&e&&"object"==typeof e&&e.type!==sa&&"props"in e&&e.props){let n=si(e.props.children);t=n[0],i=(0,j.cloneElement)(e,iX(iq({},e.props),{children:(null==(o=n[1])?void 0:o.length)?n[1]:void 0,key:r}))}n.push(i)}),[t,n]},sa=e=>{var t=e,{children:n,open:r}=t,o=iK(t,["children","open"]);let[i,a]=(0,j.useState)(!!r),[s,l]=si(n),[c,u]=(0,j.useState)(i);return(0,j.useEffect)(()=>{if(i)u(!0);else{let e=setTimeout(()=>u(i),500);return()=>clearTimeout(e)}},[i]),(0,w.jsxs)("details",iX(iq(iX(iq({className:"nx-my-4 nx-rounded nx-border nx-border-gray-200 nx-bg-white nx-p-2 nx-shadow-sm first:nx-mt-0 dark:nx-border-neutral-800 dark:nx-bg-neutral-900"},o),{open:c}),i&&{"data-expanded":!0}),{children:[(0,w.jsx)(aa,{value:a,children:s}),(0,w.jsx)(ag,{isOpen:i,children:l})]}))},ss=e=>{let t=ai();return(0,w.jsx)("summary",iX(iq({className:(0,_.Z)("nx-flex nx-items-center nx-cursor-pointer nx-list-none nx-p-1 nx-transition-colors hover:nx-bg-gray-100 dark:hover:nx-bg-neutral-800","before:nx-mr-1 before:nx-inline-block before:nx-transition-transform before:nx-content-[''] dark:before:nx-invert before:nx-shrink-0","rtl:before:nx-rotate-180 [[data-expanded]>&]:before:nx-rotate-90")},e),{onClick:e=>{e.preventDefault(),t(e=>!e)}}))},sl=/https?:\/\//,sc=e=>{var t=e,{href:n="",className:r}=t,o=iK(t,["href","className"]);return(0,w.jsx)(al,iq({href:n,newWindow:sl.test(n),className:(0,_.Z)("nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]",r)},o))},su=e=>{var t=e,{href:n=""}=t,r=iK(t,["href"]);return(0,w.jsx)(al,iq({href:n,newWindow:sl.test(n)},r))},sd=({isRawLayout:e,components:t})=>{if(e)return{a:su};let n={index:0};return iq({h1:e=>(0,w.jsx)("h1",iq({className:"nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100"},e)),h2:e=>(0,w.jsx)(so,iq({tag:"h2",context:n},e)),h3:e=>(0,w.jsx)(so,iq({tag:"h3",context:n},e)),h4:e=>(0,w.jsx)(so,iq({tag:"h4",context:n},e)),h5:e=>(0,w.jsx)(so,iq({tag:"h5",context:n},e)),h6:e=>(0,w.jsx)(so,iq({tag:"h6",context:n},e)),ul:e=>(0,w.jsx)("ul",iq({className:"nx-mt-6 nx-list-disc first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),ol:e=>(0,w.jsx)("ol",iq({className:"nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"},e)),li:e=>(0,w.jsx)("li",iq({className:"nx-my-2"},e)),blockquote:e=>(0,w.jsx)("blockquote",iq({className:(0,_.Z)("nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400","first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6")},e)),hr:e=>(0,w.jsx)("hr",iq({className:"nx-my-8 nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400"},e)),a:sc,table:e=>(0,w.jsx)(iF.iA,iq({className:"nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"},e)),p:e=>(0,w.jsx)("p",iq({className:"nx-mt-6 nx-leading-7 first:nx-mt-0"},e)),tr:iF.Tr,th:iF.Th,td:iF.Td,details:sa,summary:ss,pre:iF.SU,code:iF.EK},t)},sf={toc:(0,_.Z)("nextra-toc nx-order-last nx-hidden nx-w-64 nx-shrink-0 xl:nx-block print:nx-hidden"),main:(0,_.Z)("nx-w-full nx-break-words")},sh=({themeContext:e,breadcrumb:t,timestamp:n,navigation:r,children:o})=>{var i;let a=an(),s=E();if("raw"===e.layout)return(0,w.jsx)("div",{className:sf.main,children:o});let l=e.timestamp&&a.gitTimestamp&&n?new Date(n):null,c=s&&l?(0,w.jsx)("div",{className:"nx-mt-12 nx-mb-8 nx-block nx-text-xs nx-text-gray-500 ltr:nx-text-right rtl:nx-text-left dark:nx-text-gray-400",children:au(a.gitTimestamp,{timestamp:l})}):(0,w.jsx)("div",{className:"nx-mt-16"}),u=(0,w.jsxs)(w.Fragment,{children:[o,c,r]}),d=(null==(i=a.main)?void 0:i.call(a,{children:u}))||u;return"full"===e.layout?(0,w.jsx)("article",{className:(0,_.Z)(sf.main,"nextra-content nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-pl-[max(env(safe-area-inset-left),1.5rem)] nx-pr-[max(env(safe-area-inset-right),1.5rem)]"),children:d}):(0,w.jsx)("article",{className:(0,_.Z)(sf.main,"nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]","article"===e.typesetting&&"nextra-body-typesetting-article"),children:(0,w.jsxs)("main",{className:"nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12",children:[t,d]})})},sp=({filePath:e,pageMap:t,frontMatter:n,headings:r,timestamp:o,children:i})=>{let a=an(),{locale:s=a4,defaultLocale:l}=(0,k.useRouter)(),c=C(),{activeType:u,activeIndex:d,activeThemeContext:f,activePath:h,topLevelNavbarItems:p,docsDirectories:m,flatDirectories:g,flatDocsDirectories:v,directories:x}=(0,j.useMemo)(()=>t4({list:t,locale:s,defaultLocale:l,route:c}),[t,s,l,c]),y=iq(iq({},f),n),b=!y.sidebar||"raw"===y.layout||"page"===u,E="page"!==u&&y.toc&&"default"===y.layout?(0,w.jsx)("nav",{className:(0,_.Z)(sf.toc,"nx-px-4"),"aria-label":"table of contents",children:au(a.toc.component,{headings:a.toc.float?r:[],filePath:e})}):"full"!==y.layout&&"raw"!==y.layout&&(0,w.jsx)("nav",{className:sf.toc,"aria-label":"table of contents"}),O=a.i18n.find(e=>e.locale===s),S=(O?"rtl"===O.direction:"rtl"===a.direction)?"rtl":"ltr";return(0,w.jsxs)("div",{dir:S,children:[(0,w.jsx)("script",{dangerouslySetInnerHTML:{__html:`document.documentElement.setAttribute('dir','${S}')`}}),(0,w.jsx)(aA,{}),(0,w.jsx)(ap,{}),y.navbar&&au(a.navbar.component,{flatDirectories:g,items:p}),(0,w.jsx)("div",{className:(0,_.Z)("nx-mx-auto nx-flex","raw"!==y.layout&&"nx-max-w-[90rem]"),children:(0,w.jsxs)(i7,{children:[(0,w.jsx)(aU,{docsDirectories:m,flatDirectories:g,fullDirectories:x,headings:r,asPopover:b,includePlaceholder:"default"===y.layout}),E,(0,w.jsx)(aX,{}),(0,w.jsx)(sh,{themeContext:y,breadcrumb:"page"!==u&&y.breadcrumb?(0,w.jsx)(am,{activePath:h}):null,timestamp:o,navigation:"page"!==u&&y.pagination?(0,w.jsx)(aN,{flatDirectories:v,currentIndex:d}):null,children:(0,w.jsx)(T.Z,{components:sd({isRawLayout:"raw"===y.layout,components:a.components}),children:i})})]})}),y.footer&&au(a.footer.component,{menu:b})]})};function sm(e){var t=e,{children:n}=t,r=iK(t,["children"]);return(0,w.jsx)(ar,{value:r,children:(0,w.jsx)(sp,iX(iq({},r.pageOpts),{children:n}))})}var sg=n(75442),sv=n.n(sg),sx=n(50344),sy=n(82187),sb=n.n(sy),sw=n(98605);let sk=["xxl","xl","lg","md","sm","xs"],sj=e=>({xs:"(max-width: ".concat(e.screenXSMax,"px)"),sm:"(min-width: ".concat(e.screenSM,"px)"),md:"(min-width: ".concat(e.screenMD,"px)"),lg:"(min-width: ".concat(e.screenLG,"px)"),xl:"(min-width: ".concat(e.screenXL,"px)"),xxl:"(min-width: ".concat(e.screenXXL,"px)")}),s_=e=>{let t=e,n=[].concat(sk).reverse();return n.forEach((e,r)=>{let o=e.toUpperCase(),i="screen".concat(o,"Min"),a="screen".concat(o);if(!(t[i]<=t[a]))throw Error("".concat(i,"<=").concat(a," fails : !(").concat(t[i],"<=").concat(t[a],")"));if(r{let e=new Map,n=-1,r={};return{matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>e(r)),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},unregister(){Object.keys(t).forEach(e=>{let n=t[e],r=this.matchHandlers[n];null==r||r.mql.removeListener(null==r?void 0:r.listener)}),e.clear()},register(){Object.keys(t).forEach(e=>{let n=t[e],o=t=>{let{matches:n}=t;this.dispatch(Object.assign(Object.assign({},r),{[e]:n}))},i=window.matchMedia(n);i.addListener(o),this.matchHandlers[n]={mql:i,listener:o},o(i)})},responsiveMap:t}},[e])}var sO=n(85001),sS=(0,j.createContext)({}),sC=n(61048),sT=n(14734),sA=n(5302);let sR=e=>{let{componentCls:t}=e;return{[t]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},sN=e=>{let{componentCls:t}=e;return{[t]:{position:"relative",maxWidth:"100%",minHeight:1}}},sI=(e,t)=>{let{prefixCls:n,componentCls:r,gridColumns:o}=e,i={};for(let e=o;e>=0;e--)0===e?(i["".concat(r).concat(t,"-").concat(e)]={display:"none"},i["".concat(r,"-push-").concat(e)]={insetInlineStart:"auto"},i["".concat(r,"-pull-").concat(e)]={insetInlineEnd:"auto"},i["".concat(r).concat(t,"-push-").concat(e)]={insetInlineStart:"auto"},i["".concat(r).concat(t,"-pull-").concat(e)]={insetInlineEnd:"auto"},i["".concat(r).concat(t,"-offset-").concat(e)]={marginInlineStart:0},i["".concat(r).concat(t,"-order-").concat(e)]={order:0}):(i["".concat(r).concat(t,"-").concat(e)]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:"0 0 ".concat(e/o*100,"%"),maxWidth:"".concat(e/o*100,"%")}],i["".concat(r).concat(t,"-push-").concat(e)]={insetInlineStart:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-pull-").concat(e)]={insetInlineEnd:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-offset-").concat(e)]={marginInlineStart:"".concat(e/o*100,"%")},i["".concat(r).concat(t,"-order-").concat(e)]={order:e});return i["".concat(r).concat(t,"-flex")]={flex:"var(--".concat(n).concat(t,"-flex)")},i},sM=(e,t)=>sI(e,t),sZ=(e,t,n)=>({["@media (min-width: ".concat((0,sC.bf)(t),")")]:Object.assign({},sM(e,n))}),sL=()=>({}),sP=()=>({}),sD=(0,sT.I$)("Grid",sR,sL),sz=(0,sT.I$)("Grid",e=>{let t=(0,sA.TS)(e,{gridColumns:24}),n={"-sm":t.screenSMMin,"-md":t.screenMDMin,"-lg":t.screenLGMin,"-xl":t.screenXLMin,"-xxl":t.screenXXLMin};return[sN(t),sM(t,""),sM(t,"-xs"),Object.keys(n).map(e=>sZ(t,n[e],e)).reduce((e,t)=>Object.assign(Object.assign({},e),t),{})]},sP);var sF=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function sH(e,t){let[n,r]=j.useState("string"==typeof e?e:""),o=()=>{if("string"==typeof e&&r(e),"object"==typeof e)for(let n=0;n{o()},[JSON.stringify(e),t]),n}var sB=j.forwardRef((e,t)=>{let{prefixCls:n,justify:r,align:o,className:i,style:a,children:s,gutter:l=0,wrap:c}=e,u=sF(e,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:d,direction:f}=j.useContext(sO.E_),[h,p]=j.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[m,g]=j.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),v=sH(o,m),x=sH(r,m),y=j.useRef(l),b=sE();j.useEffect(()=>{let e=b.subscribe(e=>{g(e);let t=y.current||0;(!Array.isArray(t)&&"object"==typeof t||Array.isArray(t)&&("object"==typeof t[0]||"object"==typeof t[1]))&&p(e)});return()=>b.unsubscribe(e)},[]);let w=()=>{let e=[void 0,void 0];return(Array.isArray(l)?l:[l,void 0]).forEach((t,n)=>{if("object"==typeof t)for(let r=0;r0?-(S[0]/2):void 0;A&&(T.marginLeft=A,T.marginRight=A);let[R,N]=S;T.rowGap=N;let I=j.useMemo(()=>({gutter:[R,N],wrap:c}),[R,N,c]);return _(j.createElement(sS.Provider,{value:I},j.createElement("div",Object.assign({},u,{className:C,style:Object.assign(Object.assign({},T),a),ref:t}),s)))}),sW=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function sG(e){return"number"==typeof e?"".concat(e," ").concat(e," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?"0 0 ".concat(e):e}let s$=["xs","sm","md","lg","xl","xxl"];var sU=j.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r}=j.useContext(sO.E_),{gutter:o,wrap:i}=j.useContext(sS),{prefixCls:a,span:s,order:l,offset:c,push:u,pull:d,className:f,children:h,flex:p,style:m}=e,g=sW(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),v=n("col",a),[x,y,b]=sz(v),w={},k={};s$.forEach(t=>{let n={},o=e[t];"number"==typeof o?n.span=o:"object"==typeof o&&(n=o||{}),delete g[t],k=Object.assign(Object.assign({},k),{["".concat(v,"-").concat(t,"-").concat(n.span)]:void 0!==n.span,["".concat(v,"-").concat(t,"-order-").concat(n.order)]:n.order||0===n.order,["".concat(v,"-").concat(t,"-offset-").concat(n.offset)]:n.offset||0===n.offset,["".concat(v,"-").concat(t,"-push-").concat(n.push)]:n.push||0===n.push,["".concat(v,"-").concat(t,"-pull-").concat(n.pull)]:n.pull||0===n.pull,["".concat(v,"-rtl")]:"rtl"===r}),n.flex&&(k["".concat(v,"-").concat(t,"-flex")]=!0,w["--".concat(v,"-").concat(t,"-flex")]=sG(n.flex))});let _=sb()(v,{["".concat(v,"-").concat(s)]:void 0!==s,["".concat(v,"-order-").concat(l)]:l,["".concat(v,"-offset-").concat(c)]:c,["".concat(v,"-push-").concat(u)]:u,["".concat(v,"-pull-").concat(d)]:d},f,k,y,b),E={};if(o&&o[0]>0){let e=o[0]/2;E.paddingLeft=e,E.paddingRight=e}return p&&(E.flex=sG(p),!1!==i||E.minWidth||(E.minWidth=0)),x(j.createElement("div",Object.assign({},g,{style:Object.assign(Object.assign(Object.assign({},E),m),w),className:_,ref:t}),h))}),sV=function(){return(0,w.jsxs)("footer",{id:"footer",children:[(0,w.jsx)("div",{className:"footer-wrap",children:(0,w.jsxs)(sB,{children:[(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"联系我们"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{href:"mailto:hi@charmlot.com",children:"邮箱 hi@charmlot.com"})}),(0,w.jsx)("div",{children:(0,w.jsx)("span",{style:{color:"rgba(255,255,255,.9)"},children:"QQ群 729013783"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"用户协议"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",href:"/agreement/",children:"用户协议"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",href:"/agreement/#privacy",children:"隐私政策"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"帮助"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{href:"/docs/faq",children:"常见问题"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/reactnativecn/react-native-pushy/issues",children:"issue讨论区"})})]})}),(0,w.jsx)(sU,{md:6,sm:24,xs:24,children:(0,w.jsxs)("div",{className:"footer-center",children:[(0,w.jsx)("h2",{children:"链接"}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://reactnative.cn/",children:"React Native中文网"})}),(0,w.jsx)("div",{children:(0,w.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://zh-hans.reactjs.org/",children:"ReactJS"})})]})})]})}),(0,w.jsxs)("section",{className:"bottom-bar",children:[(0,w.jsxs)("p",{children:["React Native中文网 \xa9 ",new Date().getFullYear()," ","武汉青罗网络科技有限公司"]}),(0,w.jsxs)("p",{children:[(0,w.jsx)("a",{href:"http://beian.miit.gov.cn/",children:"鄂ICP备20002031号-3"}),(0,w.jsx)("img",{style:{display:"inline"},src:"https://img.alicdn.com/tfs/TB1..50QpXXXXX7XpXXXXXXXXXX-40-40.png",alt:"鄂公网安备 42011202001821号"}),(0,w.jsx)("a",{href:"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=42011202001821",children:"鄂公网安备 42011202001821号"})]})]})]})},sq=n(79363),sX={useNextSeoProps(){let{asPath:e}=(0,k.useRouter)();return"/"!==e?{titleTemplate:"%s – Pushy 极速热更新"}:{titleTemplate:"Pushy 极速热更新"}},head:()=>{let{title:e}=an(),t="https://pushy.reactnative.cn";return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("meta",{property:"og:url",content:t}),(0,w.jsx)("meta",{property:"og:title",content:e||"Pushy 极速热更新"}),(0,w.jsx)("meta",{property:"og:description",content:"Pushy 极速热更新"}),(0,w.jsx)("meta",{property:"og:keywords",content:"热更新,hotupdate,免审核,快速上架"})]})},logo:(0,w.jsx)(sv(),{height:48,src:sx.Z,alt:"Pushy 极速热更新"}),docsRepositoryBase:"https://github.com/reactnativecn/react-native-pushy",project:{link:"https://github.com/reactnativecn/react-native-pushy"},footer:{component:sV},darkMode:!1,nextThemes:{defaultTheme:"light"},navbar:{extraContent:(0,w.jsx)("div",{className:"header-meta",children:(0,w.jsxs)("div",{className:"right-header",children:[(0,w.jsx)(sq.ZP,{shape:"round",href:"https://pushy-admin.reactnative.cn/#/user",target:"_blank",children:"登录"}),(0,w.jsx)(sq.ZP,{shape:"round",href:"https://pushy-admin.reactnative.cn/#/register",target:"_blank",type:"primary",children:"注册"})]})})},toc:{title:"目录"},feedback:{content:null},editLink:{component:null},search:{placeholder:"搜索文档...",emptyResult:"暂无匹配的结果"},gitTimestamp:null};function sK(){return(sK=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,w.jsx)(ln,{query:"(max-width: 996px)",children:t=>{let n=!1;return(0,w.jsx)(lr,{...e,isMobile:t&&!n})}});let li=function(e){let{Component:t,pageProps:n}=e;return(0,w.jsx)(lo,{children:(0,w.jsx)(t,{...n})})},la=[];function ls(e){return(0,w.jsx)(w.Fragment,{})}var ll=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,w.jsx)(li,{...e,children:(0,w.jsx)(ls,{...e})})};let lc=(y=globalThis)[b=Symbol.for("__nextra_internal__")]||(y[b]=Object.create(null));lc.Layout=sm,lc.pageMap=[{kind:"Meta",data:{index:{title:"首页",theme:{layout:"raw",breadcrumb:!1,sidebar:!1},type:"page"},docs:{title:"文档",type:"page"},pricing:{title:"价格",theme:{layout:"raw",breadcrumb:!1,sidebar:!1},type:"page"},常见问题:{type:"page",href:"/docs/faq",route:"#"}}},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{"getting-started":"安装配置",integration:"代码集成",publish:"发布流程","---1":{type:"separator",title:""},api:"API参考",cli:"命令行工具",bestpractice:"场景实践","---2":{type:"separator",title:""},faq:"常见问题"}},{kind:"MdxPage",name:"api",route:"/docs/api",frontMatter:{order:11,title:"API参考",type:"开发指南"}},{kind:"MdxPage",name:"bestpractice",route:"/docs/bestpractice",frontMatter:{order:13,title:"场景实践",type:"开发指南"}},{kind:"MdxPage",name:"cli",route:"/docs/cli",frontMatter:{order:12,title:"命令行工具",type:"开发指南"}},{kind:"MdxPage",name:"faq",route:"/docs/faq",frontMatter:{order:23,title:"常见问题",type:"其他"}},{kind:"MdxPage",name:"getting-started",route:"/docs/getting-started",frontMatter:{order:0,title:"安装配置",type:"快速入门"}},{kind:"MdxPage",name:"integration",route:"/docs/integration",frontMatter:{order:1,title:"代码集成",type:"快速入门"}},{kind:"MdxPage",name:"publish",route:"/docs/publish",frontMatter:{order:2,title:"发布热更新",type:"快速入门"}}]},{kind:"MdxPage",name:"index",route:"/"},{kind:"MdxPage",name:"pricing",route:"/pricing",frontMatter:{title:"价格"}}],lc.flexsearch={codeblocks:!0},lc.themeConfig=sX},32318:function(e,t,n){"use strict";n.d(t,{Z:function(){return eZ}});var r=n(57873);function o(e){if(Array.isArray(e))return e}function i(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}function m(e,t){if(null==e)return{};var n,r,o=p(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var g=n(75271),v=n(82187),x=n.n(v),y=n(96299),b=n(28556),w=2,k=.16,j=.05,_=.05,E=.15,O=5,S=4,C=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function T(e){var t=e.r,n=e.g,r=e.b,o=(0,y.py)(t,n,r);return{h:360*o.h,s:o.s,v:o.v}}function A(e){var t=e.r,n=e.g,r=e.b;return"#".concat((0,y.vq)(t,n,r,!1))}function R(e,t,n){var r=n/100;return{r:(t.r-e.r)*r+e.r,g:(t.g-e.g)*r+e.g,b:(t.b-e.b)*r+e.b}}function N(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-w*t:Math.round(e.h)+w*t:n?Math.round(e.h)+w*t:Math.round(e.h)-w*t)<0?r+=360:r>=360&&(r-=360),r}function I(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-k*t:t===S?e.s+k:e.s+j*t)>1&&(r=1),n&&t===O&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function M(e,t,n){var r;return(r=n?e.v+_*t:e.v-E*t)>1&&(r=1),Number(r.toFixed(2))}function Z(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,b.uA)(e),o=O;o>0;o-=1){var i=T(r),a=A((0,b.uA)({h:N(i,o,!0),s:I(i,o,!0),v:M(i,o,!0)}));n.push(a)}n.push(A(r));for(var s=1;s<=S;s+=1){var l=T(r),c=A((0,b.uA)({h:N(l,s),s:I(l,s),v:M(l,s)}));n.push(c)}return"dark"===t.theme?C.map(function(e){var r=e.index,o=e.opacity;return A(R((0,b.uA)(t.backgroundColor||"#141414"),(0,b.uA)(n[r]),100*o))}):n}var L={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},P={},D={};Object.keys(L).forEach(function(e){P[e]=Z(L[e]),P[e].primary=P[e][5],D[e]=Z(L[e],{theme:"dark",backgroundColor:"#141414"}),D[e].primary=D[e][5]}),P.red,P.volcano,P.gold,P.orange,P.yellow,P.lime,P.green,P.cyan;var z=P.blue;P.geekblue,P.purple,P.magenta,P.grey,P.grey;var F=(0,g.createContext)({});function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):V}function K(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function Q(e){return"queue"===e?"prependQueue":e?"prepend":"append"}function Y(e){return Array.from((q.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!W())return null;var n=t.csp,r=t.prepend,o=t.priority,i=void 0===o?0:o,a=Q(r),s="prependQueue"===a,l=document.createElement("style");l.setAttribute($,a),s&&i&&l.setAttribute(U,"".concat(i)),null!=n&&n.nonce&&(l.nonce=null==n?void 0:n.nonce),l.innerHTML=e;var c=K(t),u=c.firstChild;if(r){if(s){var d=(t.styles||Y(c)).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute($))&&i>=Number(e.getAttribute(U)||0)});if(d.length)return c.insertBefore(l,d[d.length-1].nextSibling),l}c.insertBefore(l,u)}else c.appendChild(l);return l}function ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=K(t);return(t.styles||Y(n)).find(function(n){return n.getAttribute(X(t))===e})}function et(e,t){var n=q.get(e);if(!n||!G(document,n)){var r=J("",t),o=r.parentNode;q.set(e,o),e.removeChild(r)}}function en(e,t){var n,r,o,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=K(i),s=Y(a),l=B(B({},i),{},{styles:s});et(a,l);var c=ee(t,l);if(c)return null!==(n=l.csp)&&void 0!==n&&n.nonce&&c.nonce!==(null===(r=l.csp)||void 0===r?void 0:r.nonce)&&(c.nonce=null===(o=l.csp)||void 0===o?void 0:o.nonce),c.innerHTML!==e&&(c.innerHTML=e),c;var u=J(e,l);return u.setAttribute(X(l),t),u}function er(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}function eo(e){return er(e) instanceof ShadowRoot}function ei(e){return eo(e)?er(e):null}var ea={},es=[],el=function(e){es.push(e)};function ec(e,t){}function eu(e,t){}function ed(){ea={}}function ef(e,t,n){t||ea[n]||(e(!1,n),ea[n]=!0)}function eh(e,t){ef(ec,e,t)}function ep(e,t){ef(eu,e,t)}eh.preMessage=el,eh.resetWarned=ed,eh.noteOnce=ep;var em=eh;function eg(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function ev(e,t){em(e,"[@ant-design/icons] ".concat(t))}function ex(e){return"object"===u(e)&&"string"==typeof e.name&&"string"==typeof e.theme&&("object"===u(e.icon)||"function"==typeof e.icon)}function ey(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];return"class"===n?(t.className=r,delete t.class):(delete t[n],t[eg(n)]=r),t},{})}function eb(e,t,n){return n?g.createElement(e.tag,B(B({key:t},ey(e.attrs)),n),(e.children||[]).map(function(n,r){return eb(n,"".concat(t,"-").concat(e.tag,"-").concat(r))})):g.createElement(e.tag,B({key:t},ey(e.attrs)),(e.children||[]).map(function(n,r){return eb(n,"".concat(t,"-").concat(e.tag,"-").concat(r))}))}function ew(e){return Z(e)[0]}function ek(e){return e?Array.isArray(e)?e:[e]:[]}var ej="\n.anticon {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",e_=function(e){var t=(0,g.useContext)(F),n=t.csp,r=t.prefixCls,o=ej;r&&(o=o.replace(/anticon/g,r)),(0,g.useEffect)(function(){var t=ei(e.current);en(o,"@ant-design-icons",{prepend:!0,csp:n,attachTo:t})},[])},eE=["icon","className","onClick","style","primaryColor","secondaryColor"],eO={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function eS(e){var t=e.primaryColor,n=e.secondaryColor;eO.primaryColor=t,eO.secondaryColor=n||ew(t),eO.calculated=!!n}function eC(){return B({},eO)}var eT=function(e){var t=e.icon,n=e.className,r=e.onClick,o=e.style,i=e.primaryColor,a=e.secondaryColor,s=m(e,eE),l=g.useRef(),c=eO;if(i&&(c={primaryColor:i,secondaryColor:a||ew(i)}),e_(l),ev(ex(t),"icon should be icon definiton, but got ".concat(t)),!ex(t))return null;var u=t;return u&&"function"==typeof u.icon&&(u=B(B({},u),{},{icon:u.icon(c.primaryColor,c.secondaryColor)})),eb(u.icon,"svg-".concat(u.name),B(B({className:n,onClick:r,style:o,"data-icon":u.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},s),{},{ref:l}))};eT.displayName="IconReact",eT.getTwoToneColors=eC,eT.setTwoToneColors=eS;var eA=eT;function eR(e){var t=c(ek(e),2),n=t[0],r=t[1];return eA.setTwoToneColors({primaryColor:n,secondaryColor:r})}function eN(){var e=eA.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var eI=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];eR(z.primary);var eM=g.forwardRef(function(e,t){var n=e.className,o=e.icon,i=e.spin,a=e.rotate,s=e.tabIndex,l=e.onClick,u=e.twoToneColor,d=m(e,eI),f=g.useContext(F),p=f.prefixCls,v=void 0===p?"anticon":p,y=f.rootClassName,b=x()(y,v,h(h({},"".concat(v,"-").concat(o.name),!!o.name),"".concat(v,"-spin"),!!i||"loading"===o.name),n),w=s;void 0===w&&l&&(w=-1);var k=a?{msTransform:"rotate(".concat(a,"deg)"),transform:"rotate(".concat(a,"deg)")}:void 0,j=c(ek(u),2),_=j[0],E=j[1];return g.createElement("span",(0,r.Z)({role:"img","aria-label":o.name},d,{ref:t,tabIndex:w,onClick:l,className:b}),g.createElement(eA,{icon:o,primaryColor:_,secondaryColor:E,style:k}))});eM.displayName="AntdIcon",eM.getTwoToneColor=eN,eM.setTwoToneColor=eR;var eZ=eM},13691:function(e,t,n){"use strict";n.d(t,{M2:function(){return o},Tm:function(){return a}});var r=n(75271);function o(e){return e&&r.isValidElement(e)&&e.type===r.Fragment}let i=(e,t,n)=>r.isValidElement(e)?r.cloneElement(e,"function"==typeof n?n(e.props||{}):n):t;function a(e,t){return i(e,e,t)}},79363:function(e,t,n){"use strict";n.d(t,{ZP:function(){return e4}});var r,o=n(75271),i=n(82187),a=n.n(i);function s(e,t){var n=Object.assign({},e);return Array.isArray(t)&&t.forEach(function(e){delete n[e]}),n}var l=n(47486),c=n(73188),u=n(85001),d=n(13691),f=n(14734);let h=e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:"var(--wave-color, ".concat(n,")"),boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:["box-shadow 0.4s ".concat(e.motionEaseOutCirc),"opacity 2s ".concat(e.motionEaseOutCirc)].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:["box-shadow ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut),"opacity ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)].join(",")}}}}};var p=(0,f.ZP)("Wave",e=>[h(e)]),m=n(94269),g=n(87564),v=n(98605);let x="".concat(u.Rf,"-wave-target");var y=n(1354),b=n(95749),w=n(79938),k=n(91102),j=n(78405),_=n(30967),E=n.t(_,2),O=(0,j.Z)({},E),S=O.version,C=O.render,T=O.unmountComponentAtNode;try{Number((S||"").split(".")[0])>=18&&(r=O.createRoot)}catch(e){}function A(e){var t=O.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&"object"===(0,k.Z)(t)&&(t.usingClientEntryPoint=e)}var R="__rc_react_root__";function N(e,t){A(!0);var n=t[R]||r(t);A(!1),n.render(e),t[R]=n}function I(e,t){C(e,t)}function M(e,t){if(r){N(e,t);return}I(e,t)}function Z(e){return L.apply(this,arguments)}function L(){return(L=(0,w.Z)((0,b.Z)().mark(function e(t){return(0,b.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.resolve().then(function(){var e;null===(e=t[R])||void 0===e||e.unmount(),delete t[R]}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function P(e){T(e)}function D(e){return z.apply(this,arguments)}function z(){return(z=(0,w.Z)((0,b.Z)().mark(function e(t){return(0,b.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==r)){e.next=2;break}return e.abrupt("return",Z(t));case 2:P(t);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function F(e){let t=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return!t||!t[1]||!t[2]||!t[3]||!(t[1]===t[2]&&t[2]===t[3])}function H(e){return e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&F(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e}function B(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return H(t)?t:H(n)?n:H(r)?r:null}function W(e){return Number.isNaN(e)?0:e}let G=e=>{let{className:t,target:n,component:r}=e,i=o.useRef(null),[s,c]=o.useState(null),[u,d]=o.useState([]),[f,h]=o.useState(0),[p,m]=o.useState(0),[v,b]=o.useState(0),[w,k]=o.useState(0),[j,_]=o.useState(!1),E={left:f,top:p,width:v,height:w,borderRadius:u.map(e=>"".concat(e,"px")).join(" ")};function O(){let e=getComputedStyle(n);c(B(n));let t="static"===e.position,{borderLeftWidth:r,borderTopWidth:o}=e;h(t?n.offsetLeft:W(-parseFloat(r))),m(t?n.offsetTop:W(-parseFloat(o))),b(n.offsetWidth),k(n.offsetHeight);let{borderTopLeftRadius:i,borderTopRightRadius:a,borderBottomLeftRadius:s,borderBottomRightRadius:l}=e;d([i,a,l,s].map(e=>W(parseFloat(e))))}if(s&&(E["--wave-color"]=s),o.useEffect(()=>{if(n){let e;let t=(0,g.Z)(()=>{O(),_(!0)});return"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(O)).observe(n),()=>{g.Z.cancel(t),null==e||e.disconnect()}}},[]),!j)return null;let S=("Checkbox"===r||"Radio"===r)&&(null==n?void 0:n.classList.contains(x));return o.createElement(y.ZP,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(e,t)=>{var n;if(t.deadline||"opacity"===t.propertyName){let e=null===(n=i.current)||void 0===n?void 0:n.parentElement;D(e).then(()=>{null==e||e.remove()})}return!1}},(e,n)=>{let{className:r}=e;return o.createElement("div",{ref:(0,l.sQ)(i,n),className:a()(t,r,{"wave-quick":S}),style:E})})};var $=(e,t)=>{var n;let{component:r}=t;if("Checkbox"===r&&!(null===(n=e.querySelector("input"))||void 0===n?void 0:n.checked))return;let i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",null==e||e.insertBefore(i,null==e?void 0:e.firstChild),M(o.createElement(G,Object.assign({},t,{target:e})),i)},U=(e,t,n)=>{let{wave:r}=o.useContext(u.E_),[,i,a]=(0,v.ZP)(),s=(0,m.zX)(o=>{let s=e.current;if((null==r?void 0:r.disabled)||!s)return;let l=s.querySelector(".".concat(x))||s,{showEffect:c}=r||{};(c||$)(l,{className:t,token:i,component:n,event:o,hashId:a})}),l=o.useRef();return e=>{g.Z.cancel(l.current),l.current=(0,g.Z)(()=>{s(e)})}},V=e=>{let{children:t,disabled:n,component:r}=e,{getPrefixCls:i}=(0,o.useContext)(u.E_),s=(0,o.useRef)(null),f=i("wave"),[,h]=p(f),m=U(s,a()(f,h),r);if(o.useEffect(()=>{let e=s.current;if(!e||1!==e.nodeType||n)return;let t=t=>{!(0,c.Z)(t.target)||!e.getAttribute||e.getAttribute("disabled")||e.disabled||e.className.includes("disabled")||e.className.includes("-leave")||m(t)};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[n]),!o.isValidElement(t))return null!=t?t:null;let g=(0,l.Yr)(t)?(0,l.sQ)(t.ref,s):s;return(0,d.Tm)(t,{ref:g})},q=o.createContext(!1),X=o.createContext(void 0),K=e=>{let t=o.useContext(X);return o.useMemo(()=>e?"string"==typeof e?null!=e?e:t:e instanceof Function?e(t):t:t,[e,t])},Q=n(58207),Y=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let J=o.createContext(void 0);var ee=e=>{let{getPrefixCls:t,direction:n}=o.useContext(u.E_),{prefixCls:r,size:i,className:s}=e,l=Y(e,["prefixCls","size","className"]),c=t("btn-group",r),[,,d]=(0,v.ZP)(),f="";switch(i){case"large":f="lg";break;case"small":f="sm"}let h=a()(c,{["".concat(c,"-").concat(f)]:f,["".concat(c,"-rtl")]:"rtl"===n},s,d);return o.createElement(J.Provider,{value:i},o.createElement("div",Object.assign({},l,{className:h})))};let et=/^[\u4e00-\u9fa5]{2}$/,en=et.test.bind(et);function er(e){return"string"==typeof e}function eo(e){return"text"===e||"link"===e}function ei(e,t){if(null==e)return;let n=t?" ":"";return"string"!=typeof e&&"number"!=typeof e&&er(e.type)&&en(e.props.children)?(0,d.Tm)(e,{children:e.props.children.split("").join(n)}):er(e)?en(e)?o.createElement("span",null,e.split("").join(n)):o.createElement("span",null,e):(0,d.M2)(e)?o.createElement("span",null,e):e}function ea(e,t){let n=!1,r=[];return o.Children.forEach(e,e=>{let t=typeof e,o="string"===t||"number"===t;if(n&&o){let t=r.length-1,n=r[t];r[t]="".concat(n).concat(e)}else r.push(e);n=o}),o.Children.map(r,e=>ei(e,t))}var es=(0,o.forwardRef)((e,t)=>{let{className:n,style:r,children:i,prefixCls:s}=e,l=a()("".concat(s,"-icon"),n);return o.createElement("span",{ref:t,className:l,style:r},i)}),el=n(57873),ec={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},eu=n(32318),ed=function(e,t){return o.createElement(eu.Z,(0,el.Z)({},e,{ref:t,icon:ec}))},ef=o.forwardRef(ed);let eh=(0,o.forwardRef)((e,t)=>{let{prefixCls:n,className:r,style:i,iconClassName:s}=e,l=a()("".concat(n,"-loading-icon"),r);return o.createElement(es,{prefixCls:n,className:l,style:i,ref:t},o.createElement(ef,{className:s}))}),ep=()=>({width:0,opacity:0,transform:"scale(0)"}),em=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"});var eg=e=>{let{prefixCls:t,loading:n,existIcon:r,className:i,style:a}=e,s=!!n;return r?o.createElement(eh,{prefixCls:t,className:i,style:a}):o.createElement(y.ZP,{visible:s,motionName:"".concat(t,"-loading-icon-motion"),motionLeave:s,removeOnLeave:!0,onAppearStart:ep,onAppearActive:em,onEnterStart:ep,onEnterActive:em,onLeaveStart:em,onLeaveActive:ep},(e,n)=>{let{className:r,style:s}=e;return o.createElement(eh,{prefixCls:t,className:i,style:Object.assign(Object.assign({},a),s),ref:n,iconClassName:r})})},ev=n(61048),ex=n(33093),ey=n(5302);let eb=(e,t)=>({["> span, > ".concat(e)]:{"&:not(:last-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}});var ew=e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:o,colorErrorHover:i}=e;return{["".concat(t,"-group")]:[{position:"relative",display:"inline-flex",["> span, > ".concat(t)]:{"&:not(:last-child)":{["&, & > ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(r).mul(-1).equal(),["&, & > ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover, &:focus, &:active":{zIndex:2},"&[disabled]":{zIndex:0}},["".concat(t,"-icon-only")]:{fontSize:n}},eb("".concat(t,"-primary"),o),eb("".concat(t,"-danger"),i)]}},ek=n(54030);let ej=e=>{let{paddingInline:t,onlyIconSize:n,paddingBlock:r}=e;return(0,ey.TS)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:r,buttonIconOnlyFontSize:n})},e_=e=>{var t,n,r,o,i,a;let s=null!==(t=e.contentFontSize)&&void 0!==t?t:e.fontSize,l=null!==(n=e.contentFontSizeSM)&&void 0!==n?n:e.fontSize,c=null!==(r=e.contentFontSizeLG)&&void 0!==r?r:e.fontSizeLG,u=null!==(o=e.contentLineHeight)&&void 0!==o?o:(0,ek.D)(s),d=null!==(i=e.contentLineHeightSM)&&void 0!==i?i:(0,ek.D)(l),f=null!==(a=e.contentLineHeightLG)&&void 0!==a?a:(0,ek.D)(c);return{fontWeight:400,defaultShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlTmpOutline),primaryShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlOutline),dangerShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.colorErrorOutline),primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:e.colorBgTextHover,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,contentFontSize:s,contentFontSizeSM:l,contentFontSizeLG:c,contentLineHeight:u,contentLineHeightSM:d,contentLineHeightLG:f,paddingBlock:Math.max((e.controlHeight-s*u)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*d)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-c*f)/2-e.lineWidth,0)}},eE=e=>{let{componentCls:t,iconCls:n,fontWeight:r}=e;return{[t]:{outline:"none",position:"relative",display:"inline-flex",gap:e.marginXS,alignItems:"center",justifyContent:"center",fontWeight:r,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:"".concat((0,ev.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),cursor:"pointer",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},["".concat(t,"-icon")]:{lineHeight:1},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,ex.Qy)(e)),["&".concat(t,"-two-chinese-chars::first-letter")]:{letterSpacing:"0.34em"},["&".concat(t,"-two-chinese-chars > *:not(").concat(n,")")]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},"&-icon-end":{flexDirection:"row-reverse"}}}},eO=(e,t,n)=>({["&:not(:disabled):not(".concat(e,"-disabled)")]:{"&:hover":t,"&:active":n}}),eS=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),eC=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}),eT=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),eA=(e,t,n,r,o,i,a,s)=>({["&".concat(e,"-background-ghost")]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:r||void 0,boxShadow:"none"},eO(e,Object.assign({background:t},a),Object.assign({background:t},s))),{"&:disabled":{cursor:"not-allowed",color:o||void 0,borderColor:i||void 0}})}),eR=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:Object.assign({},eT(e))}),eN=e=>Object.assign({},eR(e)),eI=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:{cursor:"not-allowed",color:e.colorTextDisabled}}),eM=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},eN(e)),{background:e.defaultBg,borderColor:e.defaultBorderColor,color:e.defaultColor,boxShadow:e.defaultShadow}),eO(e.componentCls,{color:e.defaultHoverColor,borderColor:e.defaultHoverBorderColor,background:e.defaultHoverBg},{color:e.defaultActiveColor,borderColor:e.defaultActiveBorderColor,background:e.defaultActiveBg})),eA(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({color:e.colorError,borderColor:e.colorError},eO(e.componentCls,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),eA(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),eR(e))}),eZ=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},eN(e)),{color:e.primaryColor,background:e.colorPrimary,boxShadow:e.primaryShadow}),eO(e.componentCls,{color:e.colorTextLightSolid,background:e.colorPrimaryHover},{color:e.colorTextLightSolid,background:e.colorPrimaryActive})),eA(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({background:e.colorError,boxShadow:e.dangerShadow,color:e.dangerColor},eO(e.componentCls,{background:e.colorErrorHover},{background:e.colorErrorActive})),eA(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),eR(e))}),eL=e=>Object.assign(Object.assign({},eM(e)),{borderStyle:"dashed"}),eP=e=>Object.assign(Object.assign(Object.assign({color:e.colorLink},eO(e.componentCls,{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),eI(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},eO(e.componentCls,{color:e.colorErrorHover},{color:e.colorErrorActive})),eI(e))}),eD=e=>Object.assign(Object.assign(Object.assign({},eO(e.componentCls,{color:e.colorText,background:e.textHoverBg},{color:e.colorText,background:e.colorBgTextActive})),eI(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},eI(e)),eO(e.componentCls,{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBgActive}))}),ez=e=>{let{componentCls:t}=e;return{["".concat(t,"-default")]:eM(e),["".concat(t,"-primary")]:eZ(e),["".concat(t,"-dashed")]:eL(e),["".concat(t,"-link")]:eP(e),["".concat(t,"-text")]:eD(e),["".concat(t,"-ghost")]:eA(e.componentCls,e.ghostBg,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)}},eF=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",{componentCls:n,controlHeight:r,fontSize:o,lineHeight:i,borderRadius:a,buttonPaddingHorizontal:s,iconCls:l,buttonPaddingVertical:c}=e,u="".concat(n,"-icon-only");return[{["".concat(t)]:{fontSize:o,lineHeight:i,height:r,padding:"".concat((0,ev.bf)(c)," ").concat((0,ev.bf)(s)),borderRadius:a,["&".concat(u)]:{width:r,paddingInline:0,["&".concat(n,"-compact-item")]:{flex:"none"},["&".concat(n,"-round")]:{width:"auto"},[l]:{fontSize:e.buttonIconOnlyFontSize}},["&".concat(n,"-loading")]:{opacity:e.opacityLoading,cursor:"default"},["".concat(n,"-loading-icon")]:{transition:"width ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,", opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)}}},{["".concat(n).concat(n,"-circle").concat(t)]:eS(e)},{["".concat(n).concat(n,"-round").concat(t)]:eC(e)}]},eH=e=>eF((0,ey.TS)(e,{fontSize:e.contentFontSize,lineHeight:e.contentLineHeight}),e.componentCls),eB=e=>eF((0,ey.TS)(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,lineHeight:e.contentLineHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:e.paddingBlockSM,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),"".concat(e.componentCls,"-sm")),eW=e=>eF((0,ey.TS)(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,lineHeight:e.contentLineHeightLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:e.paddingBlockLG,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),"".concat(e.componentCls,"-lg")),eG=e=>{let{componentCls:t}=e;return{[t]:{["&".concat(t,"-block")]:{width:"100%"}}}};var e$=(0,f.I$)("Button",e=>{let t=ej(e);return[eE(t),eH(t),eB(t),eW(t),eG(t),ez(t),ew(t)]},e_,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function eU(e,t,n){let{focusElCls:r,focus:o,borderElCls:i}=n,a=i?"> *":"",s=["hover",o?"focus":null,"active"].filter(Boolean).map(e=>"&:".concat(e," ").concat(a)).join(",");return{["&-item:not(".concat(t,"-last-item)")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[s]:{zIndex:2}},r?{["&".concat(r)]:{zIndex:2}}:{}),{["&[disabled] ".concat(a)]:{zIndex:0}})}}function eV(e,t,n){let{borderElCls:r}=n,o=r?"> ".concat(r):"";return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item) ").concat(o)]:{borderRadius:0},["&-item:not(".concat(t,"-last-item)").concat(t,"-first-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&-item:not(".concat(t,"-first-item)").concat(t,"-last-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function eq(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{focus:!0},{componentCls:n}=e,r="".concat(n,"-compact");return{[r]:Object.assign(Object.assign({},eU(e,r,t)),eV(n,r,t))}}function eX(e,t){return{["&-item:not(".concat(t,"-last-item)")]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function eK(e,t){return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item)")]:{borderRadius:0},["&-item".concat(t,"-first-item:not(").concat(t,"-last-item)")]:{["&, &".concat(e,"-sm, &").concat(e,"-lg")]:{borderEndEndRadius:0,borderEndStartRadius:0}},["&-item".concat(t,"-last-item:not(").concat(t,"-first-item)")]:{["&, &".concat(e,"-sm, &").concat(e,"-lg")]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function eQ(e){let t="".concat(e.componentCls,"-compact-vertical");return{[t]:Object.assign(Object.assign({},eX(e,t)),eK(e.componentCls,t))}}let eY=e=>{let{componentCls:t,calc:n}=e;return{[t]:{["&-compact-item".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:e.lineWidth,height:"calc(100% + ".concat((0,ev.bf)(e.lineWidth)," * 2)"),backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{["&".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-vertical-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:"calc(100% + ".concat((0,ev.bf)(e.lineWidth)," * 2)"),height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}};var eJ=(0,f.bk)(["Button","compact"],e=>{let t=ej(e);return[eq(t),eQ(t),eY(t)]},e_),e0=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function e1(e){if("object"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||"number"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}}let e2=o.forwardRef((e,t)=>{var n,r,i;let{loading:c=!1,prefixCls:d,type:f,danger:h=!1,shape:p="default",size:m,styles:g,disabled:v,className:x,rootClassName:y,children:b,icon:w,iconPosition:k="start",ghost:j=!1,block:_=!1,htmlType:E="button",classNames:O,style:S={},autoInsertSpace:C}=e,T=e0(e,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),A=f||"default",{getPrefixCls:R,direction:N,button:I}=(0,o.useContext)(u.E_),M=null===(n=null!=C?C:null==I?void 0:I.autoInsertSpace)||void 0===n||n,Z=R("btn",d),[L,P,D]=e$(Z),z=(0,o.useContext)(q),F=null!=v?v:z,H=(0,o.useContext)(J),B=(0,o.useMemo)(()=>e1(c),[c]),[W,G]=(0,o.useState)(B.loading),[$,U]=(0,o.useState)(!1),X=(0,o.createRef)(),Y=(0,l.sQ)(t,X),ee=1===o.Children.count(b)&&!w&&!eo(A);(0,o.useEffect)(()=>{let e=null;return B.delay>0?e=setTimeout(()=>{e=null,G(!0)},B.delay):G(B.loading),function(){e&&(clearTimeout(e),e=null)}},[B]),(0,o.useEffect)(()=>{if(!Y||!Y.current||!M)return;let e=Y.current.textContent;ee&&en(e)?$||U(!0):$&&U(!1)},[Y]);let et=t=>{let{onClick:n}=e;if(W||F){t.preventDefault();return}null==n||n(t)},{compactSize:er,compactItemClassnames:ei}=(0,Q.ri)(Z,N),el={large:"lg",small:"sm",middle:void 0},ec=K(e=>{var t,n;return null!==(n=null!==(t=null!=m?m:er)&&void 0!==t?t:H)&&void 0!==n?n:e}),eu=ec&&el[ec]||"",ed=W?"loading":w,ef=s(T,["navigate"]),eh=a()(Z,P,D,{["".concat(Z,"-").concat(p)]:"default"!==p&&p,["".concat(Z,"-").concat(A)]:A,["".concat(Z,"-").concat(eu)]:eu,["".concat(Z,"-icon-only")]:!b&&0!==b&&!!ed,["".concat(Z,"-background-ghost")]:j&&!eo(A),["".concat(Z,"-loading")]:W,["".concat(Z,"-two-chinese-chars")]:$&&M&&!W,["".concat(Z,"-block")]:_,["".concat(Z,"-dangerous")]:h,["".concat(Z,"-rtl")]:"rtl"===N,["".concat(Z,"-icon-end")]:"end"===k},ei,x,y,null==I?void 0:I.className),ep=Object.assign(Object.assign({},null==I?void 0:I.style),S),em=a()(null==O?void 0:O.icon,null===(r=null==I?void 0:I.classNames)||void 0===r?void 0:r.icon),ev=Object.assign(Object.assign({},(null==g?void 0:g.icon)||{}),(null===(i=null==I?void 0:I.styles)||void 0===i?void 0:i.icon)||{}),ex=w&&!W?o.createElement(es,{prefixCls:Z,className:em,style:ev},w):o.createElement(eg,{existIcon:!!w,prefixCls:Z,loading:W}),ey=b||0===b?ea(b,ee&&M):null;if(void 0!==ef.href)return L(o.createElement("a",Object.assign({},ef,{className:a()(eh,{["".concat(Z,"-disabled")]:F}),href:F?void 0:ef.href,style:ep,onClick:et,ref:Y,tabIndex:F?-1:0}),ex,ey));let eb=o.createElement("button",Object.assign({},T,{type:E,className:eh,style:ep,onClick:et,disabled:F,ref:Y}),ex,ey,!!ei&&o.createElement(eJ,{key:"compact",prefixCls:Z}));return eo(A)||(eb=o.createElement(V,{component:"Button",disabled:W},eb)),L(eb)});e2.Group=ee,e2.__ANT_BUTTON=!0;var e4=e2},85001:function(e,t,n){"use strict";n.d(t,{E_:function(){return s},Rf:function(){return o}});var r=n(75271);let o="ant",i="anticon",a=(e,t)=>t||(e?"".concat(o,"-").concat(e):o),s=r.createContext({getPrefixCls:a,iconPrefixCls:i}),{Consumer:l}=s},58207:function(e,t,n){"use strict";n.d(t,{BR:function(){return l},ri:function(){return s}});var r=n(75271),o=n(82187),i=n.n(o);n(48894);let a=r.createContext(null),s=(e,t)=>{let n=r.useContext(a),o=r.useMemo(()=>{if(!n)return"";let{compactDirection:r,isFirstItem:o,isLastItem:a}=n,s="vertical"===r?"-vertical-":"-";return i()("".concat(e,"-compact").concat(s,"item"),{["".concat(e,"-compact").concat(s,"first-item")]:o,["".concat(e,"-compact").concat(s,"last-item")]:a,["".concat(e,"-compact").concat(s,"item-rtl")]:"rtl"===t})},[e,t,n]);return{compactSize:null==n?void 0:n.compactSize,compactDirection:null==n?void 0:n.compactDirection,compactItemClassnames:o}},l=e=>{let{children:t}=e;return r.createElement(a.Provider,{value:null},t)}},33093:function(e,t,n){"use strict";n.d(t,{Lx:function(){return a},Qy:function(){return c},Ro:function(){return i},Wf:function(){return o},du:function(){return s}});var r=n(61048);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:t?"inherit":e.fontFamily}},i=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),a=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active, &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),s=(e,t,n,r)=>{let o='[class^="'.concat(t,'"], [class*=" ').concat(t,'"]'),i=n?".".concat(n):o,a={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}},s={};return!1!==r&&(s={fontFamily:e.fontFamily,fontSize:e.fontSize}),{[i]:Object.assign(Object.assign(Object.assign({},s),a),{[o]:a})}},l=e=>({outline:"".concat((0,r.bf)(e.lineWidthFocus)," solid ").concat(e.colorPrimaryBorder),outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),c=e=>({"&:focus-visible":Object.assign({},l(e))})},54030:function(e,t,n){"use strict";function r(e){return(e+8)/e}function o(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*Math.pow(Math.E,(n-1)/5);return 2*Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)});return t[1]=e,t.map(e=>({size:e,lineHeight:r(e)}))}n.d(t,{D:function(){return r},Z:function(){return o}})},98605:function(e,t,n){"use strict";n.d(t,{ZP:function(){return eO},ID:function(){return ej},NJ:function(){return ek}});var r=n(75271),o=n(61048),i="5.19.2",a=n(96299),s=n(28556),l=2,c=.16,u=.05,d=.05,f=.15,h=5,p=4,m=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function g(e){var t=e.r,n=e.g,r=e.b,o=(0,a.py)(t,n,r);return{h:360*o.h,s:o.s,v:o.v}}function v(e){var t=e.r,n=e.g,r=e.b;return"#".concat((0,a.vq)(t,n,r,!1))}function x(e,t,n){var r=n/100;return{r:(t.r-e.r)*r+e.r,g:(t.g-e.g)*r+e.g,b:(t.b-e.b)*r+e.b}}function y(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-l*t:Math.round(e.h)+l*t:n?Math.round(e.h)+l*t:Math.round(e.h)-l*t)<0?r+=360:r>=360&&(r-=360),r}function b(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-c*t:t===p?e.s+c:e.s+u*t)>1&&(r=1),n&&t===h&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function w(e,t,n){var r;return(r=n?e.v+d*t:e.v-f*t)>1&&(r=1),Number(r.toFixed(2))}function k(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,s.uA)(e),o=h;o>0;o-=1){var i=g(r),a=v((0,s.uA)({h:y(i,o,!0),s:b(i,o,!0),v:w(i,o,!0)}));n.push(a)}n.push(v(r));for(var l=1;l<=p;l+=1){var c=g(r),u=v((0,s.uA)({h:y(c,l),s:b(c,l),v:w(c,l)}));n.push(u)}return"dark"===t.theme?m.map(function(e){var r=e.index,o=e.opacity;return v(x((0,s.uA)(t.backgroundColor||"#141414"),(0,s.uA)(n[r]),100*o))}):n}var j={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},_=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];_.primary=_[5];var E=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];E.primary=E[5];var O=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];O.primary=O[5];var S=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];S.primary=S[5];var C=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];C.primary=C[5];var T=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];T.primary=T[5];var A=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];A.primary=A[5];var R=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];R.primary=R[5];var N=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];N.primary=N[5];var I=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];I.primary=I[5];var M=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];M.primary=M[5];var Z=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];Z.primary=Z[5];var L=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];L.primary=L[5];var P={red:_,volcano:E,orange:O,gold:S,yellow:C,lime:T,green:A,cyan:R,blue:N,geekblue:I,purple:M,magenta:Z,grey:L},D=["#2a1215","#431418","#58181c","#791a1f","#a61d24","#d32029","#e84749","#f37370","#f89f9a","#fac8c3"];D.primary=D[5];var z=["#2b1611","#441d12","#592716","#7c3118","#aa3e19","#d84a1b","#e87040","#f3956a","#f8b692","#fad4bc"];z.primary=z[5];var F=["#2b1d11","#442a11","#593815","#7c4a15","#aa6215","#d87a16","#e89a3c","#f3b765","#f8cf8d","#fae3b7"];F.primary=F[5];var H=["#2b2111","#443111","#594214","#7c5914","#aa7714","#d89614","#e8b339","#f3cc62","#f8df8b","#faedb5"];H.primary=H[5];var B=["#2b2611","#443b11","#595014","#7c6e14","#aa9514","#d8bd14","#e8d639","#f3ea62","#f8f48b","#fafab5"];B.primary=B[5];var W=["#1f2611","#2e3c10","#3e4f13","#536d13","#6f9412","#8bbb11","#a9d134","#c9e75d","#e4f88b","#f0fab5"];W.primary=W[5];var G=["#162312","#1d3712","#274916","#306317","#3c8618","#49aa19","#6abe39","#8fd460","#b2e58b","#d5f2bb"];G.primary=G[5];var $=["#112123","#113536","#144848","#146262","#138585","#13a8a8","#33bcb7","#58d1c9","#84e2d8","#b2f1e8"];$.primary=$[5];var U=["#111a2c","#112545","#15325b","#15417e","#1554ad","#1668dc","#3c89e8","#65a9f3","#8dc5f8","#b7dcfa"];U.primary=U[5];var V=["#131629","#161d40","#1c2755","#203175","#263ea0","#2b4acb","#5273e0","#7f9ef3","#a8c1f8","#d2e0fa"];V.primary=V[5];var q=["#1a1325","#24163a","#301c4d","#3e2069","#51258f","#642ab5","#854eca","#ab7ae0","#cda8f0","#ebd7fa"];q.primary=q[5];var X=["#291321","#40162f","#551c3b","#75204f","#a02669","#cb2b83","#e0529c","#f37fb7","#f8a8cc","#fad2e3"];X.primary=X[5];var K=["#151515","#1f1f1f","#2d2d2d","#393939","#494949","#5a5a5a","#6a6a6a","#7b7b7b","#888888","#969696"];K.primary=K[5];let Q={blue:"#1677FF",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#EB2F96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"};var Y=Object.assign(Object.assign({},Q),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'",fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0}),J=n(76367),ee=n(23881),et=function(){function e(t,n){if(void 0===t&&(t=""),void 0===n&&(n={}),t instanceof e)return t;"number"==typeof t&&(t=(0,a.Yt)(t)),this.originalInput=t;var r,o=(0,s.uA)(t);this.originalInput=t,this.r=o.r,this.g=o.g,this.b=o.b,this.a=o.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(r=n.format)&&void 0!==r?r:o.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=o.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e,t,n,r=this.toRgb(),o=r.r/255,i=r.g/255,a=r.b/255;return .2126*(e=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.7152*(t=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.0722*(n=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=(0,ee.Yq)(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=(0,a.py)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=(0,a.py)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(r,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(r,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=(0,a.lC)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=(0,a.lC)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),r=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(r,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(r,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),(0,a.vq)(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),(0,a.s)(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*(0,ee.sh)(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*(0,ee.sh)(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+(0,a.vq)(this.r,this.g,this.b,!1),t=0,n=Object.entries(J.R);t=0;return!t&&r&&(e.startsWith("hex")||"name"===e)?"name"===e&&0===this.a?this.toName():this.toRgbString():("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=(0,ee.V2)(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-(t/100*255)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-(t/100*255)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-(t/100*255)))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=(0,ee.V2)(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=(0,ee.V2)(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=(0,ee.V2)(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var r=this.toRgb(),o=new e(t).toRgb(),i=n/100;return new e({r:(o.r-r.r)*i+r.r,g:(o.g-r.g)*i+r.g,b:(o.b-r.b)*i+r.b,a:(o.a-r.a)*i+r.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var r=this.toHsl(),o=360/n,i=[this];for(r.h=(r.h-(o*t>>1)+720)%360;--t;)r.h=(r.h+o)%360,i.push(new e(r));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),r=n.h,o=n.s,i=n.v,a=[],s=1/t;t--;)a.push(new e({h:r,s:o,v:i})),i=(i+s)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),o=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/o,g:(n.g*n.a+r.g*r.a*(1-n.a))/o,b:(n.b*n.a+r.b*r.a*(1-n.a))/o,a:o})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,o=[this],i=360/t,a=1;a{let t=e,n=e,r=e,o=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?o=4:e>=8&&(o=6),{borderRadius:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:o}};function eo(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:o}=e;return Object.assign({motionDurationFast:"".concat((n+t).toFixed(1),"s"),motionDurationMid:"".concat((n+2*t).toFixed(1),"s"),motionDurationSlow:"".concat((n+3*t).toFixed(1),"s"),lineWidthBold:o+1},er(r))}var ei=e=>{let{controlHeight:t}=e;return{controlHeightSM:.75*t,controlHeightXS:.5*t,controlHeightLG:1.25*t}},ea=n(54030),es=e=>{let t=(0,ea.Z)(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight),o=n[1],i=n[0],a=n[2],s=r[1],l=r[0],c=r[2];return{fontSizeSM:i,fontSize:o,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:s,lineHeightLG:c,lineHeightSM:l,fontHeight:Math.round(s*o),fontHeightLG:Math.round(c*a),fontHeightSM:Math.round(l*i),lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};function el(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}let ec=(e,t)=>new et(e).setAlpha(t).toRgbString(),eu=(e,t)=>new et(e).darken(t).toHexString(),ed=e=>{let t=k(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},ef=(e,t)=>{let n=e||"#fff",r=t||"#000";return{colorBgBase:n,colorTextBase:r,colorText:ec(r,.88),colorTextSecondary:ec(r,.65),colorTextTertiary:ec(r,.45),colorTextQuaternary:ec(r,.25),colorFill:ec(r,.15),colorFillSecondary:ec(r,.06),colorFillTertiary:ec(r,.04),colorFillQuaternary:ec(r,.02),colorBgLayout:eu(n,4),colorBgContainer:eu(n,0),colorBgElevated:eu(n,0),colorBgSpotlight:ec(r,.85),colorBgBlur:"transparent",colorBorder:eu(n,15),colorBorderSecondary:eu(n,6)}};function eh(e){j.pink=j.magenta,P.pink=P.magenta;let t=Object.keys(Q).map(t=>{let n=e[t]===j[t]?P[t]:k(e[t]);return Array(10).fill(1).reduce((e,r,o)=>(e["".concat(t,"-").concat(o+1)]=n[o],e["".concat(t).concat(o+1)]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),en(e,{generateColorPalettes:ed,generateNeutralColorPalettes:ef})),es(e.fontSize)),el(e)),ei(e)),eo(e))}let ep=(0,o.jG)(eh),em={token:Y,override:{override:Y},hashed:!0},eg=r.createContext(em);function ev(e){return e>=0&&e<=255}var ex=function(e,t){let{r:n,g:r,b:o,a:i}=new et(e).toRgb();if(i<1)return e;let{r:a,g:s,b:l}=new et(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-a*(1-e))/e),i=Math.round((r-s*(1-e))/e),c=Math.round((o-l*(1-e))/e);if(ev(t)&&ev(i)&&ev(c))return new et({r:t,g:i,b:c,a:Math.round(100*e)/100}).toRgbString()}return new et({r:n,g:r,b:o,a:1}).toRgbString()},ey=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eb(e){let{override:t}=e,n=ey(e,["override"]),r=Object.assign({},t);Object.keys(Y).forEach(e=>{delete r[e]});let o=Object.assign(Object.assign({},n),r),i=480,a=576,s=768,l=992,c=1200,u=1600;if(!1===o.motion){let e="0s";o.motionDurationFast=e,o.motionDurationMid=e,o.motionDurationSlow=e}return Object.assign(Object.assign(Object.assign({},o),{colorFillContent:o.colorFillSecondary,colorFillContentHover:o.colorFill,colorFillAlter:o.colorFillQuaternary,colorBgContainerDisabled:o.colorFillTertiary,colorBorderBg:o.colorBgContainer,colorSplit:ex(o.colorBorderSecondary,o.colorBgContainer),colorTextPlaceholder:o.colorTextQuaternary,colorTextDisabled:o.colorTextQuaternary,colorTextHeading:o.colorText,colorTextLabel:o.colorTextSecondary,colorTextDescription:o.colorTextTertiary,colorTextLightSolid:o.colorWhite,colorHighlight:o.colorError,colorBgTextHover:o.colorFillSecondary,colorBgTextActive:o.colorFill,colorIcon:o.colorTextTertiary,colorIconHover:o.colorText,colorErrorOutline:ex(o.colorErrorBg,o.colorBgContainer),colorWarningOutline:ex(o.colorWarningBg,o.colorBgContainer),fontSizeIcon:o.fontSizeSM,lineWidthFocus:4*o.lineWidth,lineWidth:o.lineWidth,controlOutlineWidth:2*o.lineWidth,controlInteractiveSize:o.controlHeight/2,controlItemBgHover:o.colorFillTertiary,controlItemBgActive:o.colorPrimaryBg,controlItemBgActiveHover:o.colorPrimaryBgHover,controlItemBgActiveDisabled:o.colorFill,controlTmpOutline:o.colorFillQuaternary,controlOutline:ex(o.colorPrimaryBg,o.colorBgContainer),lineType:o.lineType,borderRadius:o.borderRadius,borderRadiusXS:o.borderRadiusXS,borderRadiusSM:o.borderRadiusSM,borderRadiusLG:o.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:o.sizeXXS,paddingXS:o.sizeXS,paddingSM:o.sizeSM,padding:o.size,paddingMD:o.sizeMD,paddingLG:o.sizeLG,paddingXL:o.sizeXL,paddingContentHorizontalLG:o.sizeLG,paddingContentVerticalLG:o.sizeMS,paddingContentHorizontal:o.sizeMS,paddingContentVertical:o.sizeSM,paddingContentHorizontalSM:o.size,paddingContentVerticalSM:o.sizeXS,marginXXS:o.sizeXXS,marginXS:o.sizeXS,marginSM:o.sizeSM,margin:o.size,marginMD:o.sizeMD,marginLG:o.sizeLG,marginXL:o.sizeXL,marginXXL:o.sizeXXL,boxShadow:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowSecondary:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTertiary:"\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n ",screenXS:i,screenXSMin:i,screenXSMax:a-1,screenSM:a,screenSMMin:a,screenSMMax:s-1,screenMD:s,screenMDMin:s,screenMDMax:l-1,screenLG:l,screenLGMin:l,screenLGMax:c-1,screenXL:c,screenXLMin:c,screenXLMax:u-1,screenXXL:u,screenXXLMin:u,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:"\n 0 1px 2px -2px ".concat(new et("rgba(0, 0, 0, 0.16)").toRgbString(),",\n 0 3px 6px 0 ").concat(new et("rgba(0, 0, 0, 0.12)").toRgbString(),",\n 0 5px 12px 4px ").concat(new et("rgba(0, 0, 0, 0.09)").toRgbString(),"\n "),boxShadowDrawerRight:"\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerLeft:"\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerUp:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerDown:"\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var ew=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ek={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0},ej={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},e_={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},eE=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:o}=t,i=ew(t,["override"]),a=Object.assign(Object.assign({},r),{override:o});return a=eb(a),i&&Object.entries(i).forEach(e=>{let[t,n]=e,{theme:r}=n,o=ew(n,["theme"]),i=o;r&&(i=eE(Object.assign(Object.assign({},a),o),{override:o},r)),a[t]=i}),a};function eO(){let{token:e,hashed:t,theme:n,override:a,cssVar:s}=r.useContext(eg),l="".concat(i,"-").concat(t||""),c=n||ep,[u,d,f]=(0,o.fp)(c,[Y,e],{salt:l,override:a,getComputedToken:eE,formatToken:eb,cssVar:s&&{prefix:s.prefix,key:s.key,unitless:ek,ignore:ej,preserve:e_}});return[c,f,t?d:"",u,s]}},14734:function(e,t,n){"use strict";n.d(t,{ZP:function(){return y},I$:function(){return k},bk:function(){return b}});var r=n(75271),o=n(61048);n(94269);var i=n(11333),a=n(14634);let s=6e5,l=new(function(){function e(){(0,i.Z)(this,e),this.map=new Map,this.objectIDMap=new WeakMap,this.nextID=0,this.lastAccessBeat=new Map,this.accessBeat=0}return(0,a.Z)(e,[{key:"set",value:function(e,t){this.clear();let n=this.getCompositeKey(e);this.map.set(n,t),this.lastAccessBeat.set(n,Date.now())}},{key:"get",value:function(e){let t=this.getCompositeKey(e),n=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,n}},{key:"getCompositeKey",value:function(e){return e.map(e=>e&&"object"==typeof e?"obj_".concat(this.getObjectID(e)):"".concat(typeof e,"_").concat(e)).join("|")}},{key:"getObjectID",value:function(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);let t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}},{key:"clear",value:function(){if(this.accessBeat>1e4){let e=Date.now();this.lastAccessBeat.forEach((t,n)=>{e-t>s&&(this.map.delete(n),this.lastAccessBeat.delete(n))}),this.accessBeat=0}}}])}());var c=function(e,t){return r.useMemo(()=>{let n=l.get(t);if(n)return n;let r=e();return l.set(t,r),r},t)},u=n(85001),d=n(33093),f=n(98605);function h(e){return"js"===e?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")},min:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")}}}var p=n(5302),m=(e,t)=>{let[n,r]=(0,f.ZP)();return(0,o.xy)({theme:n,token:r,hashId:"",path:["ant-design-icons",e],nonce:()=>null==t?void 0:t.nonce,layer:{name:"antd"}},()=>[{[".".concat(e)]:Object.assign(Object.assign({},(0,d.Ro)()),{[".".concat(e," .").concat(e,"-icon")]:{display:"block"}})}])};let g=(e,t,n)=>{var r;return"function"==typeof n?n((0,p.TS)(t,null!==(r=t[e])&&void 0!==r?r:{})):null!=n?n:{}},v=(e,t,n,r)=>{let o=Object.assign({},t[e]);if(null==r?void 0:r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(e=>{var t;let[n,r]=e;((null==o?void 0:o[n])||(null==o?void 0:o[r]))&&(null!==(t=o[r])&&void 0!==t||(o[r]=null==o?void 0:o[n]))})}let i=Object.assign(Object.assign({},n),o);return Object.keys(i).forEach(e=>{i[e]===t[e]&&delete i[e]}),i},x=(e,t)=>"".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"));function y(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=Array.isArray(e)?e:[e,e],[s]=a,l=a.join("-");return function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[y,b,w,k,j]=(0,f.ZP)(),{getPrefixCls:_,iconPrefixCls:E,csp:O}=(0,r.useContext)(u.E_),S=_(),C=j?"css":"js",T=c(()=>{let e=new Set;return j&&Object.keys(i.unitless||{}).forEach(t=>{e.add((0,o.ks)(t,j.prefix)),e.add((0,o.ks)(t,x(s,j.prefix)))}),(0,o._m)(C,e)},[C,s,null==j?void 0:j.prefix]),{max:A,min:R}=h(C),N={theme:y,token:k,hashId:w,nonce:()=>null==O?void 0:O.nonce,clientOnly:i.clientOnly,layer:{name:"antd"},order:i.order||-999};return(0,o.xy)(Object.assign(Object.assign({},N),{clientOnly:!1,path:["Shared",S]}),()=>[{"&":(0,d.Lx)(k)}]),m(E,O),[(0,o.xy)(Object.assign(Object.assign({},N),{path:[l,e,E]}),()=>{if(!1===i.injectStyle)return[];let{token:r,flush:l}=(0,p.ZP)(k),c=g(s,b,n),u=".".concat(e),f=v(s,b,c,{deprecatedTokens:i.deprecatedTokens});j&&Object.keys(c).forEach(e=>{c[e]="var(".concat((0,o.ks)(e,x(s,j.prefix)),")")});let h=(0,p.TS)(r,{componentCls:u,prefixCls:e,iconCls:".".concat(E),antCls:".".concat(S),calc:T,max:A,min:R},j?c:f),m=t(h,{hashId:w,prefixCls:e,rootPrefixCls:S,iconPrefixCls:E});return l(s,f),[!1===i.resetStyle?null:(0,d.du)(h,e,a,i.resetFont),m]}),w]}}let b=(e,t,n,r)=>{let o=y(e,t,n,Object.assign({resetStyle:!1,order:-998},r));return e=>{let{prefixCls:t,rootCls:n=t}=e;return o(t,n),null}},w=(e,t,n)=>{let{unitless:i,injectStyle:a=!0,prefixToken:s}=n,l=r=>{let{rootCls:a,cssVar:l}=r,[,c]=(0,f.ZP)();return(0,o.CI)({path:[e],prefix:l.prefix,key:null==l?void 0:l.key,unitless:i,ignore:f.ID,token:c,scope:a},()=>{let r=g(e,c,t),o=v(e,c,r,{deprecatedTokens:null==n?void 0:n.deprecatedTokens});return Object.keys(r).forEach(e=>{o[s(e)]=o[e],delete o[e]}),o}),null};return t=>{let[,,,,n]=(0,f.ZP)();return[o=>a&&n?r.createElement(r.Fragment,null,r.createElement(l,{rootCls:t,cssVar:n,component:e}),o):o,null==n?void 0:n.key]}},k=(e,t,n,r)=>{let o=Array.isArray(e)?e[0]:e;function i(e){return"".concat(o).concat(e.slice(0,1).toUpperCase()).concat(e.slice(1))}let a=(null==r?void 0:r.unitless)||{},s=Object.assign(Object.assign({},f.NJ),{[i("zIndexPopup")]:!0});Object.keys(a).forEach(e=>{s[i(e)]=a[e]});let l=Object.assign(Object.assign({},r),{unitless:s,prefixToken:i}),c=y(e,t,n,l),u=w(o,n,l);return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[,n]=c(e,t),[r,o]=u(t);return[r,n,o]}}},5302:function(e,t,n){"use strict";n.d(t,{TS:function(){return i}});let r="undefined"!=typeof CSSINJS_STATISTIC,o=!0;function i(){for(var e=arguments.length,t=Array(e),n=0;n{Object.keys(e).forEach(t=>{Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>e[t]})})}),o=!0,i}let a={};function s(){}let l=e=>{let t;let n=e,i=s;return r&&"undefined"!=typeof Proxy&&(t=new Set,n=new Proxy(e,{get:(e,n)=>(o&&t.add(n),e[n])}),i=(e,n)=>{var r;a[e]={global:Array.from(t),component:Object.assign(Object.assign({},null===(r=a[e])||void 0===r?void 0:r.component),n)}}),{token:n,keys:t,flush:i}};t.ZP=l},9321:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return c},ACTION_NAVIGATE:function(){return i},ACTION_PREFETCH:function(){return l},ACTION_REFRESH:function(){return o},ACTION_RESTORE:function(){return a},ACTION_SERVER_ACTION:function(){return u},ACTION_SERVER_PATCH:function(){return s},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return d}});let o="refresh",i="navigate",a="restore",s="server-patch",l="prefetch",c="fast-refresh",u="server-action";function d(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}!function(e){e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary"}(n||(n={})),function(e){e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale"}(r||(r={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},74246:function(e,t,n){"use strict";function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(91272),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},20093:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let r=n(42430),o=n(11778),i=n(52676),a=o._(n(75271)),s=r._(n(30967)),l=r._(n(9651)),c=n(65180),u=n(16450),d=n(39800);n(37131);let f=n(93848),h=r._(n(43964)),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!0,unoptimized:!0};function m(e,t,n,r,o,i,a){let s=null==e?void 0:e.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),null==n?void 0:n.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,o=!1;n.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==r?void 0:r.current)&&r.current(e)}}))}function g(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,a.forwardRef)((e,t)=>{let{src:n,srcSet:r,sizes:o,height:s,width:l,decoding:c,className:u,style:d,fetchPriority:f,placeholder:h,loading:p,unoptimized:v,fill:x,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:w,setShowAltText:k,sizesInput:j,onLoad:_,onError:E,...O}=e;return(0,i.jsx)("img",{...O,...g(f),loading:p,width:l,height:s,decoding:c,"data-nimg":x?"fill":"1",className:u,style:d,sizes:o,srcSet:r,src:n,ref:(0,a.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(E&&(e.src=e.src),e.complete&&m(e,h,y,b,w,v,j))},[n,h,y,b,w,E,v,j,t]),onLoad:e=>{m(e.currentTarget,h,y,b,w,v,j)},onError:e=>{k(!0),"empty"!==h&&w(!0),E&&E(e)}})});function x(e){let{isAppRouter:t,imgAttributes:n}=e,r={as:"image",imageSrcSet:n.srcSet,imageSizes:n.sizes,crossOrigin:n.crossOrigin,referrerPolicy:n.referrerPolicy,...g(n.fetchPriority)};return t&&s.default.preload?(s.default.preload(n.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:n.srcSet?void 0:n.src,...r},"__nimg-"+n.src+n.srcSet+n.sizes)})}let y=(0,a.forwardRef)((e,t)=>{let n=!(0,a.useContext)(f.RouterContext),r=(0,a.useContext)(d.ImageConfigContext),o=(0,a.useMemo)(()=>{let e=p||r||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),n=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:n}},[r]),{onLoad:s,onLoadingComplete:l}=e,m=(0,a.useRef)(s);(0,a.useEffect)(()=>{m.current=s},[s]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[y,b]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!1),{props:j,meta:_}=(0,c.getImgProps)(e,{defaultLoader:h.default,imgConf:o,blurComplete:y,showAltText:w});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{...j,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:b,setShowAltText:k,sizesInput:e.sizes,ref:t}),_.priority?(0,i.jsx)(x,{isAppRouter:n,imgAttributes:j}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},24565:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return k}});let r=n(42430),o=n(52676),i=r._(n(75271)),a=n(46758),s=n(98533),l=n(96393),c=n(76872),u=n(33553),d=n(93848),f=n(49403),h=n(48730),p=n(74246),m=n(20384),g=n(9321),v=new Set;function x(e,t,n,r,o,i){if(i||(0,s.isLocalURL)(t)){if(!r.bypassPrefetchedCheck){let o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(v.has(o))return;v.add(o)}(async()=>i?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function y(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}function b(e,t,n,r,o,a,l,c,u){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(y(e)||!u&&!(0,s.isLocalURL)(n)))return;e.preventDefault();let f=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:a,locale:c,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};u?i.default.startTransition(f):f()}function w(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let k=i.default.forwardRef(function(e,t){let n,r;let{href:s,as:l,children:v,prefetch:y=null,passHref:k,replace:j,shallow:_,scroll:E,locale:O,onClick:S,onMouseEnter:C,onTouchStart:T,legacyBehavior:A=!1,...R}=e;n=v,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let N=i.default.useContext(d.RouterContext),I=i.default.useContext(f.AppRouterContext),M=null!=N?N:I,Z=!N,L=!1!==y,P=null===y?g.PrefetchKind.AUTO:g.PrefetchKind.FULL,{href:D,as:z}=i.default.useMemo(()=>{if(!N){let e=w(s);return{href:e,as:l?w(l):e}}let[e,t]=(0,a.resolveHref)(N,s,!0);return{href:e,as:l?(0,a.resolveHref)(N,l):t||e}},[N,s,l]),F=i.default.useRef(D),H=i.default.useRef(z);A&&(r=i.default.Children.only(n));let B=A?r&&"object"==typeof r&&r.ref:t,[W,G,$]=(0,h.useIntersection)({rootMargin:"200px"}),U=i.default.useCallback(e=>{(H.current!==z||F.current!==D)&&($(),H.current=z,F.current=D),W(e),B&&("function"==typeof B?B(e):"object"==typeof B&&(B.current=e))},[z,B,D,$,W]);i.default.useEffect(()=>{M&&G&&L&&x(M,D,z,{locale:O},{kind:P},Z)},[z,D,G,O,L,null==N?void 0:N.locale,M,Z,P]);let V={ref:U,onClick(e){A||"function"!=typeof S||S(e),A&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),M&&!e.defaultPrevented&&b(e,M,D,z,j,_,E,O,Z)},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),M&&(L||!Z)&&x(M,D,z,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:P},Z)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),M&&(L||!Z)&&x(M,D,z,{locale:O,priority:!0,bypassPrefetchedCheck:!0},{kind:P},Z)}};if((0,c.isAbsoluteUrl)(z))V.href=z;else if(!A||k||"a"===r.type&&!("href"in r.props)){let e=void 0!==O?O:null==N?void 0:N.locale,t=(null==N?void 0:N.isLocaleDomain)&&(0,p.getDomainLocale)(z,e,null==N?void 0:N.locales,null==N?void 0:N.domainLocales);V.href=t||(0,m.addBasePath)((0,u.addLocale)(z,e,null==N?void 0:N.defaultLocale))}return A?i.default.cloneElement(r,V):(0,o.jsx)("a",{...R,...V,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48730:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return u}});let r=n(75271),o=n(50640),i="function"==typeof IntersectionObserver,a=new Map,s=[];function l(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=s.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},s.push(n),a.set(n,t),t}function c(e,t,n){let{id:r,observer:o,elements:i}=l(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);let e=s.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&s.splice(e,1)}}}function u(e){let{rootRef:t,rootMargin:n,disabled:a}=e,s=a||!i,[l,u]=(0,r.useState)(!1),d=(0,r.useRef)(null),f=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(i){if(s||l)return;let e=d.current;if(e&&e.tagName)return c(e,e=>e&&u(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!l){let e=(0,o.requestIdleCallback)(()=>u(!0));return()=>(0,o.cancelIdleCallback)(e)}},[s,n,t,l,d.current]),[f,l,(0,r.useCallback)(()=>{u(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},65180:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return d}}),n(37131);let r=n(53429),o=n(16450);function i(e){return void 0!==e.default}function a(e){return void 0!==e.src}function s(e){return"object"==typeof e&&(i(e)||a(e))}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c(e,t,n){let{deviceSizes:r,allSizes:o}=e;if(n){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let r;r=e.exec(n);r)t.push(parseInt(r[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=r[0]*e),kind:"w"}}return{widths:o,kind:"w"}}return"number"!=typeof t?{widths:r,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))],kind:"x"}}function u(e){let{config:t,src:n,unoptimized:r,width:o,quality:i,sizes:a,loader:s}=e;if(r)return{src:n,srcSet:void 0,sizes:void 0};let{widths:l,kind:u}=c(t,o,a),d=l.length-1;return{sizes:a||"w"!==u?a:"100vw",srcSet:l.map((e,r)=>s({config:t,src:n,quality:i,width:e})+" "+("w"===u?e:r+1)+u).join(", "),src:s({config:t,src:n,quality:i,width:l[d]})}}function d(e,t){let n,a,c,{src:d,sizes:f,unoptimized:h=!1,priority:p=!1,loading:m,className:g,quality:v,width:x,height:y,fill:b=!1,style:w,overrideSrc:k,onLoad:j,onLoadingComplete:_,placeholder:E="empty",blurDataURL:O,fetchPriority:S,layout:C,objectFit:T,objectPosition:A,lazyBoundary:R,lazyRoot:N,...I}=e,{imgConf:M,showAltText:Z,blurComplete:L,defaultLoader:P}=t,D=M||o.imageConfigDefault;if("allSizes"in D)n=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t);n={...D,allSizes:e,deviceSizes:t}}if(void 0===P)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let z=I.loader||P;delete I.loader,delete I.srcSet;let F="__next_img_default"in z;if(F){if("custom"===n.loader)throw Error('Image with src "'+d+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=z;z=t=>{let{config:n,...r}=t;return e(r)}}if(C){"fill"===C&&(b=!0);let e={responsive:"100vw",fill:"100vw"},t={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];t&&(w={...w,...t});let n=e[C];n&&!f&&(f=n)}let H="",B=l(x),W=l(y);if(s(d)){let e=i(d)?d.default:d;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(a=e.blurWidth,c=e.blurHeight,O=O||e.blurDataURL,H=e.src,!b){if(B||W){if(B&&!W){let t=B/e.width;W=Math.round(e.height*t)}else if(!B&&W){let t=W/e.height;B=Math.round(e.width*t)}}else B=e.width,W=e.height}}let G=!p&&("lazy"===m||void 0===m);(!(d="string"==typeof d?d:H)||d.startsWith("data:")||d.startsWith("blob:"))&&(h=!0,G=!1),n.unoptimized&&(h=!0),F&&d.endsWith(".svg")&&!n.dangerouslyAllowSVG&&(h=!0),p&&(S="high");let $=l(v),U=Object.assign(b?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:T,objectPosition:A}:{},Z?{}:{color:"transparent"},w),V=L||"empty"===E?null:"blur"===E?'url("data:image/svg+xml;charset=utf-8,'+(0,r.getImageBlurSvg)({widthInt:B,heightInt:W,blurWidth:a,blurHeight:c,blurDataURL:O||"",objectFit:U.objectFit})+'")':'url("'+E+'")',q=V?{backgroundSize:U.objectFit||"cover",backgroundPosition:U.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},X=u({config:n,src:d,unoptimized:h,width:B,quality:$,sizes:f,loader:z});return{props:{...I,loading:G?"lazy":m,fetchPriority:S,width:B,height:W,decoding:"async",className:g,style:{...U,...q},sizes:X.sizes,srcSet:X.srcSet,src:k||X.src},meta:{unoptimized:h,priority:p,placeholder:E,fill:b}}}},53429:function(e,t){"use strict";function n(e){let{widthInt:t,heightInt:n,blurWidth:r,blurHeight:o,blurDataURL:i,objectFit:a}=e,s=r?40*r:t,l=o?40*o:n,c=s&&l?"viewBox='0 0 "+s+" "+l+"'":"",u=c?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+u+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},94741:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return s}});let r=n(42430),o=n(65180),i=n(20093),a=r._(n(43964));function s(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!0,unoptimized:!0}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=i.Image},43964:function(e,t){"use strict";function n(e){let{config:t,src:n,width:r,quality:o}=e;return t.path+"?url="+encodeURIComponent(n)+"&w="+r+"&q="+(o||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}}),n.__next_img_default=!0;let r=n},45406:function(){},85848:function(){},31613:function(){},58677:function(e){var t="/";!function(){"use strict";var n={114:function(e){function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",o=0,i=-1,a=0,s=0;s<=e.length;++s){if(s2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",o=0):o=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),i=s,a=0;continue}}else if(2===r.length||1===r.length){r="",o=0,i=s,a=0;continue}}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(i+1,s):r=e.slice(i+1,s),o=s-i-1;i=s,a=0}else 46===n&&-1!==a?++a:a=-1}return r}function r(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}var o={resolve:function(){for(var e,r,o="",i=!1,a=arguments.length-1;a>=-1&&!i;a--)a>=0?r=arguments[a]:(void 0===e&&(e=""),r=e),t(r),0!==r.length&&(o=r+"/"+o,i=47===r.charCodeAt(0));return(o=n(o,!i),i)?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return(0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&o&&(e+="/"),r)?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":o.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=o.resolve(e))===(n=o.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(s+d))return n.slice(s+d+1);if(0===d)return n.slice(s+d)}else a>c&&(47===e.charCodeAt(r+d)?u=d:0===d&&(u=0));break}var f=e.charCodeAt(r+d);if(f!==n.charCodeAt(s+d))break;47===f&&(u=d)}var h="";for(d=r+u+1;d<=i;++d)(d===i||47===e.charCodeAt(d))&&(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(s+u):(s+=u,47===n.charCodeAt(s)&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,o=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(n=e.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return -1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw TypeError('"ext" argument must be a string');t(e);var r,o=0,i=-1,a=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var s=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){o=r+1;break}}else -1===l&&(a=!1,l=r+1),s>=0&&(c===n.charCodeAt(s)?-1==--s&&(i=r):(s=-1,i=l))}return o===i?i=l:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){o=r+1;break}}else -1===i&&(a=!1,i=r+1);return -1===i?"":e.slice(o,i)},extname:function(e){t(e);for(var n=-1,r=0,o=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var l=e.charCodeAt(s);if(47===l){if(!i){r=s+1;break}continue}-1===o&&(i=!1,o=s+1),46===l?-1===n?n=s:1!==a&&(a=1):-1!==n&&(a=-1)}return -1===n||-1===o||0===a||1===a&&n===o-1&&n===r+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return r("/",e)},parse:function(e){t(e);var n,r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var o=e.charCodeAt(0),i=47===o;i?(r.root="/",n=1):n=0;for(var a=-1,s=0,l=-1,c=!0,u=e.length-1,d=0;u>=n;--u){if(47===(o=e.charCodeAt(u))){if(!c){s=u+1;break}continue}-1===l&&(c=!1,l=u+1),46===o?-1===a?a=u:1!==d&&(d=1):-1!==a&&(d=-1)}return -1===a||-1===l||0===d||1===d&&a===l-1&&a===s+1?-1!==l&&(0===s&&i?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(s,l)):(0===s&&i?(r.name=e.slice(1,a),r.base=e.slice(1,l)):(r.name=e.slice(s,a),r.base=e.slice(s,l)),r.ext=e.slice(a,l)),s>0?r.dir=e.slice(0,s-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,e.exports=o}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={exports:{}},a=!0;try{n[e](i,i.exports,o),a=!1}finally{a&&delete r[e]}return i.exports}o.ab=t+"/";var i=o(114);e.exports=i}()},81250:function(e){var t="/";!function(){var n={229:function(e){var t,n,r,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function l(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{return n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c=[],u=!1,d=-1;function f(){u&&r&&(u=!1,r.length?c=r.concat(c):d=-1,c.length&&h())}function h(){if(!u){var e=s(f);u=!0;for(var t=c.length;t;){for(r=c,c=[];++d1)for(var n=1;n(0,s.jsx)("button",{className:(0,a.Z)("nextra-button nx-transition-all active:nx-opacity-50","nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5","dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50",t),...n,children:e}),c=n(6642),u={default:"\uD83D\uDCA1",error:"\uD83D\uDEAB",info:(0,s.jsx)(c.AV,{className:"nx-mt-1"}),warning:"⚠️"},d={default:(0,a.Z)("nx-border-orange-100 nx-bg-orange-50 nx-text-orange-800 dark:nx-border-orange-400/30 dark:nx-bg-orange-400/20 dark:nx-text-orange-300"),error:(0,a.Z)("nx-border-red-200 nx-bg-red-100 nx-text-red-900 dark:nx-border-red-200/30 dark:nx-bg-red-900/30 dark:nx-text-red-200"),info:(0,a.Z)("nx-border-blue-200 nx-bg-blue-100 nx-text-blue-900 dark:nx-border-blue-200/30 dark:nx-bg-blue-900/30 dark:nx-text-blue-200"),warning:(0,a.Z)("nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200")};function f({children:e,type:t="default",emoji:n=u[t]}){return(0,s.jsxs)("div",{className:(0,a.Z)("nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4","contrast-more:nx-border-current contrast-more:dark:nx-border-current",d[t]),children:[(0,s.jsx)("div",{className:"nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2",style:{fontFamily:'"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'},children:n}),(0,s.jsx)("div",{className:"nx-w-full nx-min-w-0 nx-leading-7",children:e})]})}var h=n(75271),p=({getValue:e,...t})=>{let[n,r]=(0,h.useState)(!1);(0,h.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{r(!1)},2e3);return()=>{clearTimeout(e)}},[n]);let o=(0,h.useCallback)(async()=>{r(!0),navigator?.clipboard||console.error("Access to clipboard rejected!");try{await navigator.clipboard.writeText(e())}catch{console.error("Failed to copy!")}},[e]),i=n?c.nQ:c.TI;return(0,s.jsx)(l,{onClick:o,title:"Copy code",tabIndex:0,...t,children:(0,s.jsx)(i,{className:"nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4"})})},m=({children:e,className:t,...n})=>{let r="data-line-numbers"in n;return(0,s.jsx)("code",{className:(0,a.Z)("nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em]","dark:nx-border-white/10 dark:nx-bg-white/10",r&&"[counter-reset:line]",t),dir:"ltr",...n,children:e})},g=({children:e,className:t,hasCopyCode:n,filename:r,...o})=>{let i=(0,h.useRef)(null),u=(0,h.useCallback)(()=>{let e=document.documentElement.dataset;"nextraWordWrap"in e?delete e.nextraWordWrap:e.nextraWordWrap=""},[]);return(0,s.jsxs)("div",{className:"nextra-code-block nx-relative nx-mt-6 first:nx-mt-0",children:[r&&(0,s.jsx)("div",{className:"nx-absolute nx-top-0 nx-z-[1] nx-w-full nx-truncate nx-rounded-t-xl nx-bg-primary-700/5 nx-py-2 nx-px-4 nx-text-xs nx-text-gray-700 dark:nx-bg-primary-300/10 dark:nx-text-gray-200",children:r}),(0,s.jsx)("pre",{className:(0,a.Z)("nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em]","contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40",r?"nx-pt-12 nx-pb-4":"nx-py-4",t),ref:i,...o,children:e}),(0,s.jsxs)("div",{className:(0,a.Z)("nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100","nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0",r?"nx-top-8":"nx-top-0"),children:[(0,s.jsx)(l,{onClick:u,className:"md:nx-hidden",title:"Toggle word wrap",children:(0,s.jsx)(c.NK,{className:"nx-pointer-events-none nx-h-4 nx-w-4"})}),n&&(0,s.jsx)(p,{getValue:()=>i.current?.querySelector("code")?.textContent||""})]})]})};function v({children:e,className:t,...n}){return(0,s.jsx)("div",{className:(0,a.Z)("nextra-steps nx-ml-4 nx-mb-12 nx-border-l nx-border-gray-200 nx-pl-6","dark:nx-border-neutral-800 [counter-reset:step]",t),...n,children:e})}var x=n(3308),y=n(67675),b=n(49079),w=n(83442),k=n(45701),j=n(33468),_=n(19696),E=n(61845),O=n(33199),S=n(96708),C=n(8168);function T(e){let{onFocus:t}=e,[n,r]=(0,h.useState)(!0),o=(0,S.t)();return n?h.createElement(C._,{as:"button",type:"button",features:C.A.Focusable,onFocus:e=>{e.preventDefault();let n,i=50;function a(){if(i--<=0){n&&cancelAnimationFrame(n);return}if(t()){if(cancelAnimationFrame(n),!o.current)return;r(!1);return}n=requestAnimationFrame(a)}n=requestAnimationFrame(a)}}):null}var A=n(30182),R=n(99226),N=n(23339);let I=h.createContext(null);function M(){return{groups:new Map,get(e,t){var n;let r=this.groups.get(e);r||(r=new Map,this.groups.set(e,r));let o=null!=(n=r.get(t))?n:0;function i(){let e=r.get(t);e>1?r.set(t,e-1):r.delete(t)}return r.set(t,o+1),[Array.from(r.keys()).indexOf(t),i]}}}function Z(e){let{children:t}=e,n=h.useRef(M());return h.createElement(I.Provider,{value:n},t)}function L(e){let t=h.useContext(I);if(!t)throw Error("You must wrap your component in a ");let n=P(),[r,o]=t.current.get(e,n);return h.useEffect(()=>o,[]),r}function P(){var e,t,n;let r=null!=(n=null==(t=null==(e=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)?void 0:e.ReactCurrentOwner)?void 0:t.current)?n:null;if(!r)return Symbol();let o=[],i=r;for(;i;)o.push(i.index),i=i.return;return"$."+o.join(".")}var D=((r=D||{})[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r),z=((o=z||{})[o.Less=-1]="Less",o[o.Equal=0]="Equal",o[o.Greater=1]="Greater",o),F=((i=F||{})[i.SetSelectedIndex=0]="SetSelectedIndex",i[i.RegisterTab=1]="RegisterTab",i[i.UnregisterTab=2]="UnregisterTab",i[i.RegisterPanel=3]="RegisterPanel",i[i.UnregisterPanel=4]="UnregisterPanel",i);let H={0(e,t){var n;let r=(0,k.z2)(e.tabs,e=>e.current),o=(0,k.z2)(e.panels,e=>e.current),i=r.filter(e=>{var t;return!(null!=(t=e.current)&&t.hasAttribute("disabled"))}),a={...e,tabs:r,panels:o};if(t.index<0||t.index>r.length-1){let n=(0,b.E)(Math.sign(t.index-e.selectedIndex),{[-1]:()=>1,0:()=>(0,b.E)(Math.sign(t.index),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0});if(0===i.length)return a;let o=(0,b.E)(n,{0:()=>r.indexOf(i[0]),1:()=>r.indexOf(i[i.length-1])});return{...a,selectedIndex:-1===o?e.selectedIndex:o}}let s=r.slice(0,t.index),l=[...r.slice(t.index),...s].find(e=>i.includes(e));if(!l)return a;let c=null!=(n=r.indexOf(l))?n:e.selectedIndex;return -1===c&&(c=e.selectedIndex),{...a,selectedIndex:c}},1(e,t){var n;if(e.tabs.includes(t.tab))return e;let r=e.tabs[e.selectedIndex],o=(0,k.z2)([...e.tabs,t.tab],e=>e.current),i=null!=(n=o.indexOf(r))?n:e.selectedIndex;return -1===i&&(i=e.selectedIndex),{...e,tabs:o,selectedIndex:i}},2:(e,t)=>({...e,tabs:e.tabs.filter(e=>e!==t.tab)}),3:(e,t)=>e.panels.includes(t.panel)?e:{...e,panels:(0,k.z2)([...e.panels,t.panel],e=>e.current)},4:(e,t)=>({...e,panels:e.panels.filter(e=>e!==t.panel)})},B=(0,h.createContext)(null);function W(e){let t=(0,h.useContext)(B);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,W),t}return t}B.displayName="TabsDataContext";let G=(0,h.createContext)(null);function $(e){let t=(0,h.useContext)(G);if(null===t){let t=Error("<".concat(e," /> is missing a parent component."));throw Error.captureStackTrace&&Error.captureStackTrace(t,$),t}return t}function U(e,t){return(0,b.E)(t.type,H,e,t)}G.displayName="TabsActionsContext";let V=h.Fragment;function q(e,t){let{defaultIndex:n=0,vertical:r=!1,manual:o=!1,onChange:i,selectedIndex:a=null,...s}=e,l=r?"vertical":"horizontal",c=o?"manual":"auto",u=null!==a,d=(0,_.T)(t),[f,p]=(0,h.useReducer)(U,{selectedIndex:null!=a?a:n,tabs:[],panels:[]}),m=(0,h.useMemo)(()=>({selectedIndex:f.selectedIndex}),[f.selectedIndex]),g=(0,O.E)(i||(()=>{})),v=(0,O.E)(f.tabs),y=(0,h.useMemo)(()=>({orientation:l,activation:c,...f}),[l,c,f]),b=(0,A.z)(e=>(p({type:1,tab:e}),()=>p({type:2,tab:e}))),w=(0,A.z)(e=>(p({type:3,panel:e}),()=>p({type:4,panel:e}))),E=(0,A.z)(e=>{S.current!==e&&g.current(e),u||p({type:0,index:e})}),S=(0,O.E)(u?e.selectedIndex:f.selectedIndex),C=(0,h.useMemo)(()=>({registerTab:b,registerPanel:w,change:E}),[]);(0,j.e)(()=>{p({type:0,index:null!=a?a:n})},[a]),(0,j.e)(()=>{if(void 0===S.current||f.tabs.length<=0)return;let e=(0,k.z2)(f.tabs,e=>e.current);e.some((e,t)=>f.tabs[t]!==e)&&E(e.indexOf(f.tabs[S.current]))});let R={ref:d};return h.createElement(Z,null,h.createElement(G.Provider,{value:C},h.createElement(B.Provider,{value:y},y.tabs.length<=0&&h.createElement(T,{onFocus:()=>{var e,t;for(let n of v.current)if((null==(e=n.current)?void 0:e.tabIndex)===0)return null==(t=n.current)||t.focus(),!0;return!1}}),(0,x.sY)({ourProps:R,theirProps:s,slot:m,defaultTag:V,name:"Tabs"}))))}let X="div";function K(e,t){let{orientation:n,selectedIndex:r}=W("Tab.List"),o=(0,_.T)(t);return(0,x.sY)({ourProps:{ref:o,role:"tablist","aria-orientation":n},theirProps:e,slot:{selectedIndex:r},defaultTag:X,name:"Tabs.List"})}let Q="button";function Y(e,t){var n,r;let o=(0,y.M)(),{id:i="headlessui-tabs-tab-".concat(o),...a}=e,{orientation:s,activation:l,selectedIndex:c,tabs:u,panels:d}=W("Tab"),f=$("Tab"),p=W("Tab"),m=(0,h.useRef)(null),g=(0,_.T)(m,t);(0,j.e)(()=>f.registerTab(m),[f,m]);let v=L("tabs"),O=u.indexOf(m);-1===O&&(O=v);let S=O===c,C=(0,A.z)(e=>{var t;let n=e();if(n===k.fE.Success&&"auto"===l){let e=null==(t=(0,N.r)(m))?void 0:t.activeElement,n=p.tabs.findIndex(t=>t.current===e);-1!==n&&f.change(n)}return n}),T=(0,A.z)(e=>{let t=u.map(e=>e.current).filter(Boolean);if(e.key===w.R.Space||e.key===w.R.Enter){e.preventDefault(),e.stopPropagation(),f.change(O);return}switch(e.key){case w.R.Home:case w.R.PageUp:return e.preventDefault(),e.stopPropagation(),C(()=>(0,k.jA)(t,k.TO.First));case w.R.End:case w.R.PageDown:return e.preventDefault(),e.stopPropagation(),C(()=>(0,k.jA)(t,k.TO.Last))}if(C(()=>(0,b.E)(s,{vertical:()=>e.key===w.R.ArrowUp?(0,k.jA)(t,k.TO.Previous|k.TO.WrapAround):e.key===w.R.ArrowDown?(0,k.jA)(t,k.TO.Next|k.TO.WrapAround):k.fE.Error,horizontal:()=>e.key===w.R.ArrowLeft?(0,k.jA)(t,k.TO.Previous|k.TO.WrapAround):e.key===w.R.ArrowRight?(0,k.jA)(t,k.TO.Next|k.TO.WrapAround):k.fE.Error}))===k.fE.Success)return e.preventDefault()}),I=(0,h.useRef)(!1),M=(0,A.z)(()=>{var e;I.current||(I.current=!0,null==(e=m.current)||e.focus({preventScroll:!0}),f.change(O),(0,R.Y)(()=>{I.current=!1}))}),Z=(0,A.z)(e=>{e.preventDefault()}),P=(0,h.useMemo)(()=>({selected:S}),[S]),D={ref:g,onKeyDown:T,onMouseDown:Z,onClick:M,id:i,role:"tab",type:(0,E.f)(e,m),"aria-controls":null==(r=null==(n=d[O])?void 0:n.current)?void 0:r.id,"aria-selected":S,tabIndex:S?0:-1};return(0,x.sY)({ourProps:D,theirProps:a,slot:P,defaultTag:Q,name:"Tabs.Tab"})}let J="div";function ee(e,t){let{selectedIndex:n}=W("Tab.Panels"),r=(0,_.T)(t),o=(0,h.useMemo)(()=>({selectedIndex:n}),[n]);return(0,x.sY)({ourProps:{ref:r},theirProps:e,slot:o,defaultTag:J,name:"Tabs.Panels"})}let et="div",en=x.AN.RenderStrategy|x.AN.Static;function er(e,t){var n,r,o,i;let a=(0,y.M)(),{id:s="headlessui-tabs-panel-".concat(a),tabIndex:l=0,...c}=e,{selectedIndex:u,tabs:d,panels:f}=W("Tab.Panel"),p=$("Tab.Panel"),m=(0,h.useRef)(null),g=(0,_.T)(m,t);(0,j.e)(()=>p.registerPanel(m),[p,m]);let v=L("panels"),b=f.indexOf(m);-1===b&&(b=v);let w=b===u,k=(0,h.useMemo)(()=>({selected:w}),[w]),E={ref:g,id:s,role:"tabpanel","aria-labelledby":null==(r=null==(n=d[b])?void 0:n.current)?void 0:r.id,tabIndex:w?l:-1};return w||null!=(o=c.unmount)&&!o||null!=(i=c.static)&&i?(0,x.sY)({ourProps:E,theirProps:c,slot:k,defaultTag:et,features:en,visible:w,name:"Tabs.Panel"}):h.createElement(C._,{as:"span",...E})}let eo=Object.assign((0,x.yV)(Y),{Group:(0,x.yV)(q),List:(0,x.yV)(K),Panels:(0,x.yV)(ee),Panel:(0,x.yV)(er)});function ei(e){return!!e&&"object"==typeof e&&"label"in e}var ea=Object.assign(function({items:e,selectedIndex:t,defaultIndex:n=0,onChange:r,children:o,storageKey:i}){let[l,c]=(0,h.useState)(n);(0,h.useEffect)(()=>{void 0!==t&&c(t)},[t]),(0,h.useEffect)(()=>{if(!i)return;function e(e){e.key===i&&c(Number(e.newValue))}let t=Number(localStorage.getItem(i));return c(Number.isNaN(t)?0:t),window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}},[]);let u=(0,h.useCallback)(e=>{if(i){let t=String(e);localStorage.setItem(i,t),window.dispatchEvent(new StorageEvent("storage",{key:i,newValue:t}));return}c(e),r?.(e)},[]);return(0,s.jsxs)(eo.Group,{selectedIndex:l,defaultIndex:n,onChange:u,children:[(0,s.jsx)("div",{className:"nextra-scrollbar nx-overflow-x-auto nx-overflow-y-hidden nx-overscroll-x-contain",children:(0,s.jsx)(eo.List,{className:"nx-mt-4 nx-flex nx-w-max nx-min-w-full nx-border-b nx-border-gray-200 nx-pb-px dark:nx-border-neutral-800",children:e.map((e,t)=>{let n=ei(e)&&e.disabled;return(0,s.jsx)(eo,{disabled:n,className:({selected:e})=>(0,a.Z)("nx-mr-2 nx-rounded-t nx-p-2 nx-font-medium nx-leading-5 nx-transition-colors","-nx-mb-0.5 nx-select-none nx-border-b-2",e?"nx-border-primary-500 nx-text-primary-600":"nx-border-transparent nx-text-gray-600 hover:nx-border-gray-200 hover:nx-text-black dark:nx-text-gray-200 dark:hover:nx-border-neutral-800 dark:hover:nx-text-white",n&&"nx-pointer-events-none nx-text-gray-400 dark:nx-text-neutral-600"),children:ei(e)?e.label:e},t)})})}),(0,s.jsx)(eo.Panels,{children:o})]})},{displayName:"Tabs",Tab:function({children:e,...t}){return(0,s.jsx)(eo.Panel,{...t,className:"nx-rounded nx-pt-6",children:e})}}),es=({className:e="",...t})=>(0,s.jsx)("td",{className:(0,a.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600",e),...t}),el=({className:e="",...t})=>(0,s.jsx)("table",{className:(0,a.Z)("nx-block nx-overflow-x-scroll",e),...t}),ec=({className:e="",...t})=>(0,s.jsx)("th",{className:(0,a.Z)("nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600",e),...t}),eu=({className:e="",...t})=>(0,s.jsx)("tr",{className:(0,a.Z)("nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600","even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20",e),...t}),ed=n(44729),ef=n.n(ed),eh={cards:(0,a.Z)("nextra-cards nx-mt-4 nx-gap-4 nx-grid","nx-not-prose"),card:(0,a.Z)("nextra-card nx-group nx-flex nx-flex-col nx-justify-start nx-overflow-hidden nx-rounded-lg nx-border nx-border-gray-200","nx-text-current nx-no-underline dark:nx-shadow-none","hover:nx-shadow-gray-100 dark:hover:nx-shadow-none nx-shadow-gray-100","active:nx-shadow-sm active:nx-shadow-gray-200","nx-transition-all nx-duration-200 hover:nx-border-gray-300"),title:(0,a.Z)("nx-flex nx-font-semibold nx-items-start nx-gap-2 nx-p-4 nx-text-gray-700 hover:nx-text-gray-900")},ep=(0,s.jsx)("span",{className:"nx-transition-transform nx-duration-75 group-hover:nx-translate-x-[2px]",children:"→"});Object.assign(function({children:e,num:t=3,className:n,style:r,...o}){return(0,s.jsx)("div",{className:(0,a.Z)(eh.cards,n),...o,style:{...r,"--rows":t},children:e})},{displayName:"Cards",Card:function({children:e,title:t,icon:n,image:r,arrow:o,href:i,...l}){let c=o?ep:null;return r?(0,s.jsxs)(ef(),{href:i,className:(0,a.Z)(eh.card,"nx-bg-gray-100 nx-shadow dark:nx-border-neutral-700 dark:nx-bg-neutral-800 dark:nx-text-gray-50 hover:nx-shadow-lg dark:hover:nx-border-neutral-500 dark:hover:nx-bg-neutral-700"),...l,children:[e,(0,s.jsxs)("span",{className:(0,a.Z)(eh.title,"dark:nx-text-gray-300 dark:hover:nx-text-gray-100"),children:[n,(0,s.jsxs)("span",{className:"nx-flex nx-gap-1",children:[t,c]})]})]}):(0,s.jsx)(ef(),{href:i,className:(0,a.Z)(eh.card,"nx-bg-transparent nx-shadow-sm dark:nx-border-neutral-800 hover:nx-bg-slate-50 hover:nx-shadow-md dark:hover:nx-border-neutral-700 dark:hover:nx-bg-neutral-900"),...l,children:(0,s.jsxs)("span",{className:(0,a.Z)(eh.title,"dark:nx-text-neutral-200 dark:hover:nx-text-neutral-50 nx-flex nx-items-center"),children:[n,t,c]})})}});var em=(0,h.createContext)(0);function eg(){return(0,h.useContext)(em)}function ev({children:e}){return(0,s.jsx)("div",{className:(0,a.Z)("nextra-filetree nx-mt-6 nx-select-none nx-text-sm nx-text-gray-800 dark:nx-text-gray-300","nx-not-prose"),children:(0,s.jsx)("div",{className:"nx-inline-block nx-rounded-lg nx-border nx-px-4 nx-py-2 dark:nx-border-neutral-800",children:e})})}function ex(){let e=eg();return(0,s.jsx)(s.Fragment,{children:Array.from({length:e},(e,t)=>(0,s.jsx)("span",{className:"nx-w-5"},t))})}var ey=(0,h.memo)(({label:e,name:t,open:n,children:r,defaultOpen:o=!1,onToggle:i})=>{let a=eg(),[l,c]=(0,h.useState)(o),u=(0,h.useCallback)(()=>{i?.(!l),c(!l)},[l,i]),d=void 0===n?l:n;return(0,s.jsxs)("li",{className:"nx-flex nx-list-none nx-flex-col",children:[(0,s.jsxs)("button",{onClick:u,title:t,className:"nx-inline-flex nx-cursor-pointer nx-items-center nx-py-1 hover:nx-opacity-60",children:[(0,s.jsx)(ex,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:d?"M5 19a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4l2 2h4a2 2 0 0 1 2 2v1M5 19h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2Z":"M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]}),d&&(0,s.jsx)("ul",{children:(0,s.jsx)(em.Provider,{value:a+1,children:r})})]})});ey.displayName="Folder";var eb=(0,h.memo)(({label:e,name:t,active:n})=>(0,s.jsx)("li",{className:(0,a.Z)("nx-flex nx-list-none",n&&"nx-text-primary-600 contrast-more:nx-underline"),children:(0,s.jsxs)("span",{className:"nx-inline-flex nx-cursor-default nx-items-center nx-py-1",children:[(0,s.jsx)(ex,{}),(0,s.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",children:(0,s.jsx)("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5.586a1 1 0 0 1 .707.293l5.414 5.414a1 1 0 0 1 .293.707V19a2 2 0 0 1-2 2Z"})}),(0,s.jsx)("span",{className:"nx-ml-1",children:e??t})]})}));eb.displayName="File",Object.assign(ev,{Folder:ey,File:eb})},6642:function(e,t,n){"use strict";n.d(t,{LZ:function(){return o},nQ:function(){return i},TI:function(){return a},D7:function(){return s},Qq:function(){return l},fy:function(){return c},n9:function(){return u},AV:function(){return d},Oq:function(){return f},kL:function(){return h},L4:function(){return p},NW:function(){return m},NK:function(){return g},b0:function(){return v}});var r=n(52676);function o({pathClassName:e,...t}){return(0,r.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",...t,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 5l7 7-7 7",className:e})})}function i(e){return(0,r.jsx)("svg",{viewBox:"0 0 20 20",width:"1em",height:"1em",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})}function a(e){return(0,r.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...e,children:[(0,r.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,r.jsx)("path",{d:"M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function s(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 5 30.67 23.25",...e,children:[(0,r.jsx)("title",{children:"Discord"}),(0,r.jsx)("path",{d:"M26.0015 6.9529C24.0021 6.03845 21.8787 5.37198 19.6623 5C19.3833 5.48048 19.0733 6.13144 18.8563 6.64292C16.4989 6.30193 14.1585 6.30193 11.8336 6.64292C11.6166 6.13144 11.2911 5.48048 11.0276 5C8.79575 5.37198 6.67235 6.03845 4.6869 6.9529C0.672601 12.8736 -0.41235 18.6548 0.130124 24.3585C2.79599 26.2959 5.36889 27.4739 7.89682 28.2489C8.51679 27.4119 9.07477 26.5129 9.55525 25.5675C8.64079 25.2265 7.77283 24.808 6.93587 24.312C7.15286 24.1571 7.36986 23.9866 7.57135 23.8161C12.6241 26.1255 18.0969 26.1255 23.0876 23.8161C23.3046 23.9866 23.5061 24.1571 23.7231 24.312C22.8861 24.808 22.0182 25.2265 21.1037 25.5675C21.5842 26.5129 22.1422 27.4119 22.7621 28.2489C25.2885 27.4739 27.8769 26.2959 30.5288 24.3585C31.1952 17.7559 29.4733 12.0212 26.0015 6.9529ZM10.2527 20.8402C8.73376 20.8402 7.49382 19.4608 7.49382 17.7714C7.49382 16.082 8.70276 14.7025 10.2527 14.7025C11.7871 14.7025 13.0425 16.082 13.0115 17.7714C13.0115 19.4608 11.7871 20.8402 10.2527 20.8402ZM20.4373 20.8402C18.9183 20.8402 17.6768 19.4608 17.6768 17.7714C17.6768 16.082 18.8873 14.7025 20.4373 14.7025C21.9717 14.7025 23.2271 16.082 23.1961 17.7714C23.1961 19.4608 21.9872 20.8402 20.4373 20.8402Z"})]})}function l({isOpen:e,...t}){return(0,r.jsxs)("svg",{height:"12",width:"12",viewBox:"0 0 16 16",fill:"currentColor",...t,children:[(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z",className:e?"":"nx-origin-[35%] nx-rotate-180"}),(0,r.jsx)("path",{fillRule:"evenodd",d:"M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"})]})}function c(e){return(0,r.jsxs)("svg",{width:"24",height:"24",fill:"currentColor",viewBox:"3 3 18 18",...e,children:[(0,r.jsx)("title",{children:"GitHub"}),(0,r.jsx)("path",{d:"M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z"})]})}function u(e){return(0,r.jsx)("svg",{viewBox:"2 2 16 16",width:"12",height:"12",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z",clipRule:"evenodd"})})}function d(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"20",height:"20",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"})})}function f(e){return(0,r.jsxs)("svg",{fill:"none",width:"24",height:"24",viewBox:"0 0 24 24",stroke:"currentColor",...e,children:[(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 6h16"})}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 12h16"}),(0,r.jsx)("g",{children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 18h16"})})]})}function h(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"2 2 20 20",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}function p(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"24",height:"24",...e,children:[(0,r.jsx)("circle",{className:"nx-opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"nx-opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function m(e){return(0,r.jsx)("svg",{fill:"none",viewBox:"3 3 18 18",width:"12",height:"12",stroke:"currentColor",...e,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",fill:"currentColor",d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})})}function g(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function v(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"currentColor",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}},53743:function(e,t,n){"use strict";n.d(t,{Z:function(){return s},a:function(){return d}});var r=n(75271);let o=r.createContext({});function i(e){let t=r.useContext(o);return r.useMemo(()=>"function"==typeof e?e(t):{...t,...e},[t,e])}let a={};function s({components:e,children:t,disableParentContext:n}){let s;return s=n?"function"==typeof e?e({}):e||a:i(e),r.createElement(o.Provider,{value:s},t)}var l=n(75442),c=n.n(l),u={img:e=>(0,r.createElement)("object"==typeof e.src?c():"img",e)},d=e=>i({...u,...e})},85182:function(e,t,n){"use strict";var r=n(6097);function o(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var n=new URL(e);t.protocols=r(n),t.protocol=t.protocols[0],t.port=n.port,t.resource=n.hostname,t.host=n.host,t.user=n.username||"",t.password=n.password||"",t.pathname=n.pathname,t.hash=n.hash.slice(1),t.search=n.search.slice(1),t.href=n.href,t.query=Object.fromEntries(n.searchParams)}catch(n){t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}e.exports=o},78593:function(e,t,n){"use strict";var r=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(n(85182));let o="text/plain",i="us-ascii",a=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),s=(e,{stripHash:t})=>{let n=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:a,hash:s}=n.groups,l=r.split(";");s=t?"":s;let c=!1;"base64"===l[l.length-1]&&(l.pop(),c=!0);let u=(l.shift()||"").toLowerCase(),d=[...l.map(e=>{let[t,n=""]=e.split("=").map(e=>e.trim());return"charset"===t&&(n=n.toLowerCase())===i?"":`${t}${n?`=${n}`:""}`}).filter(Boolean)];return c&&d.push("base64"),(d.length>0||u&&u!==o)&&d.unshift(u),`data:${d.join(";")},${c?a.trim():a}${s?`#${s}`:""}`};function l(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return s(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let r=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===r.protocol&&(r.protocol="http:"),t.forceHttps&&"http:"===r.protocol&&(r.protocol="https:"),t.stripAuthentication&&(r.username="",r.password=""),t.stripHash?r.hash="":t.stripTextFragment&&(r.hash=r.hash.replace(/#?:~:text.*?$/i,"")),r.pathname){let e=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,t=0,n="";for(;;){let o=e.exec(r.pathname);if(!o)break;let i=o[0],a=o.index;n+=r.pathname.slice(t,a).replace(/\/{2,}/g,"/")+i,t=a+i.length}n+=r.pathname.slice(t,r.pathname.length).replace(/\/{2,}/g,"/"),r.pathname=n}if(r.pathname)try{r.pathname=decodeURI(r.pathname)}catch{}if(!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=r.pathname.split("/");a(e[e.length-1],t.removeDirectoryIndex)&&(e=e.slice(0,-1),r.pathname=e.slice(1).join("/")+"/")}if(r.hostname&&(r.hostname=r.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(r.hostname)&&(r.hostname=r.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let e of[...r.searchParams.keys()])a(e,t.removeQueryParameters)&&r.searchParams.delete(e);if(!0===t.removeQueryParameters&&(r.search=""),t.sortQueryParameters){r.searchParams.sort();try{r.search=decodeURIComponent(r.search)}catch{}}t.removeTrailingSlash&&(r.pathname=r.pathname.replace(/\/$/,""));let o=e;return e=r.toString(),t.removeSingleSlash||"/"!==r.pathname||o.endsWith("/")||""!==r.hash||(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||"/"===r.pathname)&&""===r.hash&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}let c=(e,t=!1)=>{let n=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=t=>{let n=Error(t);throw n.subject_url=e,n};"string"==typeof e&&e.trim()||o("Invalid url."),e.length>c.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&("object"!=typeof t&&(t={stripHash:!1}),e=l(e,t));let i=r.default(e);if(i.parse_failed){let e=i.href.match(n);e?(i.protocols=["ssh"],i.protocol="ssh",i.resource=e[2],i.host=e[2],i.user=e[1],i.pathname=`/${e[3]}`,i.parse_failed=!1):o("URL parsing failed.")}return i};c.MAX_INPUT_LENGTH=2048,e.exports=c},74049:function(e,t,n){"use strict";var r=n(36257);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},40507:function(e,t,n){e.exports=n(74049)()},36257:function(e){"use strict";var t="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=t},6097:function(e){"use strict";e.exports=function(e,t){!0===t&&(t=0);var n="";if("string"==typeof e)try{n=new URL(e).protocol}catch(e){}else e&&e.constructor===URL&&(n=e.protocol);var r=n.split(/\:|\+/).filter(Boolean);return"number"==typeof t?r[t]:r}},1354:function(e,t,n){"use strict";n.d(t,{ZP:function(){return em}});var r=n(74948),o=n(78405),i=n(80747),a=n(91102),s=n(82187),l=n.n(s),c=n(74194),u=n(47486),d=n(75271),f=d.createContext({}),h=n(11333),p=n(14634),m=n(44085),g=n(34084),v=function(e){(0,m.Z)(n,e);var t=(0,g.Z)(n);function n(){return(0,h.Z)(this,n),t.apply(this,arguments)}return(0,p.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(d.Component),x=n(94269),y=n(51209),b=n(35677);function w(e){var t=d.useReducer(function(e){return e+1},0),n=(0,i.Z)(t,2)[1],r=d.useRef(e);return[(0,b.Z)(function(){return r.current}),(0,b.Z)(function(e){r.current="function"==typeof e?e(r.current):e,n()})]}var k="none",j="appear",_="enter",E="leave",O="none",S="prepare",C="start",T="active",A="end",R="prepared",N=n(67042);function I(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}var M=function(e,t){var n={animationend:I("Animation","AnimationEnd"),transitionend:I("Transition","TransitionEnd")};return!e||("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}((0,N.Z)(),"undefined"!=typeof window?window:{}),Z={};(0,N.Z)()&&(Z=document.createElement("div").style);var L={};function P(e){if(L[e])return L[e];var t=M[e];if(t)for(var n=Object.keys(t),r=n.length,o=0;o1&&void 0!==arguments[1]?arguments[1]:2;t();var i=(0,U.Z)(function(){o<=1?r({isCanceled:function(){return i!==e.current}}):n(r,o-1)});e.current=i}return d.useEffect(function(){return function(){t()}},[]),[n,t]},q=[S,C,T,A],X=[S,R],K=!1,Q=!0;function Y(e){return e===T||e===A}var J=function(e,t,n){var r=(0,y.Z)(O),o=(0,i.Z)(r,2),a=o[0],s=o[1],l=V(),c=(0,i.Z)(l,2),u=c[0],f=c[1];function h(){s(S,!0)}var p=t?X:q;return $(function(){if(a!==O&&a!==A){var e=p.indexOf(a),t=p[e+1],r=n(a);r===K?s(t,!0):t&&u(function(e){function n(){e.isCanceled()||s(t,!0)}!0===r?n():Promise.resolve(r).then(n)})}},[e,a]),d.useEffect(function(){return function(){f()}},[]),[h,a]};function ee(e,t,n,a){var s=a.motionEnter,l=void 0===s||s,c=a.motionAppear,u=void 0===c||c,f=a.motionLeave,h=void 0===f||f,p=a.motionDeadline,m=a.motionLeaveImmediately,g=a.onAppearPrepare,v=a.onEnterPrepare,b=a.onLeavePrepare,O=a.onAppearStart,A=a.onEnterStart,N=a.onLeaveStart,I=a.onAppearActive,M=a.onEnterActive,Z=a.onLeaveActive,L=a.onAppearEnd,P=a.onEnterEnd,D=a.onLeaveEnd,z=a.onVisibleChanged,F=(0,y.Z)(),H=(0,i.Z)(F,2),B=H[0],W=H[1],U=w(k),V=(0,i.Z)(U,2),q=V[0],X=V[1],ee=(0,y.Z)(null),et=(0,i.Z)(ee,2),en=et[0],er=et[1],eo=q(),ei=(0,d.useRef)(!1),ea=(0,d.useRef)(null);function es(){return n()}var el=(0,d.useRef)(!1);function ec(){X(k),er(null,!0)}var eu=(0,x.zX)(function(e){var t,n=q();if(n!==k){var r=es();if(!e||e.deadline||e.target===r){var o=el.current;n===j&&o?t=null==L?void 0:L(r,e):n===_&&o?t=null==P?void 0:P(r,e):n===E&&o&&(t=null==D?void 0:D(r,e)),o&&!1!==t&&ec()}}}),ed=G(eu),ef=(0,i.Z)(ed,1)[0],eh=function(e){switch(e){case j:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,g),C,O),T,I);case _:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,v),C,A),T,M);case E:return(0,r.Z)((0,r.Z)((0,r.Z)({},S,b),C,N),T,Z);default:return{}}},ep=d.useMemo(function(){return eh(eo)},[eo]),em=J(eo,!e,function(e){if(e===S){var t,n=ep[S];return n?n(es()):K}return ex in ep&&er((null===(t=ep[ex])||void 0===t?void 0:t.call(ep,es(),null))||null),ex===T&&eo!==k&&(ef(es()),p>0&&(clearTimeout(ea.current),ea.current=setTimeout(function(){eu({deadline:!0})},p))),ex===R&&ec(),Q}),eg=(0,i.Z)(em,2),ev=eg[0],ex=eg[1],ey=Y(ex);el.current=ey,$(function(){W(t);var n,r=ei.current;ei.current=!0,!r&&t&&u&&(n=j),r&&t&&l&&(n=_),(r&&!t&&h||!r&&m&&!t&&h)&&(n=E);var o=eh(n);n&&(e||o[S])?(X(n),ev()):X(k)},[t]),(0,d.useEffect)(function(){(eo!==j||u)&&(eo!==_||l)&&(eo!==E||h)||X(k)},[u,l,h]),(0,d.useEffect)(function(){return function(){ei.current=!1,clearTimeout(ea.current)}},[]);var eb=d.useRef(!1);(0,d.useEffect)(function(){B&&(eb.current=!0),void 0!==B&&eo===k&&((eb.current||B)&&(null==z||z(B)),eb.current=!0)},[B,eo]);var ew=en;return ep[S]&&ex===C&&(ew=(0,o.Z)({transition:"none"},ew)),[eo,ex,ew,null!=B?B:t]}var et=function(e){var t=e;function n(e,n){return!!(e.motionName&&t&&!1!==n)}"object"===(0,a.Z)(e)&&(t=e.transitionSupport);var s=d.forwardRef(function(e,t){var a=e.visible,s=void 0===a||a,h=e.removeOnLeave,p=void 0===h||h,m=e.forceRender,g=e.children,x=e.motionName,y=e.leavedClassName,b=e.eventProps,w=n(e,d.useContext(f).motion),j=(0,d.useRef)(),_=(0,d.useRef)(),E=ee(w,s,function(){try{return j.current instanceof HTMLElement?j.current:(0,c.ZP)(_.current)}catch(e){return null}},e),O=(0,i.Z)(E,4),T=O[0],A=O[1],R=O[2],N=O[3],I=d.useRef(N);N&&(I.current=!0);var M=d.useCallback(function(e){j.current=e,(0,u.mH)(t,e)},[t]),Z=(0,o.Z)((0,o.Z)({},b),{},{visible:s});if(g){if(T===k)L=N?g((0,o.Z)({},Z),M):!p&&I.current&&y?g((0,o.Z)((0,o.Z)({},Z),{},{className:y}),M):!m&&(p||y)?null:g((0,o.Z)((0,o.Z)({},Z),{},{style:{display:"none"}}),M);else{A===S?P="prepare":Y(A)?P="active":A===C&&(P="start");var L,P,D=W(x,"".concat(T,"-").concat(P));L=g((0,o.Z)((0,o.Z)({},Z),{},{className:l()(W(x,T),(0,r.Z)((0,r.Z)({},D,D&&P),x,"string"==typeof x)),style:R}),M)}}else L=null;return d.isValidElement(L)&&(0,u.Yr)(L)&&!L.ref&&(L=d.cloneElement(L,{ref:M})),d.createElement(v,{ref:_},L)});return s.displayName="CSSMotion",s}(F),en=n(59849),er=n(97808),eo=n(22220),ei="add",ea="keep",es="remove",el="removed";function ec(e){var t;return t=e&&"object"===(0,a.Z)(e)&&"key"in e?e:{key:e},(0,o.Z)((0,o.Z)({},t),{},{key:String(t.key)})}function eu(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(ec)}function ed(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=0,i=t.length,a=eu(e),s=eu(t);a.forEach(function(e){for(var t=!1,a=r;a1}).forEach(function(e){(n=n.filter(function(t){var n=t.key,r=t.status;return n!==e||r!==es})).forEach(function(t){t.key===e&&(t.status=ea)})}),n}var ef=["component","children","onVisibleChanged","onAllRemoved"],eh=["status"],ep=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:et,n=function(e){(0,m.Z)(i,e);var n=(0,g.Z)(i);function i(){var e;(0,h.Z)(this,i);for(var t=arguments.length,a=Array(t),s=0;s1&&void 0!==arguments[1]?arguments[1]:{},n=[];return r.Children.forEach(e,function(e){(null!=e||t.keepEmpty)&&(Array.isArray(e)?n=n.concat(i(e)):(0,o.isFragment)(e)&&e.props?n=n.concat(i(e.props.children,t)):n.push(e))}),n}},67042:function(e,t,n){"use strict";function r(){return!!("undefined"!=typeof window&&window.document&&window.document.createElement)}n.d(t,{Z:function(){return r}})},84041:function(e,t,n){"use strict";n.d(t,{jL:function(){return g},hq:function(){return x}});var r=n(78405),o=n(67042);function i(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var a="data-rc-order",s="data-rc-priority",l="rc-util-key",c=new Map;function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):l}function d(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function f(e){return"queue"===e?"prependQueue":e?"prepend":"append"}function h(e){return Array.from((c.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,o.Z)())return null;var n=t.csp,r=t.prepend,i=t.priority,l=void 0===i?0:i,c=f(r),u="prependQueue"===c,p=document.createElement("style");p.setAttribute(a,c),u&&l&&p.setAttribute(s,"".concat(l)),null!=n&&n.nonce&&(p.nonce=null==n?void 0:n.nonce),p.innerHTML=e;var m=d(t),g=m.firstChild;if(r){if(u){var v=(t.styles||h(m)).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute(a))&&l>=Number(e.getAttribute(s)||0)});if(v.length)return m.insertBefore(p,v[v.length-1].nextSibling),p}m.insertBefore(p,g)}else m.appendChild(p);return p}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=d(t);return(t.styles||h(n)).find(function(n){return n.getAttribute(u(t))===e})}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=m(e,t);n&&d(t).removeChild(n)}function v(e,t){var n=c.get(e);if(!n||!i(document,n)){var r=p("",t),o=r.parentNode;c.set(e,o),e.removeChild(r)}}function x(e,t){var n,o,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=d(a),l=h(s),c=(0,r.Z)((0,r.Z)({},a),{},{styles:l});v(s,c);var f=m(t,c);if(f)return null!==(n=c.csp)&&void 0!==n&&n.nonce&&f.nonce!==(null===(o=c.csp)||void 0===o?void 0:o.nonce)&&(f.nonce=null===(i=c.csp)||void 0===i?void 0:i.nonce),f.innerHTML!==e&&(f.innerHTML=e),f;var g=p(e,c);return g.setAttribute(u(c),t),g}},74194:function(e,t,n){"use strict";n.d(t,{Sh:function(){return a},ZP:function(){return l}});var r=n(91102),o=n(75271),i=n(30967);function a(e){return e instanceof HTMLElement||e instanceof SVGElement}function s(e){return e&&"object"===(0,r.Z)(e)&&a(e.nativeElement)?e.nativeElement:a(e)?e:null}function l(e){var t;return s(e)||(e instanceof o.Component?null===(t=i.findDOMNode)||void 0===t?void 0:t.call(i,e):null)}},73188:function(e,t){"use strict";t.Z=function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e.getBoundingClientRect){var o=e.getBoundingClientRect(),i=o.width,a=o.height;if(i||a)return!0}}return!1}},35677:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(75271);function o(e){var t=r.useRef();return t.current=e,r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o2&&void 0!==arguments[2]&&arguments[2],i=new Set;function a(e,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,l=i.has(e);if((0,o.ZP)(!l,"Warning: There may be circular references"),l)return!1;if(e===t)return!0;if(n&&s>1)return!1;i.add(e);var c=s+1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:1,r=o+=1;function s(t){if(0===t)a(r),e();else{var o=n(function(){s(t-1)});i.set(r,o)}}return s(t),r};s.cancel=function(e){var t=i.get(e);return a(e),r(t)},t.Z=s},47486:function(e,t,n){"use strict";n.d(t,{Yr:function(){return u},mH:function(){return s},sQ:function(){return l},x1:function(){return c}});var r=n(91102),o=n(75271),i=n(61357),a=n(9839),s=function(e,t){"function"==typeof e?e(t):"object"===(0,r.Z)(e)&&e&&"current"in e&&(e.current=t)},l=function(){for(var e=arguments.length,t=Array(e),n=0;n3&&void 0!==arguments[3]&&arguments[3];return t.length&&r&&void 0===n&&!(0,d.Z)(e,t.slice(0,-1))?e:f(e,t,n,r)}function p(e){return"object"===(0,r.Z)(e)&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}function m(e){return Array.isArray(e)?[]:{}}var g="undefined"==typeof Reflect?Object.keys:Reflect.ownKeys;function v(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:i}=Object.assign({},(0,h.a)(),n.components);return i?(0,e.jsx)(i,{...n,children:(0,e.jsx)(r,{...n})}):r(n)},pageOpts:{filePath:"pages/docs/changelog.md",route:"/docs/changelog",frontMatter:{order:22,title:"更新日志",type:"其他"},title:"更新日志",headings:s},pageNextRoute:"/docs/changelog"})}},function(n){n.O(0,[781,888,774,179],function(){return n(n.s=97972)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/docs/api.html b/docs/api.html index c25559c..cc2dd00 100644 --- a/docs/api.html +++ b/docs/api.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
文档
API参考

JavaScript 方法

+
文档
API参考

JavaScript 方法

new Pushy(options: PushyOptions)

创建 Pushy 热更新服务实例,其构造参数如下:

interface PushyOptions {
@@ -286,4 +286,4 @@ 

// ...各种setter,但注意不要调用setBundleAssetName .setJSBundleFile(UpdateContext.getBundleUrl(mContext, "assets://index.android.bundle")) .build(); -UpdateContext.setCustomInstanceManager(mReactInstanceManager);

\ No newline at end of file +UpdateContext.setCustomInstanceManager(mReactInstanceManager);
\ No newline at end of file diff --git a/docs/bestpractice.html b/docs/bestpractice.html index 9e422f5..3097f48 100644 --- a/docs/bestpractice.html +++ b/docs/bestpractice.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
文档
场景实践

优化原生和热更包体积

+
文档
场景实践

优化原生和热更包体积

iOS 原生包优化(ipa)

对于同一份 archive(其版本号、编译时间和内置 bundle 已固定,不会受导出方式所影响),可以用不同选项多次导出 ipa,选择其中最小的上传到 pushy 服务器作为热更基准包。

bitcode

@@ -106,4 +106,4 @@

// 否则还是走之前的询问流程 // Alert.alert('提示', '检查到新的版本....... }

-

又比如,可能某个版本包含一些重要的公告内容,所以还可以在上面插入一个公告字段等等。如何使用元信息,完全取决于您的想象力!

\ No newline at end of file +

又比如,可能某个版本包含一些重要的公告内容,所以还可以在上面插入一个公告字段等等。如何使用元信息,完全取决于您的想象力!

\ No newline at end of file diff --git a/docs/changelog.html b/docs/changelog.html deleted file mode 100644 index ca9eafd..0000000 --- a/docs/changelog.html +++ /dev/null @@ -1,181 +0,0 @@ -更新日志 – Pushy 极速热更新
文档
更新日志

10.5.4(2024-04-23)

-
    -
  • 修复 web 端的兼容问题
  • -
-

10.4.2(2024-04-22)

-
    -
  • 加入 debug 参数,允许在开发环境中调试热更
  • -
  • 热更策略中加入 null 选项,即禁止自动检查,完全手动控制
  • -
-

10.1.0(2024-02-24)

-
    -
  • 全新设计的 api 接口,全面 hook 化,更易集成和自定义
  • -
  • 全面同时支持新老架构和 hermes
  • -
-

9.0.0(2023-09-02)

-
    -
  • 初步支持新架构
  • -
  • 添加事件回调以方便统计
  • -
-

8.0.1(2022-07-05)

-
    -
  • 没有 update.json 文件的情况下不会再报错
  • -
-

7.4.1(2022-05-04)

-
    -
  • 修复极少数热更失败的情况
  • -
-

7.3.4(2021-11-04)

-
    -
  • 新增快速集成方法。
  • -
  • 默认使用 AndroidX 支持库(使用npx jetify -r命令转换可以支持老的 support 库)
  • -
-

6.4.0(2021-10-06)

-
    -
  • 新增查看本地版本信息的方法(getCurrentVersionInfo()
  • -
-

6.3.0(2021-10-04)

-
    -
  • 库文件体积优化
  • -
-

6.2.0(2021-08-13)

-
    -
  • 修复 android 7 及以下版本可能解压失败的问题
  • -
-

6.1.0(2021-07-29)

-
    -
  • 修复频繁调用下载更新导致的图片丢失问题
  • -
-

6.0.2(2021-05-18)

-
    -
  • 修复 android 7 及以下版本安装 apk 报错的问题
  • -
-

6.0.0(2021-05-04)

-
    -
  • 换用 hdiff 算法,更新所需流量更少,速度更快
  • -
  • 修复一些少见的崩溃问题
  • -
-

5.10.0(2020-12-18)

-
    -
  • 提升 iOS 更新的稳定性
  • -
-

5.9.0(2020-09-27)

-
    -
  • 可在应用内直接下载安装新版本 apk
  • -
-

5.8.3(2020-09-24)

-
    -
  • 加入下载进度回调
  • -
-

5.7.0(2020-08-13)

-
    -
  • 初始化时检查 Android 的 bundle url 是否正确配置
  • -
-

5.6.0(2020-05-26)

-
    -
  • 修复 iOS 更新偶尔报找不到 app.json 的问题
  • -
-

5.5.9 (2020-04-14)

-
    -
  • 修复编译时找不到 generateiOSBuildTime.sh 的问题
  • -
-

5.5.8 (2020-04-02)

-
    -
  • 提供 setCustomInstanceManager 方法,方便自己集成 RN 的用户调用
  • -
-

5.5.6 (2020-02-11)

-
    -
  • bundle 时清除缓存
  • -
  • 修复更新包过大时可能出现的崩溃
  • -
  • publish 时检查文件格式
  • -
-

5.5.5 (2020-01-18)

-
    -
  • 提升服务健壮性
  • -
-

5.5.4 (2020-01-13)

-
    -
  • 防止某些情况下安卓找不到 bundle 文件引起的崩溃
  • -
-

5.5.3 (2019-12-18)

-
    -
  • 忽略 hermes 的输出避免 buffer 溢出
  • -
-

5.5.2 (2019-12-06)

-
    -
  • 修复使用 use_frameworks 时无法读取时间戳的问题
  • -
-

5.5.0 (2019-11-24)

-
    -
  • 打包时加入时间戳
  • -
-

5.4.0 (2019-11-16)

-
    -
  • 修改类名方法名
  • -
-

5.3.2 (2019-10-25)

-
    -
  • 可以禁用 ios 端以避免审核被拒
  • -
-

5.3.0 (2019-09-19)

-
    -
  • 替换 apk reader 以避免某些环境读取 apk 版本号报错的问题
  • -
-

5.2.9 (2019-09-18)

-
    -
  • 添加 proguard 混淆规则以解决开启混淆后闪退的问题
  • -
-

5.2.8

-
    -
  • 解决某些情形下 Android 调用 switchVersion 不能重启的问题
  • -
-

5.2.7

-
    -
  • 改进 windows 端打更新包的兼容性(部分 windows 机器上会产生空 ppk 文件)
  • -
-

5.2.4

-
    -
  • 支持 RN 0.61 的 hermes(路径变化)
  • -
  • iOS 端使用第三方的 SSZipArchive 以减少重名冲突
  • -
-

5.2.2

-
    -
  • 修复一处导致 iOS 回滚的问题
  • -
-

5.2.1

-
    -
  • 检测如果开启了 hermes,则自动编译为 hermes 字节码格式
  • -
-

5.2.0

-
    -
  • 添加 typescript 声明
  • -
  • 支持 cocoapods
  • -
-

5.1.9

-
    -
  • 重写 bundle 命令以提升版本兼容性
  • -
  • 改进命令行的输出样式
  • -
-

5.1.8

-
    -
  • 服务器迁移到 https
  • -
  • android 支持 64 位
  • -
-

5.1.6

-
    -
  • 解决 Android 热更新后部分图片丢失问题:
    -同一个项目中放置了多个完全相同的文件,在 5.1.0 至 5.1.5 之间的版本中,更新后有时会出现其中的部分无法显示。此问题在 5.1.6 版本修复。修复此问题涉及原生部分,需要重新打包。
  • -
\ No newline at end of file diff --git a/docs/cli.html b/docs/cli.html index b83ed7b..491358f 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
文档
命令行工具

安装

+
文档
命令行工具

安装

$ npm install -g react-native-update-cli

命令

pushy bundle

@@ -128,4 +128,4 @@

packageVersion: 要绑定的原生包版本名(四选一,需 cli 版本 1.7.2+)
  • minPackageVersion: 要绑定的最低原生包版本,大于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)
  • maxPackageVersion: 要绑定的最高原生包版本,小于等于此版本的将逐个绑定(四选一,需 cli 版本 1.27.0+)
  • -

    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/faq.html b/docs/faq.html index df4708e..944ffdd 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    文档
    常见问题

    如果本页面没能回答您的疑问,您可以去issues 区 (opens in a new tab)或 QQ 群 729013783 提问,或给我们发邮件

    +
    文档
    常见问题

    如果本页面没能回答您的疑问,您可以去issues 区 (opens in a new tab)或 QQ 群 729013783 提问,或给我们发邮件

    业务问题

    热更新究竟能否上架?

    您可能听说过各种说法,但大量实践表明,热更新目前能够顺利上架 AppStore 和其他各种应用市场。唯一需要注意的是,在审核期间请不要发布热更新,不要让审核人员看到各种更新相关的提示和弹窗,即可顺利通过。

    @@ -115,4 +115,4 @@

    大客户VIP版在应用数量、原生包数量、热更包数量等方面配额与专业版相同。

    当前价格如下表:

    服务版本日均总热更查询次数价格(元/年)
    VIP1100 万至 1000 万次30000
    VIP21000 万至 5000 万次60000
    VIP35000 万至 1 亿次120000
    VIP41 亿次以上请联系客服
    -

    具体试用和对接请联系 QQ 客服 34731408

    \ No newline at end of file +

    具体试用和对接请联系 QQ 客服 34731408

    \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html index a6ecab4..b42535a 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    文档
    安装配置

    请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里 (opens in a new tab)

    +
    文档
    安装配置

    请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里 (opens in a new tab)

    首先你应该有一个基于 React Native 开发的应用,我们把具有 package.json 的目录叫做你的应用根目录。 如果你还没有初始化应用,请参阅开始使用 React Native (opens in a new tab)

    我们假设你已经拥有了开发 React Native 应用的一切环境,包括Node.jsXcodeAndroid SDK等等。

    @@ -161,4 +161,4 @@ "appId": 2, "appKey": "<一串随机字符串>" } -}

    你可以安全的把update.json上传到 Git 等 CVS 系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。

    至此应用的创建/选择就已经成功了。下一步,你需要给代码添加相应的功能,请参阅代码集成

    \ No newline at end of file +}

    你可以安全的把update.json上传到 Git 等 CVS 系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入pushy login进行登录。

    至此应用的创建/选择就已经成功了。下一步,你需要给代码添加相应的功能,请参阅代码集成

    \ No newline at end of file diff --git a/docs/integration.html b/docs/integration.html index e927844..8e7a72d 100644 --- a/docs/integration.html +++ b/docs/integration.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    文档
    代码集成

    请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里 (opens in a new tab)

    +
    文档
    代码集成

    请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击这里 (opens in a new tab)

    安装配置完成后,确定应用编译顺利通过,下面我们来进行代码集成。

    获取 appKey

    检查更新时必须提供你的appKey,这个值保存在update.json中(使用pushy createApppushy selectApp命令后会自动生成),并且根据平台不同而不同。你可以用如下的代码获取appKey

    @@ -146,4 +146,4 @@

    }, });

    以上提及的所有 api 的说明文档可在这里查看。

    -

    现在,你的应用已经可以通过 pushy 服务检查版本并进行更新了。下一步,你可以开始尝试发布应用包和版本,请参阅发布热更新

    \ No newline at end of file +

    现在,你的应用已经可以通过 pushy 服务检查版本并进行更新了。下一步,你可以开始尝试发布应用包和版本,请参阅发布热更新

    \ No newline at end of file diff --git a/docs/publish.html b/docs/publish.html index dd8cabb..9dba672 100644 --- a/docs/publish.html +++ b/docs/publish.html @@ -11,7 +11,7 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -
    文档
    发布流程

    现在你的应用已经具备了检测更新的功能,下面我们来尝试发布并更新它。流程可参考下图:

    +
    文档
    发布流程

    现在你的应用已经具备了检测更新的功能,下面我们来尝试发布并更新它。流程可参考下图:

    流程总结如下:

      @@ -76,4 +76,4 @@

      我们强烈建议您先发布一个测试包,再发布一个除了版本号以外均完全相同的正式包

      例如,假设我们有一个正式包,版本为1.6.0,那么可以修改版本号重新打包一个1001.6.0,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。

      在每次往发布包发起热更新之前,先对测试包1001.6.0进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到正式包1.6.0上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。

      -

      万一确实发生线上事故需要回滚的话,首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。

    \ No newline at end of file +

    万一确实发生线上事故需要回滚的话,首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。

    \ No newline at end of file diff --git a/index.html b/index.html index fa12b53..71a833a 100644 --- a/index.html +++ b/index.html @@ -11,4 +11,4 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -

    他们选择了 Pushy

    网易游戏
    蓝月亮
    华中师范大学
    娇兰佳人
    平安不动产
    友车科技
    诺安基金
    锐捷网络
    航天信息
    天津公交
    Feature

    为什么选择 Pushy

    • img

      增量更新

      基于 bsdiff/hdiff 算法创建

      kb 级别超小更新包

    • img

      快捷发布

      命令行工具 & 网页双端管理

      支持CI部署

    • img

      极速下载

      基于阿里云高速CDN分发

      全国范围秒速更新

    • img

      稳定可靠

      自带崩溃回滚机制

      安全可靠

    • img

      灵活扩展

      开放定制元信息

      提供灵活自由的更新策略

    • img

      技术支持

      遇到技术问题?

      工作时间段内小时级别响应

      Icons made by Swifticons from www.flaticon.com

      Let’s Pushy

      # 安装
      $ npm i -g react-native-update-cli
      $ npm i react-native-update && cd ios && pod install

      # 上传原生基础包
      $ pushy uploadIpa yourApp.ipa
      $ pushy uploadApk yourApp.apk

      # 生成并上传热更包
      $ pushy bundle --platform android
      $ pushy bundle --platform ios
      查看文档
      \ No newline at end of file +

      他们选择了 Pushy

      网易游戏
      蓝月亮
      华中师范大学
      娇兰佳人
      平安不动产
      友车科技
      诺安基金
      锐捷网络
      航天信息
      天津公交
      Feature

      为什么选择 Pushy

      • img

        增量更新

        基于 bsdiff/hdiff 算法创建

        kb 级别超小更新包

      • img

        快捷发布

        命令行工具 & 网页双端管理

        支持CI部署

      • img

        极速下载

        基于阿里云高速CDN分发

        全国范围秒速更新

      • img

        稳定可靠

        自带崩溃回滚机制

        安全可靠

      • img

        灵活扩展

        开放定制元信息

        提供灵活自由的更新策略

      • img

        技术支持

        遇到技术问题?

        工作时间段内小时级别响应

        Icons made by Swifticons from www.flaticon.com

        Let’s Pushy

        # 安装
        $ npm i -g react-native-update-cli
        $ npm i react-native-update && cd ios && pod install

        # 上传原生基础包
        $ pushy uploadIpa yourApp.ipa
        $ pushy uploadApk yourApp.apk

        # 生成并上传热更包
        $ pushy bundle --platform android
        $ pushy bundle --platform ios
        查看文档
        \ No newline at end of file diff --git a/pricing.html b/pricing.html index 1b6b937..0c2b9cb 100644 --- a/pricing.html +++ b/pricing.html @@ -11,4 +11,4 @@ --nextra-primary-hue: 204deg; --nextra-primary-saturation: 100%; } -

        新注册用户将自动获得7 天专业版免费试用评估。到期后转为免费版。如需按月购买,请联系QQ客服 34731408.

        免费版

        适用于小型应用,轻度更新需求

        0 / 年
        开始使用

        标准版

        适用于一般应用,中度更新需求

        800/ 年
        100/ 月
        • 可创建5个应用 ,每个限*:
        • 50个原生包,每个最大150M
        • 50个热更包,每个最大15M

        • 所有应用累加
          每天1万更新查询
        • 提供专人技术支持
        立即升级

        高级版

        适用于一般应用,中度更新需求

        2400/ 年
        300/ 月
        • 可创建10个应用,每个限*:
        • 60个原生包,每个最大500M
        • 60个热更包,每个最大50M

        • 所有应用累加
          每天10万更新查询
        • 提供专人技术支持
        立即升级

        专业版

        适用于商业应用,高速迭代需求

        7200/ 年
        900/ 月
        • 可创建50个应用,每个限*:
        • 100个原生包,每个最大2000M
        • 100个热更包,每个最大200M

        • 所有应用累加
          每天100万更新查询
        • 提供专人技术支持
        立即升级

        *注:iOS 和 Android 版本记做不同的应用。
        原生包指完整的apk/ipa安装包。热更包指pushy bundle命令生成的ppk文件(不是用户实际下载的增量更新文件)。
        您可删除已不再使用的应用、原生包、热更包来有效利用配额。

        对于付费业务还有其他疑问?请参考常见问题

        \ No newline at end of file +

        新注册用户将自动获得7 天专业版免费试用评估。到期后转为免费版。如需按月购买,请联系QQ客服 34731408.

        免费版

        适用于小型应用,轻度更新需求

        0 / 年
        开始使用

        标准版

        适用于一般应用,中度更新需求

        800/ 年
        100/ 月
        • 可创建5个应用 ,每个限*:
        • 50个原生包,每个最大150M
        • 50个热更包,每个最大15M

        • 所有应用累加
          每天1万更新查询
        • 提供专人技术支持
        立即升级

        高级版

        适用于一般应用,中度更新需求

        2400/ 年
        300/ 月
        • 可创建10个应用,每个限*:
        • 60个原生包,每个最大500M
        • 60个热更包,每个最大50M

        • 所有应用累加
          每天10万更新查询
        • 提供专人技术支持
        立即升级

        专业版

        适用于商业应用,高速迭代需求

        7200/ 年
        900/ 月
        • 可创建50个应用,每个限*:
        • 100个原生包,每个最大2000M
        • 100个热更包,每个最大200M

        • 所有应用累加
          每天100万更新查询
        • 提供专人技术支持
        立即升级

        *注:iOS 和 Android 版本记做不同的应用。
        原生包指完整的apk/ipa安装包。热更包指pushy bundle命令生成的ppk文件(不是用户实际下载的增量更新文件)。
        您可删除已不再使用的应用、原生包、热更包来有效利用配额。

        对于付费业务还有其他疑问?请参考常见问题

        \ No newline at end of file