@whyour/qinglong 2.19.2-2 → 2.20.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -2
- package/README-en.md +4 -2
- package/README.md +4 -2
- package/back/protos/api.proto +17 -0
- package/docker/310.Dockerfile +23 -6
- package/docker/Dockerfile +22 -6
- package/docker/docker-entrypoint.sh +27 -14
- package/package.json +8 -9
- package/sample/notify.js +18 -2
- package/sample/notify.py +15 -0
- package/sample/ql_sample.js +28 -0
- package/shell/api.sh +8 -48
- package/shell/check.sh +5 -22
- package/shell/preload/client.js +6 -1
- package/shell/pub.sh +4 -4
- package/shell/share.sh +32 -55
- package/shell/task.sh +19 -10
- package/shell/update.sh +1 -0
- package/static/build/api/dependence.js +7 -1
- package/static/build/api/env.js +30 -4
- package/static/build/api/script.js +47 -8
- package/static/build/api/subscription.js +3 -3
- package/static/build/api/system.js +19 -26
- package/static/build/api/user.js +2 -1
- package/static/build/app.js +96 -18
- package/static/build/config/index.js +2 -2
- package/static/build/config/util.js +24 -1
- package/static/build/data/cron.js +4 -0
- package/static/build/data/env.js +3 -1
- package/static/build/data/notify.js +1 -0
- package/static/build/loaders/db.js +29 -35
- package/static/build/loaders/deps.js +22 -5
- package/static/build/loaders/express.js +19 -10
- package/static/build/loaders/initData.js +25 -1
- package/static/build/loaders/initTask.js +6 -0
- package/static/build/loaders/sock.js +10 -12
- package/static/build/protos/api.js +336 -1
- package/static/build/schedule/addCron.js +2 -2
- package/static/build/schedule/api.js +100 -1
- package/static/build/schedule/delCron.js +1 -1
- package/static/build/schedule/health.js +2 -3
- package/static/build/services/cron.js +54 -20
- package/static/build/services/dependence.js +6 -5
- package/static/build/services/env.js +9 -2
- package/static/build/services/notify.js +17 -5
- package/static/build/services/schedule.js +4 -4
- package/static/build/services/sshKey.js +24 -4
- package/static/build/services/subscription.js +11 -8
- package/static/build/services/system.js +15 -0
- package/static/build/services/user.js +83 -4
- package/static/build/shared/auth.js +40 -0
- package/static/build/shared/logStreamManager.js +104 -0
- package/static/build/shared/runCron.js +23 -0
- package/static/build/validation/schedule.js +39 -2
- package/static/dist/1147.856bb861.async.js +1 -0
- package/static/dist/1379.f91563a1.async.js +1 -0
- package/static/dist/{2208.3bc521b1.async.js → 2208.7bf7e296.async.js} +1 -1
- package/static/dist/3191.da7f3e07.async.js +1 -0
- package/static/dist/5691.931f59c5.async.js +1 -0
- package/static/dist/7571.4f6240b1.async.js +1 -0
- package/static/dist/{8826.3ab4ad84.async.js → 8826.5f289c4d.async.js} +1 -1
- package/static/dist/index.html +2 -2
- package/static/dist/preload_helper.17d7028f.js +1 -0
- package/static/dist/{src__pages__crontab__detail.ee431270.async.js → src__pages__crontab__detail.b07f0c0a.async.js} +1 -1
- package/static/dist/src__pages__crontab__index.6b90d8c5.async.js +1 -0
- package/static/dist/{src__pages__crontab__logModal.57501983.async.js → src__pages__crontab__logModal.5e6a4bf2.async.js} +1 -1
- package/static/dist/src__pages__crontab__modal.2d3d4953.async.js +1 -0
- package/static/dist/src__pages__dependence__modal.86604072.async.js +1 -0
- package/static/dist/{src__pages__env__editNameModal.665393cd.async.js → src__pages__env__editNameModal.79b7cf83.async.js} +1 -1
- package/static/dist/src__pages__env__index.a0a2fece.async.js +1 -0
- package/static/dist/{src__pages__env__modal.168498f9.async.js → src__pages__env__modal.b84c1173.async.js} +1 -1
- package/static/dist/{src__pages__error__index.d9beeda3.async.js → src__pages__error__index.01fac00e.async.js} +1 -1
- package/static/dist/{src__pages__initialization__index.2403c031.async.js → src__pages__initialization__index.2e49cf43.async.js} +1 -1
- package/static/dist/{src__pages__script__editNameModal.e36cd111.async.js → src__pages__script__editNameModal.05441c89.async.js} +1 -1
- package/static/dist/{src__pages__script__index.82b42e11.async.js → src__pages__script__index.6a23d7b5.async.js} +1 -1
- package/static/dist/{src__pages__script__renameModal.f9756f26.async.js → src__pages__script__renameModal.3bb00014.async.js} +1 -1
- package/static/dist/{src__pages__script__saveModal.e885e133.async.js → src__pages__script__saveModal.03cc698b.async.js} +1 -1
- package/static/dist/{src__pages__script__setting.8c2727b4.async.js → src__pages__script__setting.5a2a2a2c.async.js} +1 -1
- package/static/dist/{src__pages__setting__appModal.5a39121e.async.js → src__pages__setting__appModal.7f763fa7.async.js} +1 -1
- package/static/dist/src__pages__setting__dependence.e64c4554.async.js +1 -0
- package/static/dist/src__pages__setting__index.3a220288.async.js +1 -0
- package/static/dist/src__pages__setting__notification.49003b2f.async.js +1 -0
- package/static/dist/src__pages__setting__other.0d931d6f.async.js +1 -0
- package/static/dist/src__pages__setting__security.a916e056.async.js +1 -0
- package/static/dist/{src__pages__setting__systemLog.fc5bdc78.async.js → src__pages__setting__systemLog.cbb0a3bb.async.js} +1 -1
- package/static/dist/src__pages__subscription__modal.ade477c1.async.js +1 -0
- package/static/dist/umi.ba9d6227.js +1 -0
- package/version.yaml +46 -9
- package/docker/front.conf +0 -61
- package/docker/nginx.conf +0 -45
- package/static/dist/2995.2eb218b3.async.js +0 -1
- package/static/dist/3191.cc1e31cd.async.js +0 -1
- package/static/dist/4046.7fbcfa02.async.js +0 -1
- package/static/dist/5713.8519f547.async.js +0 -1
- package/static/dist/8851.503b1e64.async.js +0 -1
- package/static/dist/preload_helper.9c086410.js +0 -1
- package/static/dist/src__pages__crontab__index.af4cb04a.async.js +0 -1
- package/static/dist/src__pages__crontab__modal.21258e08.async.js +0 -1
- package/static/dist/src__pages__dependence__modal.6639424a.async.js +0 -1
- package/static/dist/src__pages__env__index.70340ba7.async.js +0 -1
- package/static/dist/src__pages__setting__dependence.a46e873d.async.js +0 -1
- package/static/dist/src__pages__setting__index.9be4775c.async.js +0 -1
- package/static/dist/src__pages__setting__notification.299f6b96.async.js +0 -1
- package/static/dist/src__pages__setting__other.60924a56.async.js +0 -1
- package/static/dist/src__pages__setting__security.e7371daa.async.js +0 -1
- package/static/dist/src__pages__subscription__modal.a7fd6a3c.async.js +0 -1
- package/static/dist/umi.5b8ae363.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[1147],{3475:function(e,a,i){"use strict";var r=i(72317),t=window.__ENV__QlBaseUrl||"/";a.Z={siteName:r.ZP.get("青龙"),baseUrl:t,apiPrefix:"".concat(t,"api/"),authKey:"token",layouts:[{name:"primary",include:[/.*/],exclude:[/(\/(en|zh))*\/login/]}],i18n:{languages:[{key:"pt-br",title:"Português",flag:"/portugal.svg"},{key:"en",title:"English",flag:"/america.svg"},{key:"zh",title:r.ZP.get("中文"),flag:"/china.svg"}],defaultLanguage:"en"},scopes:[{name:r.ZP.get("定时任务"),value:"crons"},{name:r.ZP.get("环境变量"),value:"envs"},{name:r.ZP.get("订阅管理"),value:"subscriptions"},{name:r.ZP.get("配置文件"),value:"configs"},{name:r.ZP.get("脚本管理"),value:"scripts"},{name:r.ZP.get("日志管理"),value:"logs"},{name:r.ZP.get("依赖管理"),value:"dependencies"},{name:r.ZP.get("系统信息"),value:"system"}],scopesMap:{crons:r.ZP.get("定时任务"),envs:r.ZP.get("环境变量"),subscriptions:r.ZP.get("订阅管理"),configs:r.ZP.get("配置文件"),scripts:r.ZP.get("脚本管理"),logs:r.ZP.get("日志管理"),dependencies:r.ZP.get("依赖管理"),system:r.ZP.get("系统信息")},notificationModes:[{value:"gotify",label:"Gotify"},{value:"ntfy",label:"Ntfy"},{value:"goCqHttpBot",label:"GoCqHttpBot"},{value:"serverChan",label:r.ZP.get("Server酱")},{value:"pushDeer",label:"PushDeer"},{value:"bark",label:"Bark"},{value:"telegramBot",label:r.ZP.get("Telegram机器人")},{value:"dingtalkBot",label:r.ZP.get("钉钉机器人")},{value:"weWorkBot",label:r.ZP.get("企业微信机器人")},{value:"weWorkApp",label:r.ZP.get("企业微信应用")},{value:"aibotk",label:r.ZP.get("智能微秘书")},{value:"iGot",label:"IGot"},{value:"pushPlus",label:"PushPlus"},{value:"wePlusBot",label:r.ZP.get("微加机器人")},{value:"wxPusherBot",label:"wxPusher"},{value:"chat",label:r.ZP.get("群晖chat")},{value:"email",label:r.ZP.get("邮箱")},{value:"lark",label:r.ZP.get("飞书机器人")},{value:"pushMe",label:"PushMe"},{value:"chronocat",label:"Chronocat"},{value:"webhook",label:r.ZP.get("自定义通知")},{value:"closed",label:r.ZP.get("已关闭")}],notificationModeMap:{gotify:[{label:"gotifyUrl",tip:r.ZP.get("gotify的url地址,例如 https://push.example.de:8080"),required:!0},{label:"gotifyToken",tip:r.ZP.get("gotify的消息应用token码"),required:!0},{label:"gotifyPriority",tip:r.ZP.get("推送消息的优先级")}],ntfy:[{label:"ntfyUrl",tip:r.ZP.get("ntfy的url地址,例如 https://ntfy.sh"),required:!0},{label:"ntfyTopic",tip:r.ZP.get("ntfy应用topic"),required:!0},{label:"ntfyPriority",tip:r.ZP.get("推送消息的优先级")},{label:"ntfyToken",tip:r.ZP.get("ntfy应用token")},{label:"ntfyUsername",tip:r.ZP.get("ntfy应用用户名")},{label:"ntfyPassword",tip:r.ZP.get("ntfy应用密码")},{label:"ntfyActions",tip:r.ZP.get("ntfy用户动作")}],chat:[{label:"synologyChatUrl",tip:r.ZP.get("synologyChat的url地址"),required:!0}],goCqHttpBot:[{label:"goCqHttpBotUrl",tip:r.ZP.get("推送到个人QQ: http://127.0.0.1/send_private_msg,群:http://127.0.0.1/send_group_msg"),required:!0},{label:"goCqHttpBotToken",tip:r.ZP.get("访问密钥"),required:!0},{label:"goCqHttpBotQq",tip:r.ZP.get("如果GOBOT_URL设置 /send_private_msg 则需要填入 user_id=个人QQ 相反如果是 /send_group_msg 则需要填入 group_id=QQ群"),required:!0}],serverChan:[{label:"serverChanKey",tip:r.ZP.get("Server酱SENDKEY"),required:!0}],pushDeer:[{label:"pushDeerKey",tip:r.ZP.get("PushDeer的Key,https://github.com/easychen/pushdeer"),required:!0},{label:"pushDeerUrl",tip:r.ZP.get("PushDeer的自架API endpoint,默认是 https://api2.pushdeer.com/message/push")}],bark:[{label:"barkPush",tip:r.ZP.get("Bark的信息IP/设备码,例如:https://api.day.app/XXXXXXXX"),required:!0},{label:"barkIcon",tip:r.ZP.get("BARK推送图标,自定义推送图标 (需iOS15或以上才能显示)")},{label:"barkSound",tip:r.ZP.get("BARK推送铃声,铃声列表去APP查看复制填写")},{label:"barkGroup",tip:r.ZP.get("BARK推送消息的分组,默认为qinglong")},{label:"barkLevel",tip:r.ZP.get("BARK推送消息的时效性,默认为active")},{label:"barkUrl",tip:r.ZP.get("BARK推送消息的跳转URL")},{label:"barkArchive",tip:r.ZP.get("BARK是否保存推送消息")}],telegramBot:[{label:"telegramBotToken",tip:r.ZP.get("telegram机器人的token,例如:1077xxx4424:AAFjv0FcqxxxxxxgEMGfi22B4yh15R5uw"),required:!0},{label:"telegramBotUserId",tip:r.ZP.get("telegram用户的id,例如:129xxx206"),required:!0},{label:"telegramBotProxyHost",tip:r.ZP.get("代理IP")},{label:"telegramBotProxyPort",tip:r.ZP.get("代理端口")},{label:"telegramBotProxyAuth",tip:r.ZP.get("telegram代理配置认证参数,用户名与密码用英文冒号连接 user:password")},{label:"telegramBotApiHost",tip:r.ZP.get("telegram api自建的反向代理地址,默认tg官方api")}],dingtalkBot:[{label:"dingtalkBotToken",tip:r.ZP.get("钉钉机器人webhook token,例如:5a544165465465645d0f31dca676e7bd07415asdasd"),required:!0},{label:"dingtalkBotSecret",tip:r.ZP.get("密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串")}],weWorkBot:[{label:"weWorkBotKey",tip:r.ZP.get("企业微信机器人的webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa"),required:!0},{label:"weWorkOrigin",tip:r.ZP.get("企业微信代理地址")}],weWorkApp:[{label:"weWorkAppKey",tip:r.ZP.get("corpid、corpsecret、touser(注:多个成员ID使用|隔开)、agentid、消息类型(选填,不填默认文本消息类型) 注意用,号隔开(英文输入法的逗号),例如:wwcfrs,B-76WERQ,qinglong,1000001,2COat"),required:!0},{label:"weWorkOrigin",tip:r.ZP.get("企业微信代理地址")}],aibotk:[{label:"aibotkKey",tip:r.ZP.get("密钥key,智能微秘书个人中心获取apikey,申请地址:https://wechat.aibotk.com/signup?from=ql"),required:!0},{label:"aibotkType",tip:r.ZP.get("发送的目标,群组或者好友"),required:!0,placeholder:r.ZP.get("请输入要发送的目标"),items:[{value:"room",label:r.ZP.get("群聊")},{value:"contact",label:r.ZP.get("好友")}]},{label:"aibotkName",tip:r.ZP.get("要发送的用户昵称或群名,如果目标是群,需要填群名,如果目标是好友,需要填好友昵称"),required:!0}],iGot:[{label:"iGotPushKey",tip:r.ZP.get("iGot的信息推送key,例如:https://push.hellyw.com/XXXXXXXX"),required:!0}],pushPlus:[{label:"pushPlusToken",tip:r.ZP.get("微信扫码登录后一对一推送或一对多推送下面的token(您的Token),不提供PUSH_PLUS_USER则默认为一对一推送,参考 https://www.pushplus.plus/"),required:!0},{label:"pushPlusUser",tip:r.ZP.get("一对多推送的“群组编码”(一对多推送下面->您的群组(如无则创建)->群组编码,如果您是创建群组人。也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送)")},{label:"pushplusTemplate",tip:r.ZP.get("发送模板")},{label:"pushplusChannel",tip:r.ZP.get("发送渠道")},{label:"pushplusWebhook",tip:r.ZP.get("webhook编码")},{label:"pushplusCallbackUrl",tip:r.ZP.get("发送结果回调地址")},{label:"pushplusTo",tip:r.ZP.get("好友令牌")}],wePlusBot:[{label:"wePlusBotToken",tip:r.ZP.get("用户令牌,扫描登录后 我的—>设置->令牌 中获取,参考 https://www.weplusbot.com/"),required:!0},{label:"wePlusBotReceiver",tip:r.ZP.get("消息接收人")},{label:"wePlusBotVersion",tip:r.ZP.get("调用版本;专业版填写pro,个人版填写personal,为空默认使用专业版")}],wxPusherBot:[{label:"wxPusherBotAppToken",tip:r.ZP.get("wxPusherBot的appToken"),required:!0},{label:"wxPusherBotTopicIds",tip:r.ZP.get("wxPusherBot的topicIds"),required:!1},{label:"wxPusherBotUids",tip:r.ZP.get("wxPusherBot的uids"),required:!1}],lark:[{label:"larkKey",tip:r.ZP.get("飞书群组机器人:https://www.feishu.cn/hc/zh-CN/articles/360024984973"),required:!0},{label:"larkSecret",tip:r.ZP.get("飞书群组机器人加签密钥,安全设置中开启签名校验后获得")}],email:[{label:"emailService",tip:r.ZP.get("邮箱服务名称,比如126、163、Gmail、QQ等,支持列表https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json"),required:!0},{label:"emailUser",tip:r.ZP.get("邮箱认证地址"),required:!0},{label:"emailPass",tip:r.ZP.get("SMTP 登录密码,也可能为特殊口令,视具体邮件服务商说明而定"),required:!0},{label:"emailTo",tip:r.ZP.get("收件邮箱地址,多个分号分隔,默认发送给发件邮箱地址")}],pushMe:[{label:"pushMeKey",tip:r.ZP.get("PushMe的Key,https://push.i-i.me/"),required:!0},{label:"pushMeUrl",tip:r.ZP.get("自建的PushMeServer消息接口地址,例如:http://127.0.0.1:3010,不填则使用官方消息接口"),required:!1}],chronocat:[{label:"chronocatURL",tip:r.ZP.get("Chronocat Red 服务的连接地址 https://chronocat.vercel.app/install/docker/official/"),required:!0},{label:"chronocatQQ",tip:r.ZP.get("个人:user_id=个人QQ 群则填入group_id=QQ群 多个用英文;隔开同时支持个人和群 如:user_id=xxx;group_id=xxxx;group_id=xxxxx"),required:!0},{label:"chronocatToken",tip:r.ZP.get("docker安装在持久化config目录下的chronocat.yml文件可找到"),required:!0}],webhook:[{label:"webhookMethod",tip:r.ZP.get("请求方法"),required:!0,items:[{value:"GET"},{value:"POST"},{value:"PUT"}]},{label:"webhookContentType",tip:r.ZP.get("请求头Content-Type"),required:!0,items:[{value:"text/plain"},{value:"application/json"},{value:"multipart/form-data"},{value:"application/x-www-form-urlencoded"}]},{label:"webhookUrl",tip:r.ZP.get("请求链接以http或者https开头。url或者body中必须包含$title,$content可选,对应api内容的位置"),required:!0,placeholder:"https://xxx.cn/api?content=$title\n"},{label:"webhookHeaders",tip:r.ZP.get("请求头格式Custom-Header1: Header1,多个换行分割"),placeholder:"Custom-Header1: Header1\nCustom-Header2: Header2"},{label:"webhookBody",tip:r.ZP.get("请求体格式key1: value1,多个换行分割。url或者body中必须包含$title,$content可选,对应api内容的位置"),placeholder:"key1: $title\nkey2: $content"}]},documentTitleMap:{"/login":r.ZP.get("登录"),"/initialization":r.ZP.get("初始化"),"/crontab":r.ZP.get("定时任务"),"/env":r.ZP.get("环境变量"),"/subscription":r.ZP.get("订阅管理"),"/config":r.ZP.get("配置文件"),"/script":r.ZP.get("脚本管理"),"/diff":r.ZP.get("对比工具"),"/log":r.ZP.get("日志管理"),"/setting":r.ZP.get("系统设置"),"/error":r.ZP.get("错误日志"),"/dependence":r.ZP.get("依赖管理")},dependenceTypes:["nodejs","python3","linux"]}},97302:function(e,a,i){"use strict";i.d(a,{eY:function(){return r},um:function(){return t},z:function(){return o}});var r=" ",t={".py":"python",".js":"javascript",".mjs":"javascript",".sh":"shell",".ts":"typescript",".ini":"ini",".json":"json"},o=["UTC","Africa/Abidjan","Africa/Accra","Africa/Addis Ababa","Africa/Algiers","Africa/Asmara","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar es Salaam","Africa/Djibouti","Africa/Douala","Africa/El Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La Rioja","America/Argentina/Mendoza","America/Argentina/Rio Gallegos","America/Argentina/Salta","America/Argentina/San Juan","America/Argentina/San Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa Vista","America/Bogota","America/Boise","America/Cambridge Bay","America/Campo Grande","America/Cancun","America/Caracas","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad Juarez","America/Costa Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El Salvador","America/Fort Nelson","America/Fortaleza","America/Glace Bay","America/Goose Bay","America/Grand Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Kralendijk","America/La Paz","America/Lima","America/Los Angeles","America/Lower Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New York","America/Nome","America/Noronha","America/North Dakota/Beulah","America/North Dakota/Center","America/North Dakota/New Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port of Spain","America/Port-au-Prince","America/Porto Velho","America/Puerto Rico","America/Punta Arenas","America/Rankin Inlet","America/Recife","America/Regina","America/Resolute","America/Rio Branco","America/Santarem","America/Santiago","America/Santo Domingo","America/Sao Paulo","America/Scoresbysund","America/Sitka","America/St Barthelemy","America/St Johns","America/St Kitts","America/St Lucia","America/St Thomas","America/St Vincent","America/Swift Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho Chi Minh","Asia/Hong Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South Georgia","Atlantic/St Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Etc/GMT","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle of Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"]},16314:function(e,a,i){"use strict";i.d(a,{W:function(){return f}});var r=i(90228),t=i.n(r),o=i(87999),n=i.n(o),c=i(72317),l=i(61508),s=i(33839),u=i(3475),p=i(98783),g=i(69313),A=i(52676);l.ZP.config({duration:2});var d=Date.now(),m=g.Z.create({timeout:6e4,params:{t:d}}),h=["/api/user/login","/open/auth/token","/api/user/two-factor/login","/api/system","/api/user/init","/api/user/notification/init"];m.interceptors.request.use((function(e){var a=localStorage.getItem(u.Z.authKey);return a&&!h.includes(e.url)?(e.headers.Authorization="Bearer ".concat(a),e):e})),m.interceptors.response.use(function(){var e=n()(t()().mark((function e(a){var i,r,o;return t()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=a.status,![502,504].includes(i)){e.next=5;break}p.history.push("/error"),e.next=18;break;case 5:if(401!==i){e.next=9;break}"/login"!==p.history.location.pathname&&(localStorage.removeItem(u.Z.authKey),p.history.push("/login")),e.next=18;break;case 9:return e.prev=9,200!==(r=a.data).code&&(o=r.message||r.data)&&s.Z.error({message:o,description:null!=r&&r.errors?(0,A.jsx)(A.Fragment,{children:null==r?void 0:r.errors.map((function(e){return(0,A.jsx)("div",{children:e.message})}))}):void 0}),e.abrupt("return",r);case 15:e.prev=15,e.t0=e.catch(9);case 17:case 18:return e.abrupt("return",a);case 19:case"end":return e.stop()}}),e,null,[[9,15]])})));return function(a){return e.apply(this,arguments)}}(),(function(e){if(e.response){var a=e.response.data?e.response.data.message||e.message:e.response.statusText,i=e.response.status;if([502,504].includes(i))p.history.push("/error");else if(401===i)"/login"!==p.history.location.pathname&&(l.ZP.error(c.ZP.get("登录已过期,请重新登录")),localStorage.removeItem(u.Z.authKey),p.history.push("/login"));else{var r,t,o,n;if("function"==typeof(null===(r=e.config)||void 0===r?void 0:r.onError))return null===(n=e.config)||void 0===n?void 0:n.onError(e.response);a&&s.Z.error({message:a,description:null!==(t=e.response)&&void 0!==t&&null!==(t=t.data)&&void 0!==t&&t.errors?(0,A.jsx)(A.Fragment,{children:null===(o=e.response)||void 0===o||null===(o=o.data)||void 0===o||null===(o=o.errors)||void 0===o?void 0:o.map((function(e){return(0,A.jsxs)("div",{children:[e.message," (",e.value,")"]})}))}):void 0})}}else console.log(e.message);return Promise.reject(e)}));var f=m},48916:function(e,a,i){"use strict";i.d(a,{DY:function(){return g},FA:function(){return d},H$:function(){return f},I1:function(){return p},W9:function(){return s},ZP:function(){return l},o4:function(){return P},rS:function(){return h},w7:function(){return u},x$:function(){return A}});var r=i(15558),t=i.n(r),o=i(72317),n=i(97302),c=i(91379);function l(){var e=navigator.userAgent.toLowerCase(),a=function(a){return a.test(e)},i=function(a){return(e.match(a)||[]).toString().replace(/[^0-9|_.]/g,"").replace(/_/g,".")},r="unknow";a(/windows|win32|win64|wow32|wow64/g)?r="windows":a(/macintosh|macintel/g)?r="macos":a(/x11/g)?r="linux":a(/android|adr/g)?r="android":a(/ios|iphone|ipad|ipod|iwatch/g)&&(r="ios");var t="unknow";"windows"===r?a(/windows nt 5.0|windows 2000/g)?t="2000":a(/windows nt 5.1|windows xp/g)?t="xp":a(/windows nt 5.2|windows 2003/g)?t="2003":a(/windows nt 6.0|windows vista/g)?t="vista":a(/windows nt 6.1|windows 7/g)?t="7":a(/windows nt 6.2|windows 8/g)?t="8":a(/windows nt 6.3|windows 8.1/g)?t="8.1":a(/windows nt 10.0|windows 10/g)&&(t="10"):"macos"===r?t=i(/os x [\d._]+/g):"android"===r?t=i(/android [\d._]+/g):"ios"===r&&(t=i(/os [\d._]+/g));var o="unknow";"windows"===r||"macos"===r||"linux"===r?o="desktop":("android"===r||"ios"===r||a(/mobile/g))&&(o="mobile");var n="unknow",c="unknow";a(/applewebkit/g)?(n="webkit",a(/edge/g)?c="edge":a(/opr/g)?c="opera":a(/chrome/g)?c="chrome":a(/safari/g)&&(c="safari")):a(/gecko/g)&&a(/firefox/g)?(n="gecko",c="firefox"):a(/presto/g)?(n="presto",c="opera"):a(/trident|compatible|msie/g)&&(n="trident",c="iexplore");var l="unknow";"webkit"===n?l=i(/applewebkit\/[\d._]+/g):"gecko"===n?l=i(/gecko\/[\d._]+/g):"presto"===n?l=i(/presto\/[\d._]+/g):"trident"===n&&(l=i(/trident\/[\d._]+/g));var s="unknow";"chrome"===c?s=i(/chrome\/[\d._]+/g):"safari"===c?s=i(/version\/[\d._]+/g):"firefox"===c?s=i(/firefox\/[\d._]+/g):"opera"===c?s=i(/opr\/[\d._]+/g):"iexplore"===c?s=i(/(msie [\d._]+)|(rv:[\d._]+)/g):"edge"===c&&(s=i(/edge\/[\d._]+/g));var u="none",p="unknow";a(/micromessenger/g)?(u="wechat",p=i(/micromessenger\/[\d._]+/g)):a(/qqbrowser/g)?(u="qq",p=i(/qqbrowser\/[\d._]+/g)):a(/ucbrowser/g)?(u="uc",p=i(/ucbrowser\/[\d._]+/g)):a(/qihu 360se/g)?u="360":a(/2345explorer/g)?(u="2345",p=i(/2345explorer\/[\d._]+/g)):a(/metasr/g)?u="sougou":a(/lbbrowser/g)?u="liebao":a(/maxthon/g)&&(u="maxthon",p=i(/maxthon\/[\d._]+/g));var g=Object.assign({engine:n,engineVs:l,platform:o,supporter:c,supporterVs:s,system:r,systemVs:t},"none"===u?{}:{shell:u,shellVs:p});return console.log("%c\n .d88b. d888888b d8b db d888b db .d88b. d8b db d888b \n.8P Y8. `88' 888o 88 88' Y8b 88 .8P Y8. 888o 88 88' Y8b \n88 88 88 88V8o 88 88 88 88 88 88V8o 88 88 \n88 88 88 88 V8o88 88 ooo 88 88 88 88 V8o88 88 ooo \n`8P d8' .88. 88 V888 88. ~8~ 88booo. `8b d8' 88 V888 88. ~8~ \n `Y88'Y8 Y888888P VP V8P Y888P Y88888P `Y88P' VP V8P Y888P \n \n \n","color: blue;font-size: 14px;"),console.log("%c忘形雨笠烟蓑,知心牧唱樵歌。明月清风共我,闲人三个,从他今古消磨。\n","color: yellow;font-size: 18px;"),console.log("%c青龙运行环境:\n\n系统:".concat(g.system,"/").concat(g.systemVs,"\n浏览器:").concat(g.supporter,"/").concat(g.supporterVs,"\n内核:").concat(g.engine,"/").concat(g.engineVs),"color: green;font-size: 14px;font-weight: bold;"),g}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.extraHeight,i=e.target;void 0===a&&(a=99);var r=null,t=0;(r=i||document.querySelector(".ant-table-wrapper"))&&(t=r.getBoundingClientRect().top);var o=document.body.clientHeight-t-a;return o}function u(e,a){var i,r,t=window.URL||window.webkitURL||window,o=new Blob([a]),n=document.createElementNS("http://www.w3.org/1999/xhtml","a");n.href=t.createObjectURL(o),n.download=e,i=n,(r=document.createEvent("MouseEvents")).initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(r)}function p(e,a,i){var r=t()(e),o=[];return function e(r){if(r)for(var t=0;t<(null==r?void 0:r.length);t++){if(a(r[t]))return i?void(r[t].children?r[t].children.unshift(i):r[t].children=[i]):void r.splice(t,1);r[t].children&&(o.push(r[t].key),e(r[t].children))}}(r),r}function g(e,a){var i;return function e(r){if(r)for(var t=0;t<(null==r?void 0:r.length);t++)a(r[t])?i=r[t]:r[t].children&&e(r[t].children)}(t()(e)),i}function A(e){return[n.eY,o.ZP.get("执行结束")].some((function(a){return e.includes(a)}))}function d(e){var a=e.split(" ");if("repo"===a[1]||"raw"===a[1])return a[2];var i=a.find((function(e){return[".js",".ts",".sh",".py"].some((function(a){return e.endsWith(a)}))}));if(i){var r,t,o="".concat(window.__ENV__QL_DIR,"/data/scripts");i.startsWith(o)&&(i=i.replace(o,""));var n=i.lastIndexOf("/");return n>=0?(t=i.slice(n+1),r=i.slice(0,n)):(t=i,r=""),[t,r]}}function m(e){try{var a=c.CronExpressionParser.parse(e);if(a)return a.next().toDate()}catch(e){}return null}function h(e,a){var i=m(e);return null!=a&&a.length&&a.forEach((function(e){var a=m(e.schedule);a&&(!i||a<i)&&(i=a)})),i}function f(e){var a=function(e){if(!e)return"";var a=e.split(".");return".".concat(a[a.length-1])}(e);return n.um[a]}function P(){var e=document.createElement("div");e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="transparent",e.style.zIndex="9999",document.body.appendChild(e),e.addEventListener("click",(function(e){e.stopPropagation(),e.preventDefault()})),document.body.style.overflow="hidden"}},16130:function(){},6057:function(){}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[1379],{84492:function(t,e){Object.defineProperty(e,"__esModule",{value:!0});class n extends Error{}class r extends n{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class s extends n{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class i extends n{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class a extends n{}class o extends n{constructor(t){super(`Invalid unit ${t}`)}}class u extends n{}class l extends n{constructor(){super("Zone is an abstract class")}}const c="numeric",h="short",d="long",m={year:c,month:c,day:c},f={year:c,month:h,day:c},y={year:c,month:h,day:c,weekday:h},g={year:c,month:d,day:c},p={year:c,month:d,day:c,weekday:d},w={hour:c,minute:c},v={hour:c,minute:c,second:c},O={hour:c,minute:c,second:c,timeZoneName:h},k={hour:c,minute:c,second:c,timeZoneName:d},S={hour:c,minute:c,hourCycle:"h23"},M={hour:c,minute:c,second:c,hourCycle:"h23"},D={hour:c,minute:c,second:c,hourCycle:"h23",timeZoneName:h},b={hour:c,minute:c,second:c,hourCycle:"h23",timeZoneName:d},T={year:c,month:c,day:c,hour:c,minute:c},C={year:c,month:c,day:c,hour:c,minute:c,second:c},N={year:c,month:h,day:c,hour:c,minute:c},E={year:c,month:h,day:c,hour:c,minute:c,second:c},x={year:c,month:h,day:c,weekday:h,hour:c,minute:c},I={year:c,month:d,day:c,hour:c,minute:c,timeZoneName:h},F={year:c,month:d,day:c,hour:c,minute:c,second:c,timeZoneName:h},V={year:c,month:d,day:c,weekday:d,hour:c,minute:c,timeZoneName:d},$={year:c,month:d,day:c,weekday:d,hour:c,minute:c,second:c,timeZoneName:d};class W{get type(){throw new l}get name(){throw new l}get ianaName(){return this.name}get isUniversal(){throw new l}offsetName(t,e){throw new l}formatOffset(t,e){throw new l}offset(t){throw new l}equals(t){throw new l}get isValid(){throw new l}}let _=null;class L extends W{static get instance(){return null===_&&(_=new L),_}get type(){return"system"}get name(){return(new Intl.DateTimeFormat).resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:n}){return re(t,e,n)}formatOffset(t,e){return oe(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return"system"===t.type}get isValid(){return!0}}const j=new Map;const Z={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};const z=new Map;class U extends W{static create(t){let e=z.get(t);return void 0===e&&z.set(t,e=new U(t)),e}static resetCache(){z.clear(),j.clear()}static isValidSpecifier(t){return this.isValidZone(t)}static isValidZone(t){if(!t)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:t}).format(),!0}catch(t){return!1}}constructor(t){super(),this.zoneName=t,this.valid=U.isValidZone(t)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(t,{format:e,locale:n}){return re(t,e,n,this.name)}formatOffset(t,e){return oe(this.offset(t),e)}offset(t){if(!this.valid)return NaN;const e=new Date(t);if(isNaN(e))return NaN;const n=function(t){let e=j.get(t);return void 0===e&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),j.set(t,e)),e}(this.name);let[r,s,i,a,o,u,l]=n.formatToParts?function(t,e){const n=t.formatToParts(e),r=[];for(let t=0;t<n.length;t++){const{type:e,value:s}=n[t],i=Z[e];"era"===e?r[i]=s:_t(i)||(r[i]=parseInt(s,10))}return r}(n,e):function(t,e){const n=t.format(e).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n),[,s,i,a,o,u,l,c]=r;return[a,s,i,o,u,l,c]}(n,e);"BC"===a&&(r=1-Math.abs(r));let c=+e;const h=c%1e3;return c-=h>=0?h:1e3+h,(Kt({year:r,month:s,day:i,hour:24===o?0:o,minute:u,second:l,millisecond:0})-c)/6e4}equals(t){return"iana"===t.type&&t.name===this.name}get isValid(){return this.valid}}let A={};const H=new Map;function P(t,e={}){const n=JSON.stringify([t,e]);let r=H.get(n);return void 0===r&&(r=new Intl.DateTimeFormat(t,e),H.set(n,r)),r}const R=new Map;const q=new Map;let Y=null;const J=new Map;function G(t){let e=J.get(t);return void 0===e&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),J.set(t,e)),e}const B=new Map;function Q(t,e,n,r){const s=t.listingMode();return"error"===s?null:"en"===s?n(e):r(e)}class X{constructor(t,e,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;const{padTo:r,floor:s,...i}=n;if(!e||Object.keys(i).length>0){const e={useGrouping:!1,...n};n.padTo>0&&(e.minimumIntegerDigits=n.padTo),this.inf=function(t,e={}){const n=JSON.stringify([t,e]);let r=R.get(n);return void 0===r&&(r=new Intl.NumberFormat(t,e),R.set(n,r)),r}(t,e)}}format(t){if(this.inf){const e=this.floor?Math.floor(t):t;return this.inf.format(e)}return Rt(this.floor?Math.floor(t):Gt(t,3),this.padTo)}}class K{constructor(t,e,n){let r;if(this.opts=n,this.originalZone=void 0,this.opts.timeZone)this.dt=t;else if("fixed"===t.zone.type){const e=t.offset/60*-1,n=e>=0?`Etc/GMT+${e}`:`Etc/GMT${e}`;0!==t.offset&&U.create(n).valid?(r=n,this.dt=t):(r="UTC",this.dt=0===t.offset?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else"system"===t.zone.type?this.dt=t:"iana"===t.zone.type?(this.dt=t,r=t.zone.name):(r="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const s={...this.opts};s.timeZone=s.timeZone||r,this.dtf=P(e,s)}format(){return this.originalZone?this.formatToParts().map((({value:t})=>t)).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map((t=>{if("timeZoneName"===t.type){const e=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...t,value:e}}return t})):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class tt{constructor(t,e,n){this.opts={style:"long",...n},!e&&Zt()&&(this.rtf=function(t,e={}){const{base:n,...r}=e,s=JSON.stringify([t,r]);let i=q.get(s);return void 0===i&&(i=new Intl.RelativeTimeFormat(t,e),q.set(s,i)),i}(t,n))}format(t,e){return this.rtf?this.rtf.format(t,e):function(t,e,n="always",r=!1){const s={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=-1===["hours","minutes","seconds"].indexOf(t);if("auto"===n&&i){const n="days"===t;switch(e){case 1:return n?"tomorrow":`next ${s[t][0]}`;case-1:return n?"yesterday":`last ${s[t][0]}`;case 0:return n?"today":`this ${s[t][0]}`}}const a=Object.is(e,-0)||e<0,o=Math.abs(e),u=1===o,l=s[t],c=r?u?l[1]:l[2]||l[1]:u?s[t][0]:t;return a?`${o} ${c} ago`:`in ${o} ${c}`}(e,t,this.opts.numeric,"long"!==this.opts.style)}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}}const et={firstDay:1,minimalDays:4,weekend:[6,7]};class nt{static fromOpts(t){return nt.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,n,r,s=!1){const i=t||Ot.defaultLocale,a=i||(s?"en-US":Y||(Y=(new Intl.DateTimeFormat).resolvedOptions().locale,Y)),o=e||Ot.defaultNumberingSystem,u=n||Ot.defaultOutputCalendar,l=Ht(r)||Ot.defaultWeekSettings;return new nt(a,o,u,l,i)}static resetCache(){Y=null,H.clear(),R.clear(),q.clear(),J.clear(),B.clear()}static fromObject({locale:t,numberingSystem:e,outputCalendar:n,weekSettings:r}={}){return nt.create(t,e,n,r)}constructor(t,e,n,r,s){const[i,a,o]=function(t){const e=t.indexOf("-x-");-1!==e&&(t=t.substring(0,e));const n=t.indexOf("-u-");if(-1===n)return[t];{let e,r;try{e=P(t).resolvedOptions(),r=t}catch(s){const i=t.substring(0,n);e=P(i).resolvedOptions(),r=i}const{numberingSystem:s,calendar:i}=e;return[r,s,i]}}(t);this.locale=i,this.numberingSystem=e||a||null,this.outputCalendar=n||o||null,this.weekSettings=r,this.intl=function(t,e,n){return n||e?(t.includes("-u-")||(t+="-u"),n&&(t+=`-ca-${n}`),e&&(t+=`-nu-${e}`),t):t}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=s,this.fastNumbersCached=null}get fastNumbers(){var t;return null==this.fastNumbersCached&&(this.fastNumbersCached=(!(t=this).numberingSystem||"latn"===t.numberingSystem)&&("latn"===t.numberingSystem||!t.locale||t.locale.startsWith("en")||"latn"===G(t.locale).numberingSystem)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),e=!(null!==this.numberingSystem&&"latn"!==this.numberingSystem||null!==this.outputCalendar&&"gregory"!==this.outputCalendar);return t&&e?"en":"intl"}clone(t){return t&&0!==Object.getOwnPropertyNames(t).length?nt.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,Ht(t.weekSettings)||this.weekSettings,t.defaultToEN||!1):this}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return Q(this,t,de,(()=>{const n="ja"===this.intl||this.intl.startsWith("ja-"),r=(e&=!n)?{month:t,day:"numeric"}:{month:t},s=e?"format":"standalone";if(!this.monthsCache[s][t]){const e=n?t=>this.dtFormatter(t,r).format():t=>this.extract(t,r,"month");this.monthsCache[s][t]=function(t){const e=[];for(let n=1;n<=12;n++){const r=wr.utc(2009,n,1);e.push(t(r))}return e}(e)}return this.monthsCache[s][t]}))}weekdays(t,e=!1){return Q(this,t,ge,(()=>{const n=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},r=e?"format":"standalone";return this.weekdaysCache[r][t]||(this.weekdaysCache[r][t]=function(t){const e=[];for(let n=1;n<=7;n++){const r=wr.utc(2016,11,13+n);e.push(t(r))}return e}((t=>this.extract(t,n,"weekday")))),this.weekdaysCache[r][t]}))}meridiems(){return Q(this,void 0,(()=>pe),(()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[wr.utc(2016,11,13,9),wr.utc(2016,11,13,19)].map((e=>this.extract(e,t,"dayperiod")))}return this.meridiemCache}))}eras(t){return Q(this,t,ke,(()=>{const e={era:t};return this.eraCache[t]||(this.eraCache[t]=[wr.utc(-40,1,1),wr.utc(2017,1,1)].map((t=>this.extract(t,e,"era")))),this.eraCache[t]}))}extract(t,e,n){const r=this.dtFormatter(t,e).formatToParts().find((t=>t.type.toLowerCase()===n));return r?r.value:null}numberFormatter(t={}){return new X(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new K(t,this.intl,e)}relFormatter(t={}){return new tt(this.intl,this.isEnglish(),t)}listFormatter(t={}){return function(t,e={}){const n=JSON.stringify([t,e]);let r=A[n];return r||(r=new Intl.ListFormat(t,e),A[n]=r),r}(this.intl,t)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||G(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:zt()?function(t){let e=B.get(t);if(!e){const n=new Intl.Locale(t);e="getWeekInfo"in n?n.getWeekInfo():n.weekInfo,"minimalDays"in e||(e={...et,...e}),B.set(t,e)}return e}(this.locale):et}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let rt=null;class st extends W{static get utcInstance(){return null===rt&&(rt=new st(0)),rt}static instance(t){return 0===t?st.utcInstance:new st(t)}static parseSpecifier(t){if(t){const e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new st(se(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${oe(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${oe(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return oe(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return"fixed"===t.type&&t.fixed===this.fixed}get isValid(){return!0}}class it extends W{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function at(t,e){if(_t(t)||null===t)return e;if(t instanceof W)return t;if("string"==typeof t){const n=t.toLowerCase();return"default"===n?e:"local"===n||"system"===n?L.instance:"utc"===n||"gmt"===n?st.utcInstance:st.parseSpecifier(n)||U.create(t)}return Lt(t)?st.instance(t):"object"==typeof t&&"offset"in t&&"function"==typeof t.offset?t:new it(t)}const ot={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},ut={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},lt=ot.hanidec.replace(/[\[|\]]/g,"").split("");const ct=new Map;function ht({numberingSystem:t},e=""){const n=t||"latn";let r=ct.get(n);void 0===r&&(r=new Map,ct.set(n,r));let s=r.get(e);return void 0===s&&(s=new RegExp(`${ot[n]}${e}`),r.set(e,s)),s}let dt,mt=()=>Date.now(),ft="system",yt=null,gt=null,pt=null,wt=60,vt=null;class Ot{static get now(){return mt}static set now(t){mt=t}static set defaultZone(t){ft=t}static get defaultZone(){return at(ft,L.instance)}static get defaultLocale(){return yt}static set defaultLocale(t){yt=t}static get defaultNumberingSystem(){return gt}static set defaultNumberingSystem(t){gt=t}static get defaultOutputCalendar(){return pt}static set defaultOutputCalendar(t){pt=t}static get defaultWeekSettings(){return vt}static set defaultWeekSettings(t){vt=Ht(t)}static get twoDigitCutoffYear(){return wt}static set twoDigitCutoffYear(t){wt=t%100}static get throwOnInvalid(){return dt}static set throwOnInvalid(t){dt=t}static resetCaches(){nt.resetCache(),U.resetCache(),wr.resetCache(),ct.clear()}}class kt{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const St=[0,31,59,90,120,151,181,212,243,273,304,334],Mt=[0,31,60,91,121,152,182,213,244,274,305,335];function Dt(t,e){return new kt("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}function bt(t,e,n){const r=new Date(Date.UTC(t,e-1,n));t<100&&t>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);const s=r.getUTCDay();return 0===s?7:s}function Tt(t,e,n){return n+(Bt(t)?Mt:St)[e-1]}function Ct(t,e){const n=Bt(t)?Mt:St,r=n.findIndex((t=>t<e));return{month:r+1,day:e-n[r]}}function Nt(t,e){return(t-e+7)%7+1}function Et(t,e=4,n=1){const{year:r,month:s,day:i}=t,a=Tt(r,s,i),o=Nt(bt(r,s,i),n);let u,l=Math.floor((a-o+14-e)/7);return l<1?(u=r-1,l=ee(u,e,n)):l>ee(r,e,n)?(u=r+1,l=1):u=r,{weekYear:u,weekNumber:l,weekday:o,...ue(t)}}function xt(t,e=4,n=1){const{weekYear:r,weekNumber:s,weekday:i}=t,a=Nt(bt(r,1,e),n),o=Qt(r);let u,l=7*s+i-a-7+e;l<1?(u=r-1,l+=Qt(u)):l>o?(u=r+1,l-=Qt(r)):u=r;const{month:c,day:h}=Ct(u,l);return{year:u,month:c,day:h,...ue(t)}}function It(t){const{year:e,month:n,day:r}=t;return{year:e,ordinal:Tt(e,n,r),...ue(t)}}function Ft(t){const{year:e,ordinal:n}=t,{month:r,day:s}=Ct(e,n);return{year:e,month:r,day:s,...ue(t)}}function Vt(t,e){if(!_t(t.localWeekday)||!_t(t.localWeekNumber)||!_t(t.localWeekYear)){if(!_t(t.weekday)||!_t(t.weekNumber)||!_t(t.weekYear))throw new a("Cannot mix locale-based week fields with ISO-based week fields");return _t(t.localWeekday)||(t.weekday=t.localWeekday),_t(t.localWeekNumber)||(t.weekNumber=t.localWeekNumber),_t(t.localWeekYear)||(t.weekYear=t.localWeekYear),delete t.localWeekday,delete t.localWeekNumber,delete t.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}return{minDaysInFirstWeek:4,startOfWeek:1}}function $t(t){const e=jt(t.year),n=Pt(t.month,1,12),r=Pt(t.day,1,Xt(t.year,t.month));return e?n?!r&&Dt("day",t.day):Dt("month",t.month):Dt("year",t.year)}function Wt(t){const{hour:e,minute:n,second:r,millisecond:s}=t,i=Pt(e,0,23)||24===e&&0===n&&0===r&&0===s,a=Pt(n,0,59),o=Pt(r,0,59),u=Pt(s,0,999);return i?a?o?!u&&Dt("millisecond",s):Dt("second",r):Dt("minute",n):Dt("hour",e)}function _t(t){return void 0===t}function Lt(t){return"number"==typeof t}function jt(t){return"number"==typeof t&&t%1==0}function Zt(){try{return"undefined"!=typeof Intl&&!!Intl.RelativeTimeFormat}catch(t){return!1}}function zt(){try{return"undefined"!=typeof Intl&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch(t){return!1}}function Ut(t,e,n){if(0!==t.length)return t.reduce(((t,r)=>{const s=[e(r),r];return t&&n(t[0],s[0])===t[0]?t:s}),null)[1]}function At(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Ht(t){if(null==t)return null;if("object"!=typeof t)throw new u("Week settings must be an object");if(!Pt(t.firstDay,1,7)||!Pt(t.minimalDays,1,7)||!Array.isArray(t.weekend)||t.weekend.some((t=>!Pt(t,1,7))))throw new u("Invalid week settings");return{firstDay:t.firstDay,minimalDays:t.minimalDays,weekend:Array.from(t.weekend)}}function Pt(t,e,n){return jt(t)&&t>=e&&t<=n}function Rt(t,e=2){let n;return n=t<0?"-"+(""+-t).padStart(e,"0"):(""+t).padStart(e,"0"),n}function qt(t){return _t(t)||null===t||""===t?void 0:parseInt(t,10)}function Yt(t){return _t(t)||null===t||""===t?void 0:parseFloat(t)}function Jt(t){if(!_t(t)&&null!==t&&""!==t){const e=1e3*parseFloat("0."+t);return Math.floor(e)}}function Gt(t,e,n="round"){const r=10**e;switch(n){case"expand":return t>0?Math.ceil(t*r)/r:Math.floor(t*r)/r;case"trunc":return Math.trunc(t*r)/r;case"round":return Math.round(t*r)/r;case"floor":return Math.floor(t*r)/r;case"ceil":return Math.ceil(t*r)/r;default:throw new RangeError(`Value rounding ${n} is out of range`)}}function Bt(t){return t%4==0&&(t%100!=0||t%400==0)}function Qt(t){return Bt(t)?366:365}function Xt(t,e){const n=function(t,e){return t-e*Math.floor(t/e)}(e-1,12)+1;return 2===n?Bt(t+(e-n)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function Kt(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}function te(t,e,n){return-Nt(bt(t,1,e),n)+e-1}function ee(t,e=4,n=1){const r=te(t,e,n),s=te(t+1,e,n);return(Qt(t)-r+s)/7}function ne(t){return t>99?t:t>Ot.twoDigitCutoffYear?1900+t:2e3+t}function re(t,e,n,r=null){const s=new Date(t),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);const a={timeZoneName:e,...i},o=new Intl.DateTimeFormat(n,a).formatToParts(s).find((t=>"timezonename"===t.type.toLowerCase()));return o?o.value:null}function se(t,e){let n=parseInt(t,10);Number.isNaN(n)&&(n=0);const r=parseInt(e,10)||0;return 60*n+(n<0||Object.is(n,-0)?-r:r)}function ie(t){const e=Number(t);if("boolean"==typeof t||""===t||!Number.isFinite(e))throw new u(`Invalid unit value ${t}`);return e}function ae(t,e){const n={};for(const r in t)if(At(t,r)){const s=t[r];if(null==s)continue;n[e(r)]=ie(s)}return n}function oe(t,e){const n=Math.trunc(Math.abs(t/60)),r=Math.trunc(Math.abs(t%60)),s=t>=0?"+":"-";switch(e){case"short":return`${s}${Rt(n,2)}:${Rt(r,2)}`;case"narrow":return`${s}${n}${r>0?`:${r}`:""}`;case"techie":return`${s}${Rt(n,2)}${Rt(r,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function ue(t){return function(t,e){return e.reduce(((e,n)=>(e[n]=t[n],e)),{})}(t,["hour","minute","second","millisecond"])}const le=["January","February","March","April","May","June","July","August","September","October","November","December"],ce=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],he=["J","F","M","A","M","J","J","A","S","O","N","D"];function de(t){switch(t){case"narrow":return[...he];case"short":return[...ce];case"long":return[...le];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const me=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],fe=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ye=["M","T","W","T","F","S","S"];function ge(t){switch(t){case"narrow":return[...ye];case"short":return[...fe];case"long":return[...me];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const pe=["AM","PM"],we=["Before Christ","Anno Domini"],ve=["BC","AD"],Oe=["B","A"];function ke(t){switch(t){case"narrow":return[...Oe];case"short":return[...ve];case"long":return[...we];default:return null}}function Se(t,e){let n="";for(const r of t)r.literal?n+=r.val:n+=e(r.val);return n}const Me={D:m,DD:f,DDD:g,DDDD:p,t:w,tt:v,ttt:O,tttt:k,T:S,TT:M,TTT:D,TTTT:b,f:T,ff:N,fff:I,ffff:V,F:C,FF:E,FFF:F,FFFF:$};class De{static create(t,e={}){return new De(t,e)}static parseFormat(t){let e=null,n="",r=!1;const s=[];for(let i=0;i<t.length;i++){const a=t.charAt(i);"'"===a?((n.length>0||r)&&s.push({literal:r||/^\s+$/.test(n),val:""===n?"'":n}),e=null,n="",r=!r):r||a===e?n+=a:(n.length>0&&s.push({literal:/^\s+$/.test(n),val:n}),n=a,e=a)}return n.length>0&&s.push({literal:r||/^\s+$/.test(n),val:n}),s}static macroTokenToFormatOpts(t){return Me[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem());return this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0,n){if(this.opts.forceSimple)return Rt(t,e);const r={...this.opts};return e>0&&(r.padTo=e),n&&(r.signDisplay=n),this.loc.numberFormatter(r).format(t)}formatDateTimeFromString(t,e){const n="en"===this.loc.listingMode(),r=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,s=(e,n)=>this.loc.extract(t,e,n),i=e=>t.isOffsetFixed&&0===t.offset&&e.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,e.format):"",a=()=>n?function(t){return pe[t.hour<12?0:1]}(t):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),o=(e,r)=>n?function(t,e){return de(e)[t.month-1]}(t,e):s(r?{month:e}:{month:e,day:"numeric"},"month"),u=(e,r)=>n?function(t,e){return ge(e)[t.weekday-1]}(t,e):s(r?{weekday:e}:{weekday:e,month:"long",day:"numeric"},"weekday"),l=e=>{const n=De.macroTokenToFormatOpts(e);return n?this.formatWithSystemDefault(t,n):e},c=e=>n?function(t,e){return ke(e)[t.year<0?0:1]}(t,e):s({era:e},"era");return Se(De.parseFormat(e),(e=>{switch(e){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12==0?12:t.hour%12);case"hh":return this.num(t.hour%12==0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return i({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return i({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return i({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return r?s({day:"numeric"},"day"):this.num(t.day);case"dd":return r?s({day:"2-digit"},"day"):this.num(t.day,2);case"c":case"E":return this.num(t.weekday);case"ccc":return u("short",!0);case"cccc":return u("long",!0);case"ccccc":return u("narrow",!0);case"EEE":return u("short",!1);case"EEEE":return u("long",!1);case"EEEEE":return u("narrow",!1);case"L":return r?s({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return r?s({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return o("short",!0);case"LLLL":return o("long",!0);case"LLLLL":return o("narrow",!0);case"M":return r?s({month:"numeric"},"month"):this.num(t.month);case"MM":return r?s({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return o("short",!1);case"MMMM":return o("long",!1);case"MMMMM":return o("narrow",!1);case"y":return r?s({year:"numeric"},"year"):this.num(t.year);case"yy":return r?s({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return r?s({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return r?s({year:"numeric"},"year"):this.num(t.year,6);case"G":return c("short");case"GG":return c("long");case"GGGGG":return c("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return l(e)}}))}formatDurationFromString(t,e){const n="negativeLargestOnly"===this.opts.signMode?-1:1,r=t=>{switch(t[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},s=De.parseFormat(e),i=s.reduce(((t,{literal:e,val:n})=>e?t:t.concat(n)),[]),a=t.shiftTo(...i.map(r).filter((t=>t)));return Se(s,((t,e)=>s=>{const i=r(s);if(i){const r=e.isNegativeDuration&&i!==e.largestUnit?n:1;let a;return a="negativeLargestOnly"===this.opts.signMode&&i!==e.largestUnit?"never":"all"===this.opts.signMode?"always":"auto",this.num(t.get(i)*r,s.length,a)}return s})(a,{isNegativeDuration:a<0,largestUnit:Object.keys(a.values)[0]}))}}const be=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Te(...t){const e=t.reduce(((t,e)=>t+e.source),"");return RegExp(`^${e}$`)}function Ce(...t){return e=>t.reduce((([t,n,r],s)=>{const[i,a,o]=s(e,r);return[{...t,...i},a||n,o]}),[{},null,1]).slice(0,2)}function Ne(t,...e){if(null==t)return[null,null];for(const[n,r]of e){const e=n.exec(t);if(e)return r(e)}return[null,null]}function Ee(...t){return(e,n)=>{const r={};let s;for(s=0;s<t.length;s++)r[t[s]]=qt(e[n+s]);return[r,null,n+s]}}const xe=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,Ie=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Fe=RegExp(`${Ie.source}${`(?:${xe.source}?(?:\\[(${be.source})\\])?)?`}`),Ve=RegExp(`(?:[Tt]${Fe.source})?`),$e=Ee("weekYear","weekNumber","weekDay"),We=Ee("year","ordinal"),_e=RegExp(`${Ie.source} ?(?:${xe.source}|(${be.source}))?`),Le=RegExp(`(?: ${_e.source})?`);function je(t,e,n){const r=t[e];return _t(r)?n:qt(r)}function Ze(t,e){return[{hours:je(t,e,0),minutes:je(t,e+1,0),seconds:je(t,e+2,0),milliseconds:Jt(t[e+3])},null,e+4]}function ze(t,e){const n=!t[e]&&!t[e+1],r=se(t[e+1],t[e+2]);return[{},n?null:st.instance(r),e+3]}function Ue(t,e){return[{},t[e]?U.create(t[e]):null,e+1]}const Ae=RegExp(`^T?${Ie.source}$`),He=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function Pe(t){const[e,n,r,s,i,a,o,u,l]=t,c="-"===e[0],h=u&&"-"===u[0],d=(t,e=!1)=>void 0!==t&&(e||t&&c)?-t:t;return[{years:d(Yt(n)),months:d(Yt(r)),weeks:d(Yt(s)),days:d(Yt(i)),hours:d(Yt(a)),minutes:d(Yt(o)),seconds:d(Yt(u),"-0"===u),milliseconds:d(Jt(l),h)}]}const Re={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function qe(t,e,n,r,s,i,a){const o={year:2===e.length?ne(qt(e)):qt(e),month:ce.indexOf(n)+1,day:qt(r),hour:qt(s),minute:qt(i)};return a&&(o.second=qt(a)),t&&(o.weekday=t.length>3?me.indexOf(t)+1:fe.indexOf(t)+1),o}const Ye=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Je(t){const[,e,n,r,s,i,a,o,u,l,c,h]=t,d=qe(e,s,r,n,i,a,o);let m;return m=u?Re[u]:l?0:se(c,h),[d,new st(m)]}const Ge=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Be=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Qe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Xe(t){const[,e,n,r,s,i,a,o]=t;return[qe(e,s,r,n,i,a,o),st.utcInstance]}function Ke(t){const[,e,n,r,s,i,a,o]=t;return[qe(e,o,n,r,s,i,a),st.utcInstance]}const tn=Te(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,Ve),en=Te(/(\d{4})-?W(\d\d)(?:-?(\d))?/,Ve),nn=Te(/(\d{4})-?(\d{3})/,Ve),rn=Te(Fe),sn=Ce((function(t,e){return[{year:je(t,e),month:je(t,e+1,1),day:je(t,e+2,1)},null,e+3]}),Ze,ze,Ue),an=Ce($e,Ze,ze,Ue),on=Ce(We,Ze,ze,Ue),un=Ce(Ze,ze,Ue);const ln=Ce(Ze);const cn=Te(/(\d{4})-(\d\d)-(\d\d)/,Le),hn=Te(_e),dn=Ce(Ze,ze,Ue);const mn="Invalid Duration",fn={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},yn={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...fn},gn=365.2425,pn=30.436875,wn={years:{quarters:4,months:12,weeks:52.1775,days:gn,hours:8765.82,minutes:525949.2,seconds:525949.2*60,milliseconds:525949.2*60*1e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:525949.2*60/4,milliseconds:7889237999.999999},months:{weeks:4.3481250000000005,days:pn,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...fn},vn=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],On=vn.slice(0).reverse();function kn(t,e,n=!1){const r={values:n?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new bn(r)}function Sn(t,e){var n;let r=null!=(n=e.milliseconds)?n:0;for(const n of On.slice(1))e[n]&&(r+=e[n]*t[n].milliseconds);return r}function Mn(t,e){const n=Sn(t,e)<0?-1:1;vn.reduceRight(((r,s)=>{if(_t(e[s]))return r;if(r){const i=e[r]*n,a=t[s][r],o=Math.floor(i/a);e[s]+=o*n,e[r]-=o*a*n}return s}),null),vn.reduce(((n,r)=>{if(_t(e[r]))return n;if(n){const s=e[n]%1;e[n]-=s,e[r]+=s*t[n][r]}return r}),null)}function Dn(t){const e={};for(const[n,r]of Object.entries(t))0!==r&&(e[n]=r);return e}class bn{constructor(t){const e="longterm"===t.conversionAccuracy||!1;let n=e?wn:yn;t.matrix&&(n=t.matrix),this.values=t.values,this.loc=t.loc||nt.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(t,e){return bn.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(null==t||"object"!=typeof t)throw new u("Duration.fromObject: argument expected to be an object, got "+(null===t?"null":typeof t));return new bn({values:ae(t,bn.normalizeUnit),loc:nt.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(Lt(t))return bn.fromMillis(t);if(bn.isDuration(t))return t;if("object"==typeof t)return bn.fromObject(t);throw new u(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){const[n]=function(t){return Ne(t,[He,Pe])}(t);return n?bn.fromObject(n,e):bn.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){const[n]=function(t){return Ne(t,[Ae,ln])}(t);return n?bn.fromObject(n,e):bn.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new u("need to specify a reason the Duration is invalid");const n=t instanceof kt?t:new kt(t,e);if(Ot.throwOnInvalid)throw new i(n);return new bn({invalid:n})}static normalizeUnit(t){const e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t?t.toLowerCase():t];if(!e)throw new o(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){const n={...e,floor:!1!==e.round&&!1!==e.floor};return this.isValid?De.create(this.loc,n).formatDurationFromString(this,t):mn}toHuman(t={}){if(!this.isValid)return mn;const e=!1!==t.showZeros,n=vn.map((n=>{const r=this.values[n];return _t(r)||0===r&&!e?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:n.slice(0,-1)}).format(r)})).filter((t=>t));return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return 0!==this.years&&(t+=this.years+"Y"),0===this.months&&0===this.quarters||(t+=this.months+3*this.quarters+"M"),0!==this.weeks&&(t+=this.weeks+"W"),0!==this.days&&(t+=this.days+"D"),0===this.hours&&0===this.minutes&&0===this.seconds&&0===this.milliseconds||(t+="T"),0!==this.hours&&(t+=this.hours+"H"),0!==this.minutes&&(t+=this.minutes+"M"),0===this.seconds&&0===this.milliseconds||(t+=Gt(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===t&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const e=this.toMillis();if(e<0||e>=864e5)return null;t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1};return wr.fromMillis(e,{zone:"UTC"}).toISOTime(t)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Sn(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const e=bn.fromDurationLike(t),n={};for(const t of vn)(At(e.values,t)||At(this.values,t))&&(n[t]=e.get(t)+this.get(t));return kn(this,{values:n},!0)}minus(t){if(!this.isValid)return this;const e=bn.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;const e={};for(const n of Object.keys(this.values))e[n]=ie(t(this.values[n],n));return kn(this,{values:e},!0)}get(t){return this[bn.normalizeUnit(t)]}set(t){if(!this.isValid)return this;return kn(this,{values:{...this.values,...ae(t,bn.normalizeUnit)}})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:n,matrix:r}={}){return kn(this,{loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:r,conversionAccuracy:n})}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return Mn(this.matrix,t),kn(this,{values:t},!0)}rescale(){if(!this.isValid)return this;return kn(this,{values:Dn(this.normalize().shiftToAll().toObject())},!0)}shiftTo(...t){if(!this.isValid)return this;if(0===t.length)return this;t=t.map((t=>bn.normalizeUnit(t)));const e={},n={},r=this.toObject();let s;for(const i of vn)if(t.indexOf(i)>=0){s=i;let t=0;for(const e in n)t+=this.matrix[e][i]*n[e],n[e]=0;Lt(r[i])&&(t+=r[i]);const a=Math.trunc(t);e[i]=a,n[i]=(1e3*t-1e3*a)/1e3}else Lt(r[i])&&(n[i]=r[i]);for(const t in n)0!==n[t]&&(e[s]+=t===s?n[t]:n[t]/this.matrix[s][t]);return Mn(this.matrix,e),kn(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const e of Object.keys(this.values))t[e]=0===this.values[e]?0:-this.values[e];return kn(this,{values:t},!0)}removeZeros(){if(!this.isValid)return this;return kn(this,{values:Dn(this.values)},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid)return!1;if(!this.loc.equals(t.loc))return!1;for(const r of vn)if(e=this.values[r],n=t.values[r],!(void 0===e||0===e?void 0===n||0===n:e===n))return!1;var e,n;return!0}}const Tn="Invalid Interval";class Cn{constructor(t){this.s=t.start,this.e=t.end,this.invalid=t.invalid||null,this.isLuxonInterval=!0}static invalid(t,e=null){if(!t)throw new u("need to specify a reason the Interval is invalid");const n=t instanceof kt?t:new kt(t,e);if(Ot.throwOnInvalid)throw new s(n);return new Cn({invalid:n})}static fromDateTimes(t,e){const n=vr(t),r=vr(e),s=function(t,e){return t&&t.isValid?e&&e.isValid?e<t?Cn.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null:Cn.invalid("missing or invalid end"):Cn.invalid("missing or invalid start")}(n,r);return null==s?new Cn({start:n,end:r}):s}static after(t,e){const n=bn.fromDurationLike(e),r=vr(t);return Cn.fromDateTimes(r,r.plus(n))}static before(t,e){const n=bn.fromDurationLike(e),r=vr(t);return Cn.fromDateTimes(r.minus(n),r)}static fromISO(t,e){const[n,r]=(t||"").split("/",2);if(n&&r){let t,s,i,a;try{t=wr.fromISO(n,e),s=t.isValid}catch(r){s=!1}try{i=wr.fromISO(r,e),a=i.isValid}catch(r){a=!1}if(s&&a)return Cn.fromDateTimes(t,i);if(s){const n=bn.fromISO(r,e);if(n.isValid)return Cn.after(t,n)}else if(a){const t=bn.fromISO(n,e);if(t.isValid)return Cn.before(i,t)}}return Cn.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static isInterval(t){return t&&t.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(t="milliseconds"){return this.isValid?this.toDuration(t).get(t):NaN}count(t="milliseconds",e){if(!this.isValid)return NaN;const n=this.start.startOf(t,e);let r;return r=null!=e&&e.useLocaleWeeks?this.end.reconfigure({locale:n.locale}):this.end,r=r.startOf(t,e),Math.floor(r.diff(n,t).get(t))+(r.valueOf()!==this.end.valueOf())}hasSame(t){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,t))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(t){return!!this.isValid&&this.s>t}isBefore(t){return!!this.isValid&&this.e<=t}contains(t){return!!this.isValid&&(this.s<=t&&this.e>t)}set({start:t,end:e}={}){return this.isValid?Cn.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];const e=t.map(vr).filter((t=>this.contains(t))).sort(((t,e)=>t.toMillis()-e.toMillis())),n=[];let{s:r}=this,s=0;for(;r<this.e;){const t=e[s]||this.e,i=+t>+this.e?this.e:t;n.push(Cn.fromDateTimes(r,i)),r=i,s+=1}return n}splitBy(t){const e=bn.fromDurationLike(t);if(!this.isValid||!e.isValid||0===e.as("milliseconds"))return[];let n,{s:r}=this,s=1;const i=[];for(;r<this.e;){const t=this.start.plus(e.mapUnits((t=>t*s)));n=+t>+this.e?this.e:t,i.push(Cn.fromDateTimes(r,n)),r=n,s+=1}return i}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s<t.e}abutsStart(t){return!!this.isValid&&+this.e==+t.s}abutsEnd(t){return!!this.isValid&&+t.e==+this.s}engulfs(t){return!!this.isValid&&(this.s<=t.s&&this.e>=t.e)}equals(t){return!(!this.isValid||!t.isValid)&&(this.s.equals(t.s)&&this.e.equals(t.e))}intersection(t){if(!this.isValid)return this;const e=this.s>t.s?this.s:t.s,n=this.e<t.e?this.e:t.e;return e>=n?null:Cn.fromDateTimes(e,n)}union(t){if(!this.isValid)return this;const e=this.s<t.s?this.s:t.s,n=this.e>t.e?this.e:t.e;return Cn.fromDateTimes(e,n)}static merge(t){const[e,n]=t.sort(((t,e)=>t.s-e.s)).reduce((([t,e],n)=>e?e.overlaps(n)||e.abutsStart(n)?[t,e.union(n)]:[t.concat([e]),n]:[t,n]),[[],null]);return n&&e.push(n),e}static xor(t){let e=null,n=0;const r=[],s=t.map((t=>[{time:t.s,type:"s"},{time:t.e,type:"e"}])),i=Array.prototype.concat(...s).sort(((t,e)=>t.time-e.time));for(const t of i)n+="s"===t.type?1:-1,1===n?e=t.time:(e&&+e!=+t.time&&r.push(Cn.fromDateTimes(e,t.time)),e=null);return Cn.merge(r)}difference(...t){return Cn.xor([this].concat(t)).map((t=>this.intersection(t))).filter((t=>t&&!t.isEmpty()))}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:Tn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=m,e={}){return this.isValid?De.create(this.s.loc.clone(e),t).formatInterval(this):Tn}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:Tn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Tn}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:Tn}toFormat(t,{separator:e=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:Tn}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):bn.invalid(this.invalidReason)}mapEndpoints(t){return Cn.fromDateTimes(t(this.s),t(this.e))}}class Nn{static hasDST(t=Ot.defaultZone){const e=wr.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return U.isValidZone(t)}static normalizeZone(t){return at(t,Ot.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||nt.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||nt.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||nt.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:n=null,locObj:r=null,outputCalendar:s="gregory"}={}){return(r||nt.create(e,n,s)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:n=null,locObj:r=null,outputCalendar:s="gregory"}={}){return(r||nt.create(e,n,s)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:n=null,locObj:r=null}={}){return(r||nt.create(e,n,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:n=null,locObj:r=null}={}){return(r||nt.create(e,n,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return nt.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return nt.create(e,null,"gregory").eras(t)}static features(){return{relative:Zt(),localeWeek:zt()}}}function En(t,e){const n=t=>t.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=n(e)-n(t);return Math.floor(bn.fromMillis(r).as("days"))}function xn(t,e,n,r){let[s,i,a,o]=function(t,e,n){const r=[["years",(t,e)=>e.year-t.year],["quarters",(t,e)=>e.quarter-t.quarter+4*(e.year-t.year)],["months",(t,e)=>e.month-t.month+12*(e.year-t.year)],["weeks",(t,e)=>{const n=En(t,e);return(n-n%7)/7}],["days",En]],s={},i=t;let a,o;for(const[u,l]of r)n.indexOf(u)>=0&&(a=u,s[u]=l(t,e),o=i.plus(s),o>e?(s[u]--,(t=i.plus(s))>e&&(o=t,s[u]--,t=i.plus(s))):t=o);return[t,s,o,a]}(t,e,n);const u=e-s,l=n.filter((t=>["hours","minutes","seconds","milliseconds"].indexOf(t)>=0));0===l.length&&(a<e&&(a=s.plus({[o]:1})),a!==s&&(i[o]=(i[o]||0)+u/(a-s)));const c=bn.fromObject(i,r);return l.length>0?bn.fromMillis(u,r).shiftTo(...l).plus(c):c}function In(t,e=(t=>t)){return{regex:t,deser:([t])=>e(function(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);if(-1!==t[n].search(ot.hanidec))e+=lt.indexOf(t[n]);else for(const t in ut){const[n,s]=ut[t];r>=n&&r<=s&&(e+=r-n)}}return parseInt(e,10)}return e}(t))}}const Fn=`[ ${String.fromCharCode(160)}]`,Vn=new RegExp(Fn,"g");function $n(t){return t.replace(/\./g,"\\.?").replace(Vn,Fn)}function Wn(t){return t.replace(/\./g,"").replace(Vn," ").toLowerCase()}function _n(t,e){return null===t?null:{regex:RegExp(t.map($n).join("|")),deser:([n])=>t.findIndex((t=>Wn(n)===Wn(t)))+e}}function Ln(t,e){return{regex:t,deser:([,t,e])=>se(t,e),groups:e}}function jn(t){return{regex:t,deser:([t])=>t}}const Zn={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};let zn=null;function Un(t,e){return Array.prototype.concat(...t.map((t=>function(t,e){if(t.literal)return t;const n=Pn(De.macroTokenToFormatOpts(t.val),e);return null==n||n.includes(void 0)?t:n}(t,e))))}class An{constructor(t,e){if(this.locale=t,this.format=e,this.tokens=Un(De.parseFormat(e),t),this.units=this.tokens.map((e=>function(t,e){const n=ht(e),r=ht(e,"{2}"),s=ht(e,"{3}"),i=ht(e,"{4}"),a=ht(e,"{6}"),o=ht(e,"{1,2}"),u=ht(e,"{1,3}"),l=ht(e,"{1,6}"),c=ht(e,"{1,9}"),h=ht(e,"{2,4}"),d=ht(e,"{4,6}"),m=t=>{return{regex:RegExp((e=t.val,e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"))),deser:([t])=>t,literal:!0};var e},f=(f=>{if(t.literal)return m(f);switch(f.val){case"G":return _n(e.eras("short"),0);case"GG":return _n(e.eras("long"),0);case"y":return In(l);case"yy":case"kk":return In(h,ne);case"yyyy":case"kkkk":return In(i);case"yyyyy":return In(d);case"yyyyyy":return In(a);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return In(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return In(r);case"MMM":return _n(e.months("short",!0),1);case"MMMM":return _n(e.months("long",!0),1);case"LLL":return _n(e.months("short",!1),1);case"LLLL":return _n(e.months("long",!1),1);case"o":case"S":return In(u);case"ooo":case"SSS":return In(s);case"u":return jn(c);case"uu":return jn(o);case"uuu":case"E":case"c":return In(n);case"a":return _n(e.meridiems(),0);case"EEE":return _n(e.weekdays("short",!1),1);case"EEEE":return _n(e.weekdays("long",!1),1);case"ccc":return _n(e.weekdays("short",!0),1);case"cccc":return _n(e.weekdays("long",!0),1);case"Z":case"ZZ":return Ln(new RegExp(`([+-]${o.source})(?::(${r.source}))?`),2);case"ZZZ":return Ln(new RegExp(`([+-]${o.source})(${r.source})?`),2);case"z":return jn(/[a-z_+-/]{1,256}?/i);case" ":return jn(/[^\S\n\r]/);default:return m(f)}})(t)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"};return f.token=t,f}(e,t))),this.disqualifyingUnit=this.units.find((t=>t.invalidReason)),!this.disqualifyingUnit){const[t,e]=[`^${(n=this.units).map((t=>t.regex)).reduce(((t,e)=>`${t}(${e.source})`),"")}$`,n];this.regex=RegExp(t,"i"),this.handlers=e}var n}explainFromTokens(t){if(this.isValid){const[e,n]=function(t,e,n){const r=t.match(e);if(r){const t={};let e=1;for(const s in n)if(At(n,s)){const i=n[s],a=i.groups?i.groups+1:1;!i.literal&&i.token&&(t[i.token.val[0]]=i.deser(r.slice(e,e+a))),e+=a}return[r,t]}return[r,{}]}(t,this.regex,this.handlers),[r,s,i]=n?function(t){let e,n=null;return _t(t.z)||(n=U.create(t.z)),_t(t.Z)||(n||(n=new st(t.Z)),e=t.Z),_t(t.q)||(t.M=3*(t.q-1)+1),_t(t.h)||(t.h<12&&1===t.a?t.h+=12:12===t.h&&0===t.a&&(t.h=0)),0===t.G&&t.y&&(t.y=-t.y),_t(t.u)||(t.S=Jt(t.u)),[Object.keys(t).reduce(((e,n)=>{const r=(t=>{switch(t){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(n);return r&&(e[r]=t[n]),e}),{}),n,e]}(n):[null,null,void 0];if(At(n,"a")&&At(n,"H"))throw new a("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:e,matches:n,result:r,zone:s,specificOffset:i}}return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function Hn(t,e,n){return new An(t,n).explainFromTokens(e)}function Pn(t,e){if(!t)return null;const n=De.create(e,t).dtFormatter((zn||(zn=wr.fromMillis(1555555555555)),zn)),r=n.formatToParts(),s=n.resolvedOptions();return r.map((e=>function(t,e,n){const{type:r,value:s}=t;if("literal"===r){const t=/^\s+$/.test(s);return{literal:!t,val:t?" ":s}}const i=e[r];let a=r;"hour"===r&&(a=null!=e.hour12?e.hour12?"hour12":"hour24":null!=e.hourCycle?"h11"===e.hourCycle||"h12"===e.hourCycle?"hour12":"hour24":n.hour12?"hour12":"hour24");let o=Zn[a];if("object"==typeof o&&(o=o[i]),o)return{literal:!1,val:o}}(e,t,s)))}const Rn="Invalid DateTime",qn=864e13;function Yn(t){return new kt("unsupported zone",`the zone "${t.name}" is not supported`)}function Jn(t){return null===t.weekData&&(t.weekData=Et(t.c)),t.weekData}function Gn(t){return null===t.localWeekData&&(t.localWeekData=Et(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}function Bn(t,e){const n={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new wr({...n,...e,old:n})}function Qn(t,e,n){let r=t-60*e*1e3;const s=n.offset(r);if(e===s)return[r,e];r-=60*(s-e)*1e3;const i=n.offset(r);return s===i?[r,s]:[t-60*Math.min(s,i)*1e3,Math.max(s,i)]}function Xn(t,e){const n=new Date(t+=60*e*1e3);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function Kn(t,e,n){return Qn(Kt(t),e,n)}function tr(t,e){const n=t.o,r=t.c.year+Math.trunc(e.years),s=t.c.month+Math.trunc(e.months)+3*Math.trunc(e.quarters),i={...t.c,year:r,month:s,day:Math.min(t.c.day,Xt(r,s))+Math.trunc(e.days)+7*Math.trunc(e.weeks)},a=bn.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),o=Kt(i);let[u,l]=Qn(o,n,t.zone);return 0!==a&&(u+=a,l=t.zone.offset(u)),{ts:u,o:l}}function er(t,e,n,r,s,i){const{setZone:a,zone:o}=n;if(t&&0!==Object.keys(t).length||e){const r=e||o,s=wr.fromObject(t,{...n,zone:r,specificOffset:i});return a?s:s.setZone(o)}return wr.invalid(new kt("unparsable",`the input "${s}" can't be parsed as ${r}`))}function nr(t,e,n=!0){return t.isValid?De.create(nt.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(t,e):null}function rr(t,e,n){const r=t.c.year>9999||t.c.year<0;let s="";if(r&&t.c.year>=0&&(s+="+"),s+=Rt(t.c.year,r?6:4),"year"===n)return s;if(e){if(s+="-",s+=Rt(t.c.month),"month"===n)return s;s+="-"}else if(s+=Rt(t.c.month),"month"===n)return s;return s+=Rt(t.c.day),s}function sr(t,e,n,r,s,i,a){let o=!n||0!==t.c.millisecond||0!==t.c.second,u="";switch(a){case"day":case"month":case"year":break;default:if(u+=Rt(t.c.hour),"hour"===a)break;if(e){if(u+=":",u+=Rt(t.c.minute),"minute"===a)break;o&&(u+=":",u+=Rt(t.c.second))}else{if(u+=Rt(t.c.minute),"minute"===a)break;o&&(u+=Rt(t.c.second))}if("second"===a)break;!o||r&&0===t.c.millisecond||(u+=".",u+=Rt(t.c.millisecond,3))}return s&&(t.isOffsetFixed&&0===t.offset&&!i?u+="Z":t.o<0?(u+="-",u+=Rt(Math.trunc(-t.o/60)),u+=":",u+=Rt(Math.trunc(-t.o%60))):(u+="+",u+=Rt(Math.trunc(t.o/60)),u+=":",u+=Rt(Math.trunc(t.o%60)))),i&&(u+="["+t.zone.ianaName+"]"),u}const ir={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},ar={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},or={ordinal:1,hour:0,minute:0,second:0,millisecond:0},ur=["year","month","day","hour","minute","second","millisecond"],lr=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],cr=["year","ordinal","hour","minute","second","millisecond"];function hr(t){const e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new o(t);return e}function dr(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return hr(t)}}function mr(t,e){const n=at(e.zone,Ot.defaultZone);if(!n.isValid)return wr.invalid(Yn(n));const r=nt.fromObject(e);let s,i;if(_t(t.year))s=Ot.now();else{for(const e of ur)_t(t[e])&&(t[e]=ir[e]);const e=$t(t)||Wt(t);if(e)return wr.invalid(e);const r=function(t){if(void 0===gr&&(gr=Ot.now()),"iana"!==t.type)return t.offset(gr);const e=t.name;let n=pr.get(e);return void 0===n&&(n=t.offset(gr),pr.set(e,n)),n}(n);[s,i]=Kn(t,r,n)}return new wr({ts:s,zone:n,loc:r,o:i})}function fr(t,e,n){const r=!!_t(n.round)||n.round,s=_t(n.rounding)?"trunc":n.rounding,i=(t,i)=>{t=Gt(t,r||n.calendary?0:2,n.calendary?"round":s);return e.loc.clone(n).relFormatter(n).format(t,i)},a=r=>n.calendary?e.hasSame(t,r)?0:e.startOf(r).diff(t.startOf(r),r).get(r):e.diff(t,r).get(r);if(n.unit)return i(a(n.unit),n.unit);for(const t of n.units){const e=a(t);if(Math.abs(e)>=1)return i(e,t)}return i(t>e?-0:0,n.units[n.units.length-1])}function yr(t){let e,n={};return t.length>0&&"object"==typeof t[t.length-1]?(n=t[t.length-1],e=Array.from(t).slice(0,t.length-1)):e=Array.from(t),[n,e]}let gr;const pr=new Map;class wr{constructor(t){const e=t.zone||Ot.defaultZone;let n=t.invalid||(Number.isNaN(t.ts)?new kt("invalid input"):null)||(e.isValid?null:Yn(e));this.ts=_t(t.ts)?Ot.now():t.ts;let r=null,s=null;if(!n){if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[r,s]=[t.old.c,t.old.o];else{const i=Lt(t.o)&&!t.old?t.o:e.offset(this.ts);r=Xn(this.ts,i),n=Number.isNaN(r.year)?new kt("invalid input"):null,r=n?null:r,s=n?null:i}}this._zone=e,this.loc=t.loc||nt.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=r,this.o=s,this.isLuxonDateTime=!0}static now(){return new wr({})}static local(){const[t,e]=yr(arguments),[n,r,s,i,a,o,u]=e;return mr({year:n,month:r,day:s,hour:i,minute:a,second:o,millisecond:u},t)}static utc(){const[t,e]=yr(arguments),[n,r,s,i,a,o,u]=e;return t.zone=st.utcInstance,mr({year:n,month:r,day:s,hour:i,minute:a,second:o,millisecond:u},t)}static fromJSDate(t,e={}){const n=(r=t,"[object Date]"===Object.prototype.toString.call(r)?t.valueOf():NaN);var r;if(Number.isNaN(n))return wr.invalid("invalid input");const s=at(e.zone,Ot.defaultZone);return s.isValid?new wr({ts:n,zone:s,loc:nt.fromObject(e)}):wr.invalid(Yn(s))}static fromMillis(t,e={}){if(Lt(t))return t<-qn||t>qn?wr.invalid("Timestamp out of range"):new wr({ts:t,zone:at(e.zone,Ot.defaultZone),loc:nt.fromObject(e)});throw new u(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(Lt(t))return new wr({ts:1e3*t,zone:at(e.zone,Ot.defaultZone),loc:nt.fromObject(e)});throw new u("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};const n=at(e.zone,Ot.defaultZone);if(!n.isValid)return wr.invalid(Yn(n));const r=nt.fromObject(e),s=ae(t,dr),{minDaysInFirstWeek:i,startOfWeek:o}=Vt(s,r),u=Ot.now(),l=_t(e.specificOffset)?n.offset(u):e.specificOffset,c=!_t(s.ordinal),h=!_t(s.year),d=!_t(s.month)||!_t(s.day),m=h||d,f=s.weekYear||s.weekNumber;if((m||c)&&f)throw new a("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&c)throw new a("Can't mix ordinal dates with month/day");const y=f||s.weekday&&!m;let g,p,w=Xn(u,l);y?(g=lr,p=ar,w=Et(w,i,o)):c?(g=cr,p=or,w=It(w)):(g=ur,p=ir);let v=!1;for(const t of g){_t(s[t])?s[t]=v?p[t]:w[t]:v=!0}const O=y?function(t,e=4,n=1){const r=jt(t.weekYear),s=Pt(t.weekNumber,1,ee(t.weekYear,e,n)),i=Pt(t.weekday,1,7);return r?s?!i&&Dt("weekday",t.weekday):Dt("week",t.weekNumber):Dt("weekYear",t.weekYear)}(s,i,o):c?function(t){const e=jt(t.year),n=Pt(t.ordinal,1,Qt(t.year));return e?!n&&Dt("ordinal",t.ordinal):Dt("year",t.year)}(s):$t(s),k=O||Wt(s);if(k)return wr.invalid(k);const S=y?xt(s,i,o):c?Ft(s):s,[M,D]=Kn(S,l,n),b=new wr({ts:M,zone:n,o:D,loc:r});return s.weekday&&m&&t.weekday!==b.weekday?wr.invalid("mismatched weekday",`you can't specify both a weekday of ${s.weekday} and a date of ${b.toISO()}`):b.isValid?b:wr.invalid(b.invalid)}static fromISO(t,e={}){const[n,r]=function(t){return Ne(t,[tn,sn],[en,an],[nn,on],[rn,un])}(t);return er(n,r,e,"ISO 8601",t)}static fromRFC2822(t,e={}){const[n,r]=function(t){return Ne(function(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}(t),[Ye,Je])}(t);return er(n,r,e,"RFC 2822",t)}static fromHTTP(t,e={}){const[n,r]=function(t){return Ne(t,[Ge,Xe],[Be,Xe],[Qe,Ke])}(t);return er(n,r,e,"HTTP",e)}static fromFormat(t,e,n={}){if(_t(t)||_t(e))throw new u("fromFormat requires an input string and a format");const{locale:r=null,numberingSystem:s=null}=n,i=nt.fromOpts({locale:r,numberingSystem:s,defaultToEN:!0}),[a,o,l,c]=function(t,e,n){const{result:r,zone:s,specificOffset:i,invalidReason:a}=Hn(t,e,n);return[r,s,i,a]}(i,t,e);return c?wr.invalid(c):er(a,o,n,`format ${e}`,t,l)}static fromString(t,e,n={}){return wr.fromFormat(t,e,n)}static fromSQL(t,e={}){const[n,r]=function(t){return Ne(t,[cn,sn],[hn,dn])}(t);return er(n,r,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new u("need to specify a reason the DateTime is invalid");const n=t instanceof kt?t:new kt(t,e);if(Ot.throwOnInvalid)throw new r(n);return new wr({invalid:n})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){const n=Pn(t,nt.fromObject(e));return n?n.map((t=>t?t.val:null)).join(""):null}static expandFormat(t,e={}){return Un(De.parseFormat(t),nt.fromObject(e)).map((t=>t.val)).join("")}static resetCache(){gr=void 0,pr.clear()}get(t){return this[t]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Jn(this).weekYear:NaN}get weekNumber(){return this.isValid?Jn(this).weekNumber:NaN}get weekday(){return this.isValid?Jn(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Gn(this).weekday:NaN}get localWeekNumber(){return this.isValid?Gn(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Gn(this).weekYear:NaN}get ordinal(){return this.isValid?It(this.c).ordinal:NaN}get monthShort(){return this.isValid?Nn.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Nn.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Nn.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Nn.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,e=6e4,n=Kt(this.c),r=this.zone.offset(n-t),s=this.zone.offset(n+t),i=this.zone.offset(n-r*e),a=this.zone.offset(n-s*e);if(i===a)return[this];const o=n-i*e,u=n-a*e,l=Xn(o,i),c=Xn(u,a);return l.hour===c.hour&&l.minute===c.minute&&l.second===c.second&&l.millisecond===c.millisecond?[Bn(this,{ts:o}),Bn(this,{ts:u})]:[this]}get isInLeapYear(){return Bt(this.year)}get daysInMonth(){return Xt(this.year,this.month)}get daysInYear(){return this.isValid?Qt(this.year):NaN}get weeksInWeekYear(){return this.isValid?ee(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ee(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){const{locale:e,numberingSystem:n,calendar:r}=De.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:n,outputCalendar:r}}toUTC(t=0,e={}){return this.setZone(st.instance(t),e)}toLocal(){return this.setZone(Ot.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:n=!1}={}){if((t=at(t,Ot.defaultZone)).equals(this.zone))return this;if(t.isValid){let r=this.ts;if(e||n){const e=t.offset(this.ts),n=this.toObject();[r]=Kn(n,e,t)}return Bn(this,{ts:r,zone:t})}return wr.invalid(Yn(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:n}={}){return Bn(this,{loc:this.loc.clone({locale:t,numberingSystem:e,outputCalendar:n})})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const e=ae(t,dr),{minDaysInFirstWeek:n,startOfWeek:r}=Vt(e,this.loc),s=!_t(e.weekYear)||!_t(e.weekNumber)||!_t(e.weekday),i=!_t(e.ordinal),o=!_t(e.year),u=!_t(e.month)||!_t(e.day),l=o||u,c=e.weekYear||e.weekNumber;if((l||i)&&c)throw new a("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(u&&i)throw new a("Can't mix ordinal dates with month/day");let h;s?h=xt({...Et(this.c,n,r),...e},n,r):_t(e.ordinal)?(h={...this.toObject(),...e},_t(e.day)&&(h.day=Math.min(Xt(h.year,h.month),h.day))):h=Ft({...It(this.c),...e});const[d,m]=Kn(h,this.o,this.zone);return Bn(this,{ts:d,o:m})}plus(t){if(!this.isValid)return this;return Bn(this,tr(this,bn.fromDurationLike(t)))}minus(t){if(!this.isValid)return this;return Bn(this,tr(this,bn.fromDurationLike(t).negate()))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;const n={},r=bn.normalizeUnit(t);switch(r){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0}if("weeks"===r)if(e){const t=this.loc.getStartOfWeek(),{weekday:e}=this;e<t&&(n.weekNumber=this.weekNumber-1),n.weekday=t}else n.weekday=1;if("quarters"===r){const t=Math.ceil(this.month/3);n.month=3*(t-1)+1}return this.set(n)}endOf(t,e){return this.isValid?this.plus({[t]:1}).startOf(t,e).minus(1):this}toFormat(t,e={}){return this.isValid?De.create(this.loc.redefaultToEN(e)).formatDateTimeFromString(this,t):Rn}toLocaleString(t=m,e={}){return this.isValid?De.create(this.loc.clone(e),t).formatDateTime(this):Rn}toLocaleParts(t={}){return this.isValid?De.create(this.loc.clone(t),t).formatDateTimeParts(this):[]}toISO({format:t="extended",suppressSeconds:e=!1,suppressMilliseconds:n=!1,includeOffset:r=!0,extendedZone:s=!1,precision:i="milliseconds"}={}){if(!this.isValid)return null;const a="extended"===t;let o=rr(this,a,i=hr(i));return ur.indexOf(i)>=3&&(o+="T"),o+=sr(this,a,e,n,r,s,i),o}toISODate({format:t="extended",precision:e="day"}={}){return this.isValid?rr(this,"extended"===t,hr(e)):null}toISOWeekDate(){return nr(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:n=!0,includePrefix:r=!1,extendedZone:s=!1,format:i="extended",precision:a="milliseconds"}={}){if(!this.isValid)return null;return a=hr(a),(r&&ur.indexOf(a)>=3?"T":"")+sr(this,"extended"===i,e,t,n,s,a)}toRFC2822(){return nr(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return nr(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?rr(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:n=!0}={}){let r="HH:mm:ss.SSS";return(e||t)&&(n&&(r+=" "),e?r+="z":t&&(r+="ZZ")),nr(this,r,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():Rn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};const e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",n={}){if(!this.isValid||!t.isValid)return bn.invalid("created by diffing an invalid DateTime");const r={locale:this.locale,numberingSystem:this.numberingSystem,...n},s=(o=e,Array.isArray(o)?o:[o]).map(bn.normalizeUnit),i=t.valueOf()>this.valueOf(),a=xn(i?this:t,i?t:this,s,r);var o;return i?a.negate():a}diffNow(t="milliseconds",e={}){return this.diff(wr.now(),t,e)}until(t){return this.isValid?Cn.fromDateTimes(this,t):this}hasSame(t,e,n){if(!this.isValid)return!1;const r=t.valueOf(),s=this.setZone(t.zone,{keepLocalTime:!0});return s.startOf(e,n)<=r&&r<=s.endOf(e,n)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const e=t.base||wr.fromObject({},{zone:this.zone}),n=t.padding?this<e?-t.padding:t.padding:0;let r=["years","months","days","hours","minutes","seconds"],s=t.unit;return Array.isArray(t.unit)&&(r=t.unit,s=void 0),fr(e,this.plus(n),{...t,numeric:"always",units:r,unit:s})}toRelativeCalendar(t={}){return this.isValid?fr(t.base||wr.fromObject({},{zone:this.zone}),this,{...t,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...t){if(!t.every(wr.isDateTime))throw new u("min requires all arguments be DateTimes");return Ut(t,(t=>t.valueOf()),Math.min)}static max(...t){if(!t.every(wr.isDateTime))throw new u("max requires all arguments be DateTimes");return Ut(t,(t=>t.valueOf()),Math.max)}static fromFormatExplain(t,e,n={}){const{locale:r=null,numberingSystem:s=null}=n;return Hn(nt.fromOpts({locale:r,numberingSystem:s,defaultToEN:!0}),t,e)}static fromStringExplain(t,e,n={}){return wr.fromFormatExplain(t,e,n)}static buildFormatParser(t,e={}){const{locale:n=null,numberingSystem:r=null}=e,s=nt.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0});return new An(s,t)}static fromFormatParser(t,e,n={}){if(_t(t)||_t(e))throw new u("fromFormatParser requires an input string and a format parser");const{locale:r=null,numberingSystem:s=null}=n,i=nt.fromOpts({locale:r,numberingSystem:s,defaultToEN:!0});if(!i.equals(e.locale))throw new u(`fromFormatParser called with a locale of ${i}, but the format parser was created for ${e.locale}`);const{result:a,zone:o,specificOffset:l,invalidReason:c}=e.explainFromTokens(t);return c?wr.invalid(c):er(a,o,n,`format ${e.format}`,t,l)}static get DATE_SHORT(){return m}static get DATE_MED(){return f}static get DATE_MED_WITH_WEEKDAY(){return y}static get DATE_FULL(){return g}static get DATE_HUGE(){return p}static get TIME_SIMPLE(){return w}static get TIME_WITH_SECONDS(){return v}static get TIME_WITH_SHORT_OFFSET(){return O}static get TIME_WITH_LONG_OFFSET(){return k}static get TIME_24_SIMPLE(){return S}static get TIME_24_WITH_SECONDS(){return M}static get TIME_24_WITH_SHORT_OFFSET(){return D}static get TIME_24_WITH_LONG_OFFSET(){return b}static get DATETIME_SHORT(){return T}static get DATETIME_SHORT_WITH_SECONDS(){return C}static get DATETIME_MED(){return N}static get DATETIME_MED_WITH_SECONDS(){return E}static get DATETIME_MED_WITH_WEEKDAY(){return x}static get DATETIME_FULL(){return I}static get DATETIME_FULL_WITH_SECONDS(){return F}static get DATETIME_HUGE(){return V}static get DATETIME_HUGE_WITH_SECONDS(){return $}}function vr(t){if(wr.isDateTime(t))return t;if(t&&t.valueOf&&Lt(t.valueOf()))return wr.fromJSDate(t);if(t&&"object"==typeof t)return wr.fromObject(t);throw new u(`Unknown datetime argument: ${t}, of type ${typeof t}`)}e.DateTime=wr,e.Duration=bn,e.FixedOffsetZone=st,e.IANAZone=U,e.Info=Nn,e.Interval=Cn,e.InvalidZone=it,e.Settings=Ot,e.SystemZone=L,e.VERSION="3.7.2",e.Zone=W},87259:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronDate=e.DAYS_IN_MONTH=e.DateMathOp=e.TimeUnit=void 0;const r=n(84492);var s,i;!function(t){t.Second="Second",t.Minute="Minute",t.Hour="Hour",t.Day="Day",t.Month="Month",t.Year="Year"}(s||(e.TimeUnit=s={})),function(t){t.Add="Add",t.Subtract="Subtract"}(i||(e.DateMathOp=i={})),e.DAYS_IN_MONTH=Object.freeze([31,29,31,30,31,30,31,31,30,31,30,31]);class a{#t;#e=null;#n=null;#r={add:{[s.Year]:this.addYear.bind(this),[s.Month]:this.addMonth.bind(this),[s.Day]:this.addDay.bind(this),[s.Hour]:this.addHour.bind(this),[s.Minute]:this.addMinute.bind(this),[s.Second]:this.addSecond.bind(this)},subtract:{[s.Year]:this.subtractYear.bind(this),[s.Month]:this.subtractMonth.bind(this),[s.Day]:this.subtractDay.bind(this),[s.Hour]:this.subtractHour.bind(this),[s.Minute]:this.subtractMinute.bind(this),[s.Second]:this.subtractSecond.bind(this)}};constructor(t,e){const n={zone:e};if(t?t instanceof a?(this.#t=t.#t,this.#e=t.#e,this.#n=t.#n):t instanceof Date?this.#t=r.DateTime.fromJSDate(t,n):"number"==typeof t?this.#t=r.DateTime.fromMillis(t,n):(this.#t=r.DateTime.fromISO(t,n),this.#t.isValid||(this.#t=r.DateTime.fromRFC2822(t,n)),this.#t.isValid||(this.#t=r.DateTime.fromSQL(t,n)),this.#t.isValid||(this.#t=r.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",n))):this.#t=r.DateTime.local(),!this.#t.isValid)throw new Error(`CronDate: unhandled timestamp: ${t}`);e&&e!==this.#t.zoneName&&(this.#t=this.#t.setZone(e))}static#s(t){return t%4==0&&t%100!=0||t%400==0}get dstStart(){return this.#e}set dstStart(t){this.#e=t}get dstEnd(){return this.#n}set dstEnd(t){this.#n=t}addYear(){this.#t=this.#t.plus({years:1})}addMonth(){this.#t=this.#t.plus({months:1}).startOf("month")}addDay(){this.#t=this.#t.plus({days:1}).startOf("day")}addHour(){this.#t=this.#t.plus({hours:1}).startOf("hour")}addMinute(){this.#t=this.#t.plus({minutes:1}).startOf("minute")}addSecond(){this.#t=this.#t.plus({seconds:1})}subtractYear(){this.#t=this.#t.minus({years:1})}subtractMonth(){this.#t=this.#t.minus({months:1}).endOf("month").startOf("second")}subtractDay(){this.#t=this.#t.minus({days:1}).endOf("day").startOf("second")}subtractHour(){this.#t=this.#t.minus({hours:1}).endOf("hour").startOf("second")}subtractMinute(){this.#t=this.#t.minus({minutes:1}).endOf("minute").startOf("second")}subtractSecond(){this.#t=this.#t.minus({seconds:1})}addUnit(t){this.#r.add[t]()}subtractUnit(t){this.#r.subtract[t]()}invokeDateOperation(t,e){if(t!==i.Add){if(t!==i.Subtract)throw new Error(`Invalid verb: ${t}`);this.subtractUnit(e)}else this.addUnit(e)}getDate(){return this.#t.day}getFullYear(){return this.#t.year}getDay(){const t=this.#t.weekday;return 7===t?0:t}getMonth(){return this.#t.month-1}getHours(){return this.#t.hour}getMinutes(){return this.#t.minute}getSeconds(){return this.#t.second}getMilliseconds(){return this.#t.millisecond}getTime(){return this.#t.valueOf()}getUTCDate(){return this.#i().day}getUTCFullYear(){return this.#i().year}getUTCDay(){const t=this.#i().weekday;return 7===t?0:t}getUTCMonth(){return this.#i().month-1}getUTCHours(){return this.#i().hour}getUTCMinutes(){return this.#i().minute}getUTCSeconds(){return this.#i().second}toISOString(){return this.#t.toUTC().toISO()}toJSON(){return this.#t.toJSON()}setDate(t){this.#t=this.#t.set({day:t})}setFullYear(t){this.#t=this.#t.set({year:t})}setDay(t){this.#t=this.#t.set({weekday:t})}setMonth(t){this.#t=this.#t.set({month:t+1})}setHours(t){this.#t=this.#t.set({hour:t})}setMinutes(t){this.#t=this.#t.set({minute:t})}setSeconds(t){this.#t=this.#t.set({second:t})}setMilliseconds(t){this.#t=this.#t.set({millisecond:t})}toString(){return this.toDate().toString()}toDate(){return this.#t.toJSDate()}isLastDayOfMonth(){const{day:t,month:n}=this.#t;if(2===n){const r=a.#s(this.#t.year);return t===e.DAYS_IN_MONTH[n-1]-(r?0:1)}return t===e.DAYS_IN_MONTH[n-1]}isLastWeekdayOfMonth(){const{day:t,month:n}=this.#t;let r;return r=2===n?e.DAYS_IN_MONTH[n-1]-(a.#s(this.#t.year)?0:1):e.DAYS_IN_MONTH[n-1],t>r-7}applyDateOperation(t,e,n){if(e===s.Month||e===s.Day)return void this.invokeDateOperation(t,e);const r=this.getHours();this.invokeDateOperation(t,e);const i=this.getHours(),a=i-r;2===a?24!==n&&(this.dstStart=i):0===a&&0===this.getMinutes()&&0===this.getSeconds()&&24!==n&&(this.dstEnd=i)}#i(){return this.#t.toUTC()}}e.CronDate=a,e.default=a},35678:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronExpression=e.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE=e.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE=void 0;const r=n(87259);e.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE="Out of the time span range",e.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE="Invalid expression, loop limit exceeded";class s{#a;#o;#u;#l;#c;#h;constructor(t,e){this.#a=e,this.#o=e.tz,this.#l=e.startDate?new r.CronDate(e.startDate,this.#o):null,this.#c=e.endDate?new r.CronDate(e.endDate,this.#o):null;let n=e.currentDate??e.startDate;if(n){const t=new r.CronDate(n,this.#o);this.#l&&t.getTime()<this.#l.getTime()?n=this.#l:this.#c&&t.getTime()>this.#c.getTime()&&(n=this.#c)}this.#u=new r.CronDate(n,this.#o),this.#h=t}get fields(){return this.#h}static fieldsToExpression(t,e){return new s(t,e||{})}static#d(t,e){return e.some((e=>e===t))}static#m(t,e){const n=e.isLastWeekdayOfMonth();return t.some((t=>{const r=parseInt(t.toString().charAt(0),10)%7;if(Number.isNaN(r))throw new Error(`Invalid last weekday of the month expression: ${t}`);return e.getDay()===r&&n}))}next(){return this.#f()}prev(){return this.#f(!0)}hasNext(){const t=this.#u;try{return this.#f(),!0}catch{return!1}finally{this.#u=t}}hasPrev(){const t=this.#u;try{return this.#f(!0),!0}catch{return!1}finally{this.#u=t}}take(t){const e=[];if(t>=0)for(let n=0;n<t;n++)try{e.push(this.next())}catch{return e}else for(let n=0;n>t;n--)try{e.push(this.prev())}catch{return e}return e}reset(t){this.#u=new r.CronDate(t||this.#a.currentDate)}stringify(t=!1){return this.#h.stringify(t)}includesDate(t){const{second:e,minute:n,hour:s,month:i}=this.#h,a=new r.CronDate(t,this.#o);if(!(e.values.includes(a.getSeconds())&&n.values.includes(a.getMinutes())&&s.values.includes(a.getHours())&&i.values.includes(a.getMonth()+1)))return!1;if(!this.#y(a))return!1;if(this.#h.dayOfWeek.nthDay>0){if(Math.ceil(a.getDate()/7)!==this.#h.dayOfWeek.nthDay)return!1}return!0}toString(){return this.#a.expression||this.stringify(!0)}#y(t){const e=this.#h.dayOfMonth.isWildcard,n=!e,r=this.#h.dayOfWeek.isWildcard,i=!r,a=s.#d(t.getDate(),this.#h.dayOfMonth.values)||this.#h.dayOfMonth.hasLastChar&&t.isLastDayOfMonth(),o=s.#d(t.getDay(),this.#h.dayOfWeek.values)||this.#h.dayOfWeek.hasLastChar&&s.#m(this.#h.dayOfWeek.values,t);return!(!n||!i||!a&&!o)||(!(!a||i)||!(!e||r||!o))}#g(t,e,n){const i=t.getHours(),a=s.#d(i,this.#h.hour.values),o=t.dstStart===i,u=t.dstEnd===i;return a||o?o&&!s.#d(i-1,this.#h.hour.values)?(t.invokeDateOperation(e,r.TimeUnit.Hour),!1):!(u&&!n)||(t.dstEnd=null,t.applyDateOperation(r.DateMathOp.Add,r.TimeUnit.Hour,this.#h.hour.values.length),!1):(t.dstStart=null,t.applyDateOperation(e,r.TimeUnit.Hour,this.#h.hour.values.length),!1)}#p(t){if(!this.#l&&!this.#c)return;const n=t.getTime();if(this.#l&&n<this.#l.getTime())throw new Error(e.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE);if(this.#c&&n>this.#c.getTime())throw new Error(e.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE)}#f(t=!1){const n=t?r.DateMathOp.Subtract:r.DateMathOp.Add,i=new r.CronDate(this.#u),a=i.getTime();let o=0;for(;++o<1e4;)if(this.#p(i),this.#y(i))if(this.#h.dayOfWeek.nthDay<=0||Math.ceil(i.getDate()/7)===this.#h.dayOfWeek.nthDay)if(s.#d(i.getMonth()+1,this.#h.month.values)){if(this.#g(i,n,t))if(s.#d(i.getMinutes(),this.#h.minute.values))if(s.#d(i.getSeconds(),this.#h.second.values)){if(a!==i.getTime())break;"Add"!==n&&0!==i.getMilliseconds()||i.applyDateOperation(n,r.TimeUnit.Second,this.#h.hour.values.length)}else i.applyDateOperation(n,r.TimeUnit.Second,this.#h.hour.values.length);else i.applyDateOperation(n,r.TimeUnit.Minute,this.#h.hour.values.length)}else i.applyDateOperation(n,r.TimeUnit.Month,this.#h.hour.values.length);else i.applyDateOperation(n,r.TimeUnit.Day,this.#h.hour.values.length);else i.applyDateOperation(n,r.TimeUnit.Day,this.#h.hour.values.length);if(o>1e4)throw new Error(e.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE);return 0!==i.getMilliseconds()&&i.setMilliseconds(0),this.#u=i,i}[Symbol.iterator](){return{next:()=>({value:this.#f(),done:!this.hasNext()})}}}e.CronExpression=s,e.default=s},50014:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronExpressionParser=e.DayOfWeek=e.Months=e.CronUnit=e.PredefinedExpressions=void 0;const r=n(46872),s=n(35678),i=n(56635),a=n(49442);var o,u,l,c;!function(t){t["@yearly"]="0 0 0 1 1 *",t["@annually"]="0 0 0 1 1 *",t["@monthly"]="0 0 0 1 * *",t["@weekly"]="0 0 0 * * 0",t["@daily"]="0 0 0 * * *",t["@hourly"]="0 0 * * * *",t["@minutely"]="0 * * * * *",t["@secondly"]="* * * * * *",t["@weekdays"]="0 0 0 * * 1-5",t["@weekends"]="0 0 0 * * 0,6"}(o||(e.PredefinedExpressions=o={})),function(t){t.Second="Second",t.Minute="Minute",t.Hour="Hour",t.DayOfMonth="DayOfMonth",t.Month="Month",t.DayOfWeek="DayOfWeek"}(u||(e.CronUnit=u={})),function(t){t[t.jan=1]="jan",t[t.feb=2]="feb",t[t.mar=3]="mar",t[t.apr=4]="apr",t[t.may=5]="may",t[t.jun=6]="jun",t[t.jul=7]="jul",t[t.aug=8]="aug",t[t.sep=9]="sep",t[t.oct=10]="oct",t[t.nov=11]="nov",t[t.dec=12]="dec"}(l||(e.Months=l={})),function(t){t[t.sun=0]="sun",t[t.mon=1]="mon",t[t.tue=2]="tue",t[t.wed=3]="wed",t[t.thu=4]="thu",t[t.fri=5]="fri",t[t.sat=6]="sat"}(c||(e.DayOfWeek=c={}));class h{static parse(t,e={}){const{strict:n=!1,hashSeed:l}=e,c=(0,i.seededRandom)(l);t=o[t]||t;const d=h.#w(t,n);if("*"!==d.dayOfMonth&&"*"!==d.dayOfWeek&&n)throw new Error("Cannot use both dayOfMonth and dayOfWeek together in strict mode!");const m=h.#v(u.Second,d.second,a.CronSecond.constraints,c),f=h.#v(u.Minute,d.minute,a.CronMinute.constraints,c),y=h.#v(u.Hour,d.hour,a.CronHour.constraints,c),g=h.#v(u.Month,d.month,a.CronMonth.constraints,c),p=h.#v(u.DayOfMonth,d.dayOfMonth,a.CronDayOfMonth.constraints,c),{dayOfWeek:w,nthDayOfWeek:v}=h.#O(d.dayOfWeek),O=h.#v(u.DayOfWeek,w,a.CronDayOfWeek.constraints,c),k=new r.CronFieldCollection({second:new a.CronSecond(m,{rawValue:d.second}),minute:new a.CronMinute(f,{rawValue:d.minute}),hour:new a.CronHour(y,{rawValue:d.hour}),dayOfMonth:new a.CronDayOfMonth(p,{rawValue:d.dayOfMonth}),month:new a.CronMonth(g,{rawValue:d.month}),dayOfWeek:new a.CronDayOfWeek(O,{rawValue:d.dayOfWeek,nthDayOfWeek:v})});return new s.CronExpression(k,{...e,expression:t})}static#w(t,e){if(e&&!t.length)throw new Error("Invalid cron expression");const n=(t=t||"0 * * * * *").trim().split(/\s+/);if(e&&n.length<6)throw new Error("Invalid cron expression, expected 6 fields");if(n.length>6)throw new Error("Invalid cron expression, too many fields");const r=["*","*","*","*","*","0"];n.length<r.length&&n.unshift(...r.slice(n.length));const[s,i,a,o,u,l]=n;return{second:s,minute:i,hour:a,dayOfMonth:o,month:u,dayOfWeek:l}}static#v(t,e,n,r){if(t!==u.Month&&t!==u.DayOfWeek||(e=e.replace(/[a-z]{3}/gi,(t=>{t=t.toLowerCase();const e=l[t]||c[t];if(void 0===e)throw new Error(`Validation error, cannot resolve alias "${t}"`);return e.toString()}))),!n.validChars.test(e))throw new Error(`Invalid characters, got value: ${e}`);return e=this.#k(e,n),e=this.#S(e,n,r),this.#M(t,e,n)}static#k(t,e){return t.replace(/[*?]/g,e.min+"-"+e.max)}static#S(t,e,n){const r=n();return t.replace(/H(?:\((\d+)-(\d+)\))?(?:\/(\d+))?/g,((t,n,s,i)=>{if(n&&s&&i){const t=parseInt(n,10),a=parseInt(s,10),o=parseInt(i,10);if(t>a)throw new Error(`Invalid range: ${t}-${a}, min > max`);if(o<=0)throw new Error(`Invalid step: ${o}, must be positive`);const u=Math.max(t,e.min),l=Math.floor(r*o),c=[];for(let t=Math.floor(u/o)*o+l;t<=a;t+=o)t>=u&&c.push(t);return c.join(",")}if(n&&s){const t=parseInt(n,10),e=parseInt(s,10);if(t>e)throw new Error(`Invalid range: ${t}-${e}, min > max`);return String(Math.floor(r*(e-t+1))+t)}if(i){const t=parseInt(i,10);if(t<=0)throw new Error(`Invalid step: ${t}, must be positive`);const n=Math.floor(r*t),s=[];for(let r=Math.floor(e.min/t)*t+n;r<=e.max;r+=t)r>=e.min&&s.push(r);return s.join(",")}return String(Math.floor(r*(e.max-e.min+1)+e.min))}))}static#M(t,e,n){const r=[];return e.split(",").forEach((e=>{if(!(e.length>0))throw new Error("Invalid list value format");!function(e,n){if(Array.isArray(e))r.push(...e);else if(h.#D(n,e))r.push(e);else{const s=parseInt(e.toString(),10);if(!(s>=n.min&&s<=n.max))throw new Error(`Constraint error, got value ${e} expected range ${n.min}-${n.max}`);r.push(t===u.DayOfWeek?s%7:e)}}(h.#b(t,e,n),n)})),r}static#b(t,e,n){const r=e.split("/");if(r.length>2)throw new Error(`Invalid repeat: ${e}`);return 2===r.length?(isNaN(parseInt(r[0],10))||(r[0]=`${r[0]}-${n.max}`),h.#T(t,r[0],parseInt(r[1],10),n)):h.#T(t,e,1,n)}static#C(t,e,n){if(!(!isNaN(t)&&!isNaN(e)&&t>=n.min&&e<=n.max))throw new Error(`Constraint error, got range ${t}-${e} expected range ${n.min}-${n.max}`);if(t>e)throw new Error(`Invalid range: ${t}-${e}, min(${t}) > max(${e})`)}static#N(t){if(isNaN(t)||!(t>0))throw new Error(`Constraint error, cannot repeat at every ${t} time.`)}static#E(t,e,n,r){const s=[];t===u.DayOfWeek&&n%7==0&&s.push(0);for(let t=e;t<=n;t+=r)-1===s.indexOf(t)&&s.push(t);return s}static#T(t,e,n,r){const s=e.split("-");if(s.length<=1)return isNaN(+e)?e:+e;const[i,a]=s.map((t=>parseInt(t,10)));return this.#C(i,a,r),this.#N(n),this.#E(t,i,a,n)}static#O(t){const e=t.split("#");if(e.length<=1)return{dayOfWeek:e[0]};const n=+e[e.length-1],r=t.match(/([,-/])/);if(null!==r)throw new Error(`Constraint error, invalid dayOfWeek \`#\` and \`${r?.[0]}\` special characters are incompatible`);if(!(e.length<=2&&!isNaN(n)&&n>=1&&n<=5))throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return{dayOfWeek:e[0],nthDayOfWeek:n}}static#D(t,e){return t.chars.some((t=>e.toString().includes(t)))}}e.CronExpressionParser=h},46872:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronFieldCollection=void 0;const r=n(49442);class s{#x;#I;#F;#V;#$;#W;static from(t,e){return new s({second:this.resolveField(r.CronSecond,t.second,e.second),minute:this.resolveField(r.CronMinute,t.minute,e.minute),hour:this.resolveField(r.CronHour,t.hour,e.hour),dayOfMonth:this.resolveField(r.CronDayOfMonth,t.dayOfMonth,e.dayOfMonth),month:this.resolveField(r.CronMonth,t.month,e.month),dayOfWeek:this.resolveField(r.CronDayOfWeek,t.dayOfWeek,e.dayOfWeek)})}static resolveField(t,e,n){return n?n instanceof r.CronField?n:new t(n):e}constructor({second:t,minute:e,hour:n,dayOfMonth:s,month:i,dayOfWeek:a}){if(!t)throw new Error("Validation error, Field second is missing");if(!e)throw new Error("Validation error, Field minute is missing");if(!n)throw new Error("Validation error, Field hour is missing");if(!s)throw new Error("Validation error, Field dayOfMonth is missing");if(!i)throw new Error("Validation error, Field month is missing");if(!a)throw new Error("Validation error, Field dayOfWeek is missing");if(!(1!==i.values.length||s.hasLastChar||parseInt(s.values[0],10)<=r.CronMonth.daysInMonth[i.values[0]-1]))throw new Error("Invalid explicit day of month definition");this.#x=t,this.#I=e,this.#F=n,this.#$=i,this.#W=a,this.#V=s}get second(){return this.#x}get minute(){return this.#I}get hour(){return this.#F}get dayOfMonth(){return this.#V}get month(){return this.#$}get dayOfWeek(){return this.#W}static compactField(t){if(0===t.length)return[];const e=[];let n;return t.forEach(((t,r,s)=>{if(void 0===n)return void(n={start:t,count:1});const i=s[r-1]||n.start,a=s[r+1];if("L"===t||"W"===t)return e.push(n),e.push({start:t,count:1}),void(n=void 0);if(void 0===n.step&&void 0!==a){const e=t-i;if(e<=a-t)return void(n={...n,count:2,end:t,step:e});n.step=1}t-(n.end??0)===n.step?(n.count++,n.end=t):(1===n.count?e.push({start:n.start,count:1}):2===n.count?(e.push({start:n.start,count:1}),e.push({start:n.end??i,count:1})):e.push(n),n={start:t,count:1})})),n&&e.push(n),e}static#_(t,e,n){const r=e.step;return r?1===r&&e.start===t.min&&e.end&&e.end>=n?t.hasQuestionMarkChar?"?":"*":1!==r&&e.start===t.min&&e.end&&e.end>=n-r+1?`*/${r}`:null:null}static#L(t,e){const n=t.step;if(1===n)return`${t.start}-${t.end}`;const r=0===t.start?t.count-1:t.count;if(!n)throw new Error("Unexpected range step");if(!t.end)throw new Error("Unexpected range end");if(n*r>t.end){const e=(e,r)=>{if("number"!=typeof t.start)throw new Error("Unexpected range start");return r%n==0?t.start+r:null};if("number"!=typeof t.start)throw new Error("Unexpected range start");const r={length:t.end-t.start+1};return Array.from(r,e).filter((t=>null!==t)).join(",")}return t.end===e-n+1?`${t.start}/${n}`:`${t.start}-${t.end}/${n}`}stringifyField(t){let e=t.max,n=t.values;if(t instanceof r.CronDayOfWeek){e=6;const t=this.#W.values;n=7===t[t.length-1]?t.slice(0,-1):t}t instanceof r.CronDayOfMonth&&(e=1===this.#$.values.length?r.CronMonth.daysInMonth[this.#$.values[0]-1]:t.max);const i=s.compactField(n);if(1===i.length){const n=s.#_(t,i[0],e);if(n)return n}return i.map((n=>{const i=1===n.count?n.start.toString():s.#L(n,e);return t instanceof r.CronDayOfWeek&&t.nthDay>0?`${i}#${t.nthDay}`:i})).join(",")}stringify(t=!1){const e=[];return t&&e.push(this.stringifyField(this.#x)),e.push(this.stringifyField(this.#I),this.stringifyField(this.#F),this.stringifyField(this.#V),this.stringifyField(this.#$),this.stringifyField(this.#W)),e.join(" ")}serialize(){return{second:this.#x.serialize(),minute:this.#I.serialize(),hour:this.#F.serialize(),dayOfMonth:this.#V.serialize(),month:this.#$.serialize(),dayOfWeek:this.#W.serialize()}}}e.CronFieldCollection=s},36581:function(t,e,n){var r,s=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(e,n);s&&!("get"in s?!e.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,s)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||(r=function(t){return r=Object.getOwnPropertyNames||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[e.length]=n);return e},r(t)},function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n=r(t),a=0;a<n.length;a++)"default"!==n[a]&&s(e,t,n[a]);return i(e,t),e});Object.defineProperty(e,"__esModule",{value:!0}),e.CronFileParser=void 0;const o=n(50014);class u{static async parseFile(t){const{readFile:e}=await Promise.resolve().then((()=>a(n(6057)))),r=await e(t,"utf8");return u.#j(r)}static parseFileSync(t){const{readFileSync:e}=n(16130),r=e(t,"utf8");return u.#j(r)}static#j(t){const e=t.split("\n"),n={variables:{},expressions:[],errors:{}};for(const t of e){const e=t.trim();if(0===e.length||e.startsWith("#"))continue;const r=e.match(/^(.*)=(.*)$/);if(r){const[,t,e]=r;n.variables[t]=e.replace(/["']/g,"")}else try{const t=u.#Z(e);n.expressions.push(t.interval)}catch(t){n.errors[e]=t}}return n}static#Z(t){const e=t.split(" ");return{interval:o.CronExpressionParser.parse(e.slice(0,5).join(" ")),command:e.slice(5,e.length)}}}e.CronFileParser=u},78693:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronDayOfMonth=void 0;const r=n(77896),s=Object.freeze(["L"]);class i extends r.CronField{static get min(){return 1}static get max(){return 31}static get chars(){return s}static get validChars(){return/^[?,*\dLH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}e.CronDayOfMonth=i},55574:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronDayOfWeek=void 0;const r=n(77896),s=Object.freeze(["L"]);class i extends r.CronField{static get min(){return 0}static get max(){return 7}static get chars(){return s}static get validChars(){return/^[?,*\dLH#/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}get nthDay(){return this.options.nthDayOfWeek??0}}e.CronDayOfWeek=i},77896:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.CronField=void 0;class n{#z=!1;#U=!1;#A=!1;#H=[];options={rawValue:""};static get min(){throw new Error("min must be overridden")}static get max(){throw new Error("max must be overridden")}static get chars(){return Object.freeze([])}static get validChars(){return/^[?,*\dH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}static get constraints(){return{min:this.min,max:this.max,chars:this.chars,validChars:this.validChars}}constructor(t,e={rawValue:""}){if(!Array.isArray(t))throw new Error(`${this.constructor.name} Validation error, values is not an array`);if(!(t.length>0))throw new Error(`${this.constructor.name} Validation error, values contains no values`);this.options={...e,rawValue:e.rawValue??""},this.#H=t.sort(n.sorter),this.#A=void 0!==this.options.wildcard?this.options.wildcard:this.#P(),this.#z=this.options.rawValue.includes("L")||t.includes("L"),this.#U=this.options.rawValue.includes("?")||t.includes("?")}get min(){return this.constructor.min}get max(){return this.constructor.max}get chars(){return this.constructor.chars}get hasLastChar(){return this.#z}get hasQuestionMarkChar(){return this.#U}get isWildcard(){return this.#A}get values(){return this.#H}static sorter(t,e){const n="number"==typeof t,r="number"==typeof e;return n&&r?t-e:n||r?n?-1:1:t.localeCompare(e)}serialize(){return{wildcard:this.#A,values:this.#H}}validate(){let t;const e=this.chars.length>0?` or chars ${this.chars.join("")}`:"";if(!this.#H.every((e=>(t=e,"number"==typeof e?e>=this.min&&e<=this.max:this.chars.some((t=>e=>new RegExp(`^\\d{0,2}${e}$`).test(t))(e))))))throw new Error(`${this.constructor.name} Validation error, got value ${t} expected range ${this.min}-${this.max}${e}`);const n=this.#H.find(((t,e)=>this.#H.indexOf(t)!==e));if(n)throw new Error(`${this.constructor.name} Validation error, duplicate values found: ${n}`)}#P(){return this.options.rawValue.length>0?["*","?"].includes(this.options.rawValue):Array.from({length:this.max-this.min+1},((t,e)=>e+this.min)).every((t=>this.#H.includes(t)))}}e.CronField=n},55394:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronHour=void 0;const r=n(77896),s=Object.freeze([]);class i extends r.CronField{static get min(){return 0}static get max(){return 23}static get chars(){return s}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}e.CronHour=i},24958:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronMinute=void 0;const r=n(77896),s=Object.freeze([]);class i extends r.CronField{static get min(){return 0}static get max(){return 59}static get chars(){return s}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}e.CronMinute=i},23647:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronMonth=void 0;const r=n(87259),s=n(77896),i=Object.freeze([]);class a extends s.CronField{static get min(){return 1}static get max(){return 12}static get chars(){return i}static get daysInMonth(){return r.DAYS_IN_MONTH}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}e.CronMonth=a},35769:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.CronSecond=void 0;const r=n(77896),s=Object.freeze([]);class i extends r.CronField{static get min(){return 0}static get max(){return 59}static get chars(){return s}constructor(t,e){super(t,e),this.validate()}get values(){return super.values}}e.CronSecond=i},49442:function(t,e,n){var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(e,n);s&&!("get"in s?!e.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,s)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),s=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),s(n(53526),e),s(n(78693),e),s(n(55574),e),s(n(77896),e),s(n(55394),e),s(n(24958),e),s(n(23647),e),s(n(35769),e)},53526:function(t,e){Object.defineProperty(e,"__esModule",{value:!0})},91379:function(t,e,n){var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var s=Object.getOwnPropertyDescriptor(e,n);s&&!("get"in s?!e.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,s)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),s=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.CronFileParser=e.CronExpressionParser=e.CronExpression=e.CronFieldCollection=e.CronDate=void 0;const i=n(50014);var a=n(87259);Object.defineProperty(e,"CronDate",{enumerable:!0,get:function(){return a.CronDate}});var o=n(46872);Object.defineProperty(e,"CronFieldCollection",{enumerable:!0,get:function(){return o.CronFieldCollection}});var u=n(35678);Object.defineProperty(e,"CronExpression",{enumerable:!0,get:function(){return u.CronExpression}});var l=n(50014);Object.defineProperty(e,"CronExpressionParser",{enumerable:!0,get:function(){return l.CronExpressionParser}});var c=n(36581);Object.defineProperty(e,"CronFileParser",{enumerable:!0,get:function(){return c.CronFileParser}}),s(n(49442),e),e.default=i.CronExpressionParser},56635:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.seededRandom=function(t){return function(t){return()=>{let e=t+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296}}(t?function(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619);return()=>e>>>0}(t)():Math.floor(1e10*Math.random()))}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[2208,5812],{44224:function(e,t,r){var a=(0,r(19919).Z)({scriptUrl:["//at.alicdn.com/t/c/font_3354854_lc939gab1iq.js"]});t.Z=a},44860:function(e,t,r){r.r(t),r.d(t,{CrontabStatus:function(){return a},OperationName:function(){return l},OperationPath:function(){return n},ScheduleType:function(){return i}});var a=function(e){return e[e.running=0]="running",e[e.queued=.5]="queued",e[e.idle=1]="idle",e[e.disabled=2]="disabled",e}({}),l=function(e){return e[e["启用"]=0]="启用",e[e["禁用"]=1]="禁用",e[e["运行"]=2]="运行",e[e["停止"]=3]="停止",e[e["置顶"]=4]="置顶",e[e["取消置顶"]=5]="取消置顶",e}({}),n=function(e){return e[e.enable=0]="enable",e[e.disable=1]="disable",e[e.run=2]="run",e[e.stop=3]="stop",e[e.pin=4]="pin",e[e.unpin=5]="unpin",e}({}),i=function(e){return e.Normal="normal",e.Once="once",e.Boot="boot",e}({})},42208:function(e,t,r){r.r(t);var a=r(67825),l=r.n(a),n=r(90228),i=r.n(n),o=r(26068),s=r.n(o),u=r(87999),p=r.n(u),c=r(48305),g=r.n(c),d=r(72317),h=r(75271),P=r(72338),m=r(35181),Z=r(45520),b=r(17082),v=r(93481),f=r(63505),y=r(16314),x=r(3475),k=r(37559),w=r(21288),q=r(44224),j=r(44860),B=r(31352),C=r(52676),_=["name"],S=["key","name"],T=["key","name"],R=[{name:d.ZP.get("命令"),value:"command"},{name:d.ZP.get("名称"),value:"name"},{name:d.ZP.get("定时规则"),value:"schedule"},{name:d.ZP.get("状态"),value:"status",onlySelect:!0},{name:d.ZP.get("标签"),value:"labels"},{name:d.ZP.get("订阅"),value:"sub_id",onlySelect:!0}],I={Reg:"",NotReg:"",In:"select",Nin:"select"},U=[{name:d.ZP.get("包含"),value:"Reg"},{name:d.ZP.get("不包含"),value:"NotReg"},{name:d.ZP.get("属于"),value:"In",type:"select"},{name:d.ZP.get("不属于"),value:"Nin",type:"select"}],K=[{name:d.ZP.get("顺序"),value:"ASC"},{name:d.ZP.get("倒序"),value:"DESC"}],A=function(e){return e.and="且",e.or="或",e}(A||{});t.default=function(e){var t=e.view,r=e.handleCancel,a=P.Z.useForm(),n=g()(a,1)[0],o=(0,h.useState)(!1),u=g()(o,2),c=u[0],N=u[1],Q=(0,h.useState)("and"),H=g()(Q,2),X=H[0],M=H[1],O=P.Z.useWatch("filters",n),E=(0,B.Z)((function(){return y.W.get("".concat(x.Z.apiPrefix,"subscriptions"))}),{cacheKey:"subscriptions"}).data,W={status:[{name:d.ZP.get("运行中"),value:j.CrontabStatus.running},{name:d.ZP.get("空闲中"),value:j.CrontabStatus.idle},{name:d.ZP.get("已禁用"),value:j.CrontabStatus.disabled}],sub_id:null==E?void 0:E.data.map((function(e){return{name:e.name,value:e.id}}))},G=function(){var e=p()(i()().mark((function e(a){var l,n,o,u;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N(!0),a.filterRelation=X,l=t?"put":"post",e.prev=3,e.next=6,y.W[l]("".concat(x.Z.apiPrefix,"crons/views"),t?s()(s()({},a),{},{id:t.id}):a);case 6:n=e.sent,o=n.code,u=n.data,200===o&&r(u),N(!1),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(3),N(!1);case 16:case"end":return e.stop()}}),e,null,[[3,13]])})));return function(t){return e.apply(this,arguments)}}(),D=function(e){var t=e.name,r=l()(e,_),a=n.getFieldValue(["filters",t,"property"]);return(0,C.jsx)(m.Z,s()(s()({style:{width:120},placeholder:d.ZP.get("请选择操作符")},r),{},{children:U.filter((function(e){return W[a]?"select"===e.type:e})).map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))}))},L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,C.jsx)(m.Z,{style:t,children:e.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))})},F=(0,C.jsx)(m.Z,{style:{width:80},children:K.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))});return(0,C.jsx)(Z.Z,{title:t?d.ZP.get("编辑视图"):d.ZP.get("创建视图"),open:!0,forceRender:!0,width:580,centered:!0,maskClosable:!1,onOk:function(){n.validateFields().then((function(e){G(e)})).catch((function(e){console.log("Validate Failed:",e)}))},onCancel:function(){return r()},confirmLoading:c,children:(0,C.jsxs)(P.Z,{form:n,layout:"vertical",initialValues:t||{filters:[{property:"command"}]},name:"env_modal",children:[(0,C.jsx)(P.Z.Item,{name:"name",label:d.ZP.get("视图名称"),rules:[{required:!0,message:d.ZP.get("请输入视图名称")}],children:(0,C.jsx)(b.Z,{placeholder:d.ZP.get("请输入视图名称")})}),(0,C.jsx)(P.Z.List,{name:"filters",children:function(e,t,r){var a=t.add,n=t.remove,i=r.errors;return(0,C.jsxs)("div",{style:{position:"relative"},className:"view-filters-container ".concat(e.length>1?"active":""),children:[e.length>1&&(0,C.jsx)("div",{style:{position:"absolute",width:50,borderRadius:10,border:"1px solid rgb(190, 220, 255)",borderRight:"none",height:56*(e.length-1),top:46,left:15},children:(0,C.jsx)(v.Z,{type:"primary",size:"small",style:{position:"absolute",top:"50%",translate:"-50% -50%",padding:"0 3px",cursor:"pointer"},onClick:function(){M("and"===X?"or":"and")},children:(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{children:A[X]}),(0,C.jsx)(q.Z,{type:"ql-icon-d-caret"})]})})}),(0,C.jsxs)("div",{children:[e.map((function(e){var t,r,a=e.key,i=e.name,o=l()(e,S);return(0,C.jsx)(P.Z.Item,{label:0===i?d.ZP.get("筛选条件"):"",style:{marginBottom:0},required:!0,className:"filter-item",children:(0,C.jsxs)(f.Z,{className:"view-create-modal-filters",align:"baseline",children:[(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"property"],rules:[{required:!0}],children:L(R,{width:120})})),(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"operation"],rules:[{required:!0,message:d.ZP.get("请选择操作符")}],children:(0,C.jsx)(D,{name:i})})),(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"value"],rules:[{required:!0,message:d.ZP.get("请输入内容")}],children:"select"===I[null==O?void 0:O[i].operation]?(t=null==O?void 0:O[i].property,(0,C.jsx)(m.Z,{mode:"tags",allowClear:!0,placeholder:d.ZP.get("输入后回车增加自定义选项"),children:null===(r=W[t])||void 0===r?void 0:r.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))})):(0,C.jsx)(b.Z,{placeholder:d.ZP.get("请输入内容")})})),0!==i&&(0,C.jsx)(k.Z,{onClick:function(){return n(i)}})]})},a)})),(0,C.jsx)(P.Z.Item,{children:(0,C.jsxs)("a",{onClick:function(){return a({property:"command",operation:"Reg"})},children:[(0,C.jsx)(w.Z,{}),d.ZP.get("新增筛选条件")]})}),(0,C.jsx)(P.Z.ErrorList,{errors:i})]})]})}}),(0,C.jsx)(P.Z.List,{name:"sorts",children:function(e,t,r){var a=t.add,n=t.remove,i=r.errors;return(0,C.jsxs)("div",{style:{position:"relative"},className:"view-filters-container ".concat(e.length>1?"active":""),children:[e.length>1&&(0,C.jsx)("div",{style:{position:"absolute",width:50,borderRadius:10,border:"1px solid rgb(190, 220, 255)",borderRight:"none",height:56*(e.length-1),top:46,left:15},children:(0,C.jsx)(v.Z,{type:"primary",size:"small",style:{position:"absolute",top:"50%",translate:"-50% -50%",padding:"0 3px",cursor:"pointer"},children:(0,C.jsx)(C.Fragment,{children:(0,C.jsx)("span",{children:A[X]})})})}),(0,C.jsxs)("div",{children:[e.map((function(e){var t=e.key,r=e.name,a=l()(e,T);return(0,C.jsx)(P.Z.Item,{label:0===r?d.ZP.get("排序方式"):"",style:{marginBottom:0},className:"filter-item",children:(0,C.jsxs)(f.Z,{className:"view-create-modal-sorts",align:"baseline",children:[(0,C.jsx)(P.Z.Item,s()(s()({},a),{},{name:[r,"property"],rules:[{required:!0}],children:L(R)})),(0,C.jsx)(P.Z.Item,s()(s()({},a),{},{name:[r,"type"],rules:[{required:!0}],children:F})),(0,C.jsx)(k.Z,{onClick:function(){return n(r)}})]})},t)})),(0,C.jsx)(P.Z.Item,{children:(0,C.jsxs)("a",{onClick:function(){return a({property:"command",type:"ASC"})},children:[(0,C.jsx)(w.Z,{}),d.ZP.get("新增排序方式")]})}),(0,C.jsx)(P.Z.ErrorList,{errors:i})]})]})}})]})})}},3475:function(e,t,r){var a=r(72317),l=window.__ENV__QlBaseUrl||"/";t.Z={siteName:a.ZP.get("青龙"),baseUrl:l,apiPrefix:"".concat(l,"api/"),authKey:"token",layouts:[{name:"primary",include:[/.*/],exclude:[/(\/(en|zh))*\/login/]}],i18n:{languages:[{key:"pt-br",title:"Português",flag:"/portugal.svg"},{key:"en",title:"English",flag:"/america.svg"},{key:"zh",title:a.ZP.get("中文"),flag:"/china.svg"}],defaultLanguage:"en"},scopes:[{name:a.ZP.get("定时任务"),value:"crons"},{name:a.ZP.get("环境变量"),value:"envs"},{name:a.ZP.get("订阅管理"),value:"subscriptions"},{name:a.ZP.get("配置文件"),value:"configs"},{name:a.ZP.get("脚本管理"),value:"scripts"},{name:a.ZP.get("日志管理"),value:"logs"},{name:a.ZP.get("依赖管理"),value:"dependencies"},{name:a.ZP.get("系统信息"),value:"system"}],scopesMap:{crons:a.ZP.get("定时任务"),envs:a.ZP.get("环境变量"),subscriptions:a.ZP.get("订阅管理"),configs:a.ZP.get("配置文件"),scripts:a.ZP.get("脚本管理"),logs:a.ZP.get("日志管理"),dependencies:a.ZP.get("依赖管理"),system:a.ZP.get("系统信息")},notificationModes:[{value:"gotify",label:"Gotify"},{value:"ntfy",label:"Ntfy"},{value:"goCqHttpBot",label:"GoCqHttpBot"},{value:"serverChan",label:a.ZP.get("Server酱")},{value:"pushDeer",label:"PushDeer"},{value:"bark",label:"Bark"},{value:"telegramBot",label:a.ZP.get("Telegram机器人")},{value:"dingtalkBot",label:a.ZP.get("钉钉机器人")},{value:"weWorkBot",label:a.ZP.get("企业微信机器人")},{value:"weWorkApp",label:a.ZP.get("企业微信应用")},{value:"aibotk",label:a.ZP.get("智能微秘书")},{value:"iGot",label:"IGot"},{value:"pushPlus",label:"PushPlus"},{value:"wePlusBot",label:a.ZP.get("微加机器人")},{value:"wxPusherBot",label:"wxPusher"},{value:"chat",label:a.ZP.get("群晖chat")},{value:"email",label:a.ZP.get("邮箱")},{value:"lark",label:a.ZP.get("飞书机器人")},{value:"pushMe",label:"PushMe"},{value:"chronocat",label:"Chronocat"},{value:"webhook",label:a.ZP.get("自定义通知")},{value:"closed",label:a.ZP.get("已关闭")}],notificationModeMap:{gotify:[{label:"gotifyUrl",tip:a.ZP.get("gotify的url地址,例如 https://push.example.de:8080"),required:!0},{label:"gotifyToken",tip:a.ZP.get("gotify的消息应用token码"),required:!0},{label:"gotifyPriority",tip:a.ZP.get("推送消息的优先级")}],ntfy:[{label:"ntfyUrl",tip:a.ZP.get("ntfy的url地址,例如 https://ntfy.sh"),required:!0},{label:"ntfyTopic",tip:a.ZP.get("ntfy应用topic"),required:!0},{label:"ntfyPriority",tip:a.ZP.get("推送消息的优先级")},{label:"ntfyToken",tip:a.ZP.get("ntfy应用token")},{label:"ntfyUsername",tip:a.ZP.get("ntfy应用用户名")},{label:"ntfyPassword",tip:a.ZP.get("ntfy应用密码")},{label:"ntfyActions",tip:a.ZP.get("ntfy用户动作")}],chat:[{label:"synologyChatUrl",tip:a.ZP.get("synologyChat的url地址"),required:!0}],goCqHttpBot:[{label:"goCqHttpBotUrl",tip:a.ZP.get("推送到个人QQ: http://127.0.0.1/send_private_msg,群:http://127.0.0.1/send_group_msg"),required:!0},{label:"goCqHttpBotToken",tip:a.ZP.get("访问密钥"),required:!0},{label:"goCqHttpBotQq",tip:a.ZP.get("如果GOBOT_URL设置 /send_private_msg 则需要填入 user_id=个人QQ 相反如果是 /send_group_msg 则需要填入 group_id=QQ群"),required:!0}],serverChan:[{label:"serverChanKey",tip:a.ZP.get("Server酱SENDKEY"),required:!0}],pushDeer:[{label:"pushDeerKey",tip:a.ZP.get("PushDeer的Key,https://github.com/easychen/pushdeer"),required:!0},{label:"pushDeerUrl",tip:a.ZP.get("PushDeer的自架API endpoint,默认是 https://api2.pushdeer.com/message/push")}],bark:[{label:"barkPush",tip:a.ZP.get("Bark的信息IP/设备码,例如:https://api.day.app/XXXXXXXX"),required:!0},{label:"barkIcon",tip:a.ZP.get("BARK推送图标,自定义推送图标 (需iOS15或以上才能显示)")},{label:"barkSound",tip:a.ZP.get("BARK推送铃声,铃声列表去APP查看复制填写")},{label:"barkGroup",tip:a.ZP.get("BARK推送消息的分组,默认为qinglong")},{label:"barkLevel",tip:a.ZP.get("BARK推送消息的时效性,默认为active")},{label:"barkUrl",tip:a.ZP.get("BARK推送消息的跳转URL")},{label:"barkArchive",tip:a.ZP.get("BARK是否保存推送消息")}],telegramBot:[{label:"telegramBotToken",tip:a.ZP.get("telegram机器人的token,例如:1077xxx4424:AAFjv0FcqxxxxxxgEMGfi22B4yh15R5uw"),required:!0},{label:"telegramBotUserId",tip:a.ZP.get("telegram用户的id,例如:129xxx206"),required:!0},{label:"telegramBotProxyHost",tip:a.ZP.get("代理IP")},{label:"telegramBotProxyPort",tip:a.ZP.get("代理端口")},{label:"telegramBotProxyAuth",tip:a.ZP.get("telegram代理配置认证参数,用户名与密码用英文冒号连接 user:password")},{label:"telegramBotApiHost",tip:a.ZP.get("telegram api自建的反向代理地址,默认tg官方api")}],dingtalkBot:[{label:"dingtalkBotToken",tip:a.ZP.get("钉钉机器人webhook token,例如:5a544165465465645d0f31dca676e7bd07415asdasd"),required:!0},{label:"dingtalkBotSecret",tip:a.ZP.get("密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串")}],weWorkBot:[{label:"weWorkBotKey",tip:a.ZP.get("企业微信机器人的webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa"),required:!0},{label:"weWorkOrigin",tip:a.ZP.get("企业微信代理地址")}],weWorkApp:[{label:"weWorkAppKey",tip:a.ZP.get("corpid、corpsecret、touser(注:多个成员ID使用|隔开)、agentid、消息类型(选填,不填默认文本消息类型) 注意用,号隔开(英文输入法的逗号),例如:wwcfrs,B-76WERQ,qinglong,1000001,2COat"),required:!0},{label:"weWorkOrigin",tip:a.ZP.get("企业微信代理地址")}],aibotk:[{label:"aibotkKey",tip:a.ZP.get("密钥key,智能微秘书个人中心获取apikey,申请地址:https://wechat.aibotk.com/signup?from=ql"),required:!0},{label:"aibotkType",tip:a.ZP.get("发送的目标,群组或者好友"),required:!0,placeholder:a.ZP.get("请输入要发送的目标"),items:[{value:"room",label:a.ZP.get("群聊")},{value:"contact",label:a.ZP.get("好友")}]},{label:"aibotkName",tip:a.ZP.get("要发送的用户昵称或群名,如果目标是群,需要填群名,如果目标是好友,需要填好友昵称"),required:!0}],iGot:[{label:"iGotPushKey",tip:a.ZP.get("iGot的信息推送key,例如:https://push.hellyw.com/XXXXXXXX"),required:!0}],pushPlus:[{label:"pushPlusToken",tip:a.ZP.get("微信扫码登录后一对一推送或一对多推送下面的token(您的Token),不提供PUSH_PLUS_USER则默认为一对一推送,参考 https://www.pushplus.plus/"),required:!0},{label:"pushPlusUser",tip:a.ZP.get("一对多推送的“群组编码”(一对多推送下面->您的群组(如无则创建)->群组编码,如果您是创建群组人。也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送)")},{label:"pushplusTemplate",tip:a.ZP.get("发送模板")},{label:"pushplusChannel",tip:a.ZP.get("发送渠道")},{label:"pushplusWebhook",tip:a.ZP.get("webhook编码")},{label:"pushplusCallbackUrl",tip:a.ZP.get("发送结果回调地址")},{label:"pushplusTo",tip:a.ZP.get("好友令牌")}],wePlusBot:[{label:"wePlusBotToken",tip:a.ZP.get("用户令牌,扫描登录后 我的—>设置->令牌 中获取,参考 https://www.weplusbot.com/"),required:!0},{label:"wePlusBotReceiver",tip:a.ZP.get("消息接收人")},{label:"wePlusBotVersion",tip:a.ZP.get("调用版本;专业版填写pro,个人版填写personal,为空默认使用专业版")}],wxPusherBot:[{label:"wxPusherBotAppToken",tip:a.ZP.get("wxPusherBot的appToken"),required:!0},{label:"wxPusherBotTopicIds",tip:a.ZP.get("wxPusherBot的topicIds"),required:!1},{label:"wxPusherBotUids",tip:a.ZP.get("wxPusherBot的uids"),required:!1}],lark:[{label:"larkKey",tip:a.ZP.get("飞书群组机器人:https://www.feishu.cn/hc/zh-CN/articles/360024984973"),required:!0}],email:[{label:"emailService",tip:a.ZP.get("邮箱服务名称,比如126、163、Gmail、QQ等,支持列表https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json"),required:!0},{label:"emailUser",tip:a.ZP.get("邮箱认证地址"),required:!0},{label:"emailPass",tip:a.ZP.get("SMTP 登录密码,也可能为特殊口令,视具体邮件服务商说明而定"),required:!0},{label:"emailTo",tip:a.ZP.get("收件邮箱地址,多个分号分隔,默认发送给发件邮箱地址")}],pushMe:[{label:"pushMeKey",tip:a.ZP.get("PushMe的Key,https://push.i-i.me/"),required:!0},{label:"pushMeUrl",tip:a.ZP.get("自建的PushMeServer消息接口地址,例如:http://127.0.0.1:3010,不填则使用官方消息接口"),required:!1}],chronocat:[{label:"chronocatURL",tip:a.ZP.get("Chronocat Red 服务的连接地址 https://chronocat.vercel.app/install/docker/official/"),required:!0},{label:"chronocatQQ",tip:a.ZP.get("个人:user_id=个人QQ 群则填入group_id=QQ群 多个用英文;隔开同时支持个人和群 如:user_id=xxx;group_id=xxxx;group_id=xxxxx"),required:!0},{label:"chronocatToken",tip:a.ZP.get("docker安装在持久化config目录下的chronocat.yml文件可找到"),required:!0}],webhook:[{label:"webhookMethod",tip:a.ZP.get("请求方法"),required:!0,items:[{value:"GET"},{value:"POST"},{value:"PUT"}]},{label:"webhookContentType",tip:a.ZP.get("请求头Content-Type"),required:!0,items:[{value:"text/plain"},{value:"application/json"},{value:"multipart/form-data"},{value:"application/x-www-form-urlencoded"}]},{label:"webhookUrl",tip:a.ZP.get("请求链接以http或者https开头。url或者body中必须包含$title,$content可选,对应api内容的位置"),required:!0,placeholder:"https://xxx.cn/api?content=$title\n"},{label:"webhookHeaders",tip:a.ZP.get("请求头格式Custom-Header1: Header1,多个换行分割"),placeholder:"Custom-Header1: Header1\nCustom-Header2: Header2"},{label:"webhookBody",tip:a.ZP.get("请求体格式key1: value1,多个换行分割。url或者body中必须包含$title,$content可选,对应api内容的位置"),placeholder:"key1: $title\nkey2: $content"}]},documentTitleMap:{"/login":a.ZP.get("登录"),"/initialization":a.ZP.get("初始化"),"/crontab":a.ZP.get("定时任务"),"/env":a.ZP.get("环境变量"),"/subscription":a.ZP.get("订阅管理"),"/config":a.ZP.get("配置文件"),"/script":a.ZP.get("脚本管理"),"/diff":a.ZP.get("对比工具"),"/log":a.ZP.get("日志管理"),"/setting":a.ZP.get("系统设置"),"/error":a.ZP.get("错误日志"),"/dependence":a.ZP.get("依赖管理")},dependenceTypes:["nodejs","python3","linux"]}},16314:function(e,t,r){r.d(t,{W:function(){return Z}});var a=r(90228),l=r.n(a),n=r(87999),i=r.n(n),o=r(72317),s=r(61508),u=r(33839),p=r(3475),c=r(98783),g=r(69313),d=r(52676);s.ZP.config({duration:2});var h=Date.now(),P=g.Z.create({timeout:6e4,params:{t:h}}),m=["/api/user/login","/open/auth/token","/api/user/two-factor/login","/api/system","/api/user/init","/api/user/notification/init"];P.interceptors.request.use((function(e){var t=localStorage.getItem(p.Z.authKey);return t&&!m.includes(e.url)?(e.headers.Authorization="Bearer ".concat(t),e):e})),P.interceptors.response.use(function(){var e=i()(l()().mark((function e(t){var r,a,n;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.status,![502,504].includes(r)){e.next=5;break}c.history.push("/error"),e.next=18;break;case 5:if(401!==r){e.next=9;break}"/login"!==c.history.location.pathname&&(localStorage.removeItem(p.Z.authKey),c.history.push("/login")),e.next=18;break;case 9:return e.prev=9,200!==(a=t.data).code&&(n=a.message||a.data)&&u.Z.error({message:n,description:null!=a&&a.errors?(0,d.jsx)(d.Fragment,{children:null==a?void 0:a.errors.map((function(e){return(0,d.jsx)("div",{children:e.message})}))}):void 0}),e.abrupt("return",a);case 15:e.prev=15,e.t0=e.catch(9);case 17:case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}}),e,null,[[9,15]])})));return function(t){return e.apply(this,arguments)}}(),(function(e){if(e.response){var t=e.response.data?e.response.data.message||e.message:e.response.statusText,r=e.response.status;if([502,504].includes(r))c.history.push("/error");else if(401===r)"/login"!==c.history.location.pathname&&(s.ZP.error(o.ZP.get("登录已过期,请重新登录")),localStorage.removeItem(p.Z.authKey),c.history.push("/login"));else{var a,l,n,i;if("function"==typeof(null===(a=e.config)||void 0===a?void 0:a.onError))return null===(i=e.config)||void 0===i?void 0:i.onError(e.response);t&&u.Z.error({message:t,description:null!==(l=e.response)&&void 0!==l&&null!==(l=l.data)&&void 0!==l&&l.errors?(0,d.jsx)(d.Fragment,{children:null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.errors)||void 0===n?void 0:n.map((function(e){return(0,d.jsxs)("div",{children:[e.message," (",e.value,")"]})}))}):void 0})}}else console.log(e.message);return Promise.reject(e)}));var Z=P}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[2208,5812],{44224:function(e,t,r){var a=(0,r(19919).Z)({scriptUrl:["//at.alicdn.com/t/c/font_3354854_lc939gab1iq.js"]});t.Z=a},44860:function(e,t,r){r.r(t),r.d(t,{CrontabStatus:function(){return a},OperationName:function(){return l},OperationPath:function(){return n},ScheduleType:function(){return i}});var a=function(e){return e[e.running=0]="running",e[e.queued=.5]="queued",e[e.idle=1]="idle",e[e.disabled=2]="disabled",e}({}),l=function(e){return e[e["启用"]=0]="启用",e[e["禁用"]=1]="禁用",e[e["运行"]=2]="运行",e[e["停止"]=3]="停止",e[e["置顶"]=4]="置顶",e[e["取消置顶"]=5]="取消置顶",e}({}),n=function(e){return e[e.enable=0]="enable",e[e.disable=1]="disable",e[e.run=2]="run",e[e.stop=3]="stop",e[e.pin=4]="pin",e[e.unpin=5]="unpin",e}({}),i=function(e){return e.Normal="normal",e.Once="once",e.Boot="boot",e}({})},42208:function(e,t,r){r.r(t);var a=r(67825),l=r.n(a),n=r(90228),i=r.n(n),o=r(26068),s=r.n(o),u=r(87999),p=r.n(u),c=r(48305),g=r.n(c),d=r(72317),h=r(75271),P=r(72338),m=r(35181),Z=r(45520),b=r(17082),v=r(93481),f=r(63505),y=r(16314),x=r(3475),k=r(37559),w=r(21288),q=r(44224),j=r(44860),B=r(31352),C=r(52676),_=["name"],S=["key","name"],T=["key","name"],R=[{name:d.ZP.get("命令"),value:"command"},{name:d.ZP.get("名称"),value:"name"},{name:d.ZP.get("定时规则"),value:"schedule"},{name:d.ZP.get("状态"),value:"status",onlySelect:!0},{name:d.ZP.get("标签"),value:"labels"},{name:d.ZP.get("订阅"),value:"sub_id",onlySelect:!0}],I={Reg:"",NotReg:"",In:"select",Nin:"select"},U=[{name:d.ZP.get("包含"),value:"Reg"},{name:d.ZP.get("不包含"),value:"NotReg"},{name:d.ZP.get("属于"),value:"In",type:"select"},{name:d.ZP.get("不属于"),value:"Nin",type:"select"}],K=[{name:d.ZP.get("顺序"),value:"ASC"},{name:d.ZP.get("倒序"),value:"DESC"}],A=function(e){return e.and="且",e.or="或",e}(A||{});t.default=function(e){var t=e.view,r=e.handleCancel,a=P.Z.useForm(),n=g()(a,1)[0],o=(0,h.useState)(!1),u=g()(o,2),c=u[0],N=u[1],Q=(0,h.useState)("and"),H=g()(Q,2),X=H[0],M=H[1],O=P.Z.useWatch("filters",n),E=(0,B.Z)((function(){return y.W.get("".concat(x.Z.apiPrefix,"subscriptions"))}),{cacheKey:"subscriptions"}).data,W={status:[{name:d.ZP.get("运行中"),value:j.CrontabStatus.running},{name:d.ZP.get("空闲中"),value:j.CrontabStatus.idle},{name:d.ZP.get("已禁用"),value:j.CrontabStatus.disabled}],sub_id:null==E?void 0:E.data.map((function(e){return{name:e.name,value:e.id}}))},G=function(){var e=p()(i()().mark((function e(a){var l,n,o,u;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N(!0),a.filterRelation=X,l=t?"put":"post",e.prev=3,e.next=6,y.W[l]("".concat(x.Z.apiPrefix,"crons/views"),t?s()(s()({},a),{},{id:t.id}):a);case 6:n=e.sent,o=n.code,u=n.data,200===o&&r(u),N(!1),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(3),N(!1);case 16:case"end":return e.stop()}}),e,null,[[3,13]])})));return function(t){return e.apply(this,arguments)}}(),D=function(e){var t=e.name,r=l()(e,_),a=n.getFieldValue(["filters",t,"property"]);return(0,C.jsx)(m.Z,s()(s()({style:{width:120},placeholder:d.ZP.get("请选择操作符")},r),{},{children:U.filter((function(e){return W[a]?"select"===e.type:e})).map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))}))},L=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,C.jsx)(m.Z,{style:t,children:e.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))})},F=(0,C.jsx)(m.Z,{style:{width:80},children:K.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))});return(0,C.jsx)(Z.Z,{title:t?d.ZP.get("编辑视图"):d.ZP.get("创建视图"),open:!0,forceRender:!0,width:580,centered:!0,maskClosable:!1,onOk:function(){n.validateFields().then((function(e){G(e)})).catch((function(e){console.log("Validate Failed:",e)}))},onCancel:function(){return r()},confirmLoading:c,children:(0,C.jsxs)(P.Z,{form:n,layout:"vertical",initialValues:t||{filters:[{property:"command"}]},name:"env_modal",children:[(0,C.jsx)(P.Z.Item,{name:"name",label:d.ZP.get("视图名称"),rules:[{required:!0,message:d.ZP.get("请输入视图名称")}],children:(0,C.jsx)(b.Z,{placeholder:d.ZP.get("请输入视图名称")})}),(0,C.jsx)(P.Z.List,{name:"filters",children:function(e,t,r){var a=t.add,n=t.remove,i=r.errors;return(0,C.jsxs)("div",{style:{position:"relative"},className:"view-filters-container ".concat(e.length>1?"active":""),children:[e.length>1&&(0,C.jsx)("div",{style:{position:"absolute",width:50,borderRadius:10,border:"1px solid rgb(190, 220, 255)",borderRight:"none",height:56*(e.length-1),top:46,left:15},children:(0,C.jsx)(v.Z,{type:"primary",size:"small",style:{position:"absolute",top:"50%",translate:"-50% -50%",padding:"0 3px",cursor:"pointer"},onClick:function(){M("and"===X?"or":"and")},children:(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{children:A[X]}),(0,C.jsx)(q.Z,{type:"ql-icon-d-caret"})]})})}),(0,C.jsxs)("div",{children:[e.map((function(e){var t,r,a=e.key,i=e.name,o=l()(e,S);return(0,C.jsx)(P.Z.Item,{label:0===i?d.ZP.get("筛选条件"):"",style:{marginBottom:0},required:!0,className:"filter-item",children:(0,C.jsxs)(f.Z,{className:"view-create-modal-filters",align:"baseline",children:[(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"property"],rules:[{required:!0}],children:L(R,{width:120})})),(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"operation"],rules:[{required:!0,message:d.ZP.get("请选择操作符")}],children:(0,C.jsx)(D,{name:i})})),(0,C.jsx)(P.Z.Item,s()(s()({},o),{},{name:[i,"value"],rules:[{required:!0,message:d.ZP.get("请输入内容")}],children:"select"===I[null==O?void 0:O[i].operation]?(t=null==O?void 0:O[i].property,(0,C.jsx)(m.Z,{mode:"tags",allowClear:!0,placeholder:d.ZP.get("输入后回车增加自定义选项"),children:null===(r=W[t])||void 0===r?void 0:r.map((function(e){return(0,C.jsx)(m.Z.Option,{value:e.value,children:e.name},e.name)}))})):(0,C.jsx)(b.Z,{placeholder:d.ZP.get("请输入内容")})})),0!==i&&(0,C.jsx)(k.Z,{onClick:function(){return n(i)}})]})},a)})),(0,C.jsx)(P.Z.Item,{children:(0,C.jsxs)("a",{onClick:function(){return a({property:"command",operation:"Reg"})},children:[(0,C.jsx)(w.Z,{}),d.ZP.get("新增筛选条件")]})}),(0,C.jsx)(P.Z.ErrorList,{errors:i})]})]})}}),(0,C.jsx)(P.Z.List,{name:"sorts",children:function(e,t,r){var a=t.add,n=t.remove,i=r.errors;return(0,C.jsxs)("div",{style:{position:"relative"},className:"view-filters-container ".concat(e.length>1?"active":""),children:[e.length>1&&(0,C.jsx)("div",{style:{position:"absolute",width:50,borderRadius:10,border:"1px solid rgb(190, 220, 255)",borderRight:"none",height:56*(e.length-1),top:46,left:15},children:(0,C.jsx)(v.Z,{type:"primary",size:"small",style:{position:"absolute",top:"50%",translate:"-50% -50%",padding:"0 3px",cursor:"pointer"},children:(0,C.jsx)(C.Fragment,{children:(0,C.jsx)("span",{children:A[X]})})})}),(0,C.jsxs)("div",{children:[e.map((function(e){var t=e.key,r=e.name,a=l()(e,T);return(0,C.jsx)(P.Z.Item,{label:0===r?d.ZP.get("排序方式"):"",style:{marginBottom:0},className:"filter-item",children:(0,C.jsxs)(f.Z,{className:"view-create-modal-sorts",align:"baseline",children:[(0,C.jsx)(P.Z.Item,s()(s()({},a),{},{name:[r,"property"],rules:[{required:!0}],children:L(R)})),(0,C.jsx)(P.Z.Item,s()(s()({},a),{},{name:[r,"type"],rules:[{required:!0}],children:F})),(0,C.jsx)(k.Z,{onClick:function(){return n(r)}})]})},t)})),(0,C.jsx)(P.Z.Item,{children:(0,C.jsxs)("a",{onClick:function(){return a({property:"command",type:"ASC"})},children:[(0,C.jsx)(w.Z,{}),d.ZP.get("新增排序方式")]})}),(0,C.jsx)(P.Z.ErrorList,{errors:i})]})]})}})]})})}},3475:function(e,t,r){var a=r(72317),l=window.__ENV__QlBaseUrl||"/";t.Z={siteName:a.ZP.get("青龙"),baseUrl:l,apiPrefix:"".concat(l,"api/"),authKey:"token",layouts:[{name:"primary",include:[/.*/],exclude:[/(\/(en|zh))*\/login/]}],i18n:{languages:[{key:"pt-br",title:"Português",flag:"/portugal.svg"},{key:"en",title:"English",flag:"/america.svg"},{key:"zh",title:a.ZP.get("中文"),flag:"/china.svg"}],defaultLanguage:"en"},scopes:[{name:a.ZP.get("定时任务"),value:"crons"},{name:a.ZP.get("环境变量"),value:"envs"},{name:a.ZP.get("订阅管理"),value:"subscriptions"},{name:a.ZP.get("配置文件"),value:"configs"},{name:a.ZP.get("脚本管理"),value:"scripts"},{name:a.ZP.get("日志管理"),value:"logs"},{name:a.ZP.get("依赖管理"),value:"dependencies"},{name:a.ZP.get("系统信息"),value:"system"}],scopesMap:{crons:a.ZP.get("定时任务"),envs:a.ZP.get("环境变量"),subscriptions:a.ZP.get("订阅管理"),configs:a.ZP.get("配置文件"),scripts:a.ZP.get("脚本管理"),logs:a.ZP.get("日志管理"),dependencies:a.ZP.get("依赖管理"),system:a.ZP.get("系统信息")},notificationModes:[{value:"gotify",label:"Gotify"},{value:"ntfy",label:"Ntfy"},{value:"goCqHttpBot",label:"GoCqHttpBot"},{value:"serverChan",label:a.ZP.get("Server酱")},{value:"pushDeer",label:"PushDeer"},{value:"bark",label:"Bark"},{value:"telegramBot",label:a.ZP.get("Telegram机器人")},{value:"dingtalkBot",label:a.ZP.get("钉钉机器人")},{value:"weWorkBot",label:a.ZP.get("企业微信机器人")},{value:"weWorkApp",label:a.ZP.get("企业微信应用")},{value:"aibotk",label:a.ZP.get("智能微秘书")},{value:"iGot",label:"IGot"},{value:"pushPlus",label:"PushPlus"},{value:"wePlusBot",label:a.ZP.get("微加机器人")},{value:"wxPusherBot",label:"wxPusher"},{value:"chat",label:a.ZP.get("群晖chat")},{value:"email",label:a.ZP.get("邮箱")},{value:"lark",label:a.ZP.get("飞书机器人")},{value:"pushMe",label:"PushMe"},{value:"chronocat",label:"Chronocat"},{value:"webhook",label:a.ZP.get("自定义通知")},{value:"closed",label:a.ZP.get("已关闭")}],notificationModeMap:{gotify:[{label:"gotifyUrl",tip:a.ZP.get("gotify的url地址,例如 https://push.example.de:8080"),required:!0},{label:"gotifyToken",tip:a.ZP.get("gotify的消息应用token码"),required:!0},{label:"gotifyPriority",tip:a.ZP.get("推送消息的优先级")}],ntfy:[{label:"ntfyUrl",tip:a.ZP.get("ntfy的url地址,例如 https://ntfy.sh"),required:!0},{label:"ntfyTopic",tip:a.ZP.get("ntfy应用topic"),required:!0},{label:"ntfyPriority",tip:a.ZP.get("推送消息的优先级")},{label:"ntfyToken",tip:a.ZP.get("ntfy应用token")},{label:"ntfyUsername",tip:a.ZP.get("ntfy应用用户名")},{label:"ntfyPassword",tip:a.ZP.get("ntfy应用密码")},{label:"ntfyActions",tip:a.ZP.get("ntfy用户动作")}],chat:[{label:"synologyChatUrl",tip:a.ZP.get("synologyChat的url地址"),required:!0}],goCqHttpBot:[{label:"goCqHttpBotUrl",tip:a.ZP.get("推送到个人QQ: http://127.0.0.1/send_private_msg,群:http://127.0.0.1/send_group_msg"),required:!0},{label:"goCqHttpBotToken",tip:a.ZP.get("访问密钥"),required:!0},{label:"goCqHttpBotQq",tip:a.ZP.get("如果GOBOT_URL设置 /send_private_msg 则需要填入 user_id=个人QQ 相反如果是 /send_group_msg 则需要填入 group_id=QQ群"),required:!0}],serverChan:[{label:"serverChanKey",tip:a.ZP.get("Server酱SENDKEY"),required:!0}],pushDeer:[{label:"pushDeerKey",tip:a.ZP.get("PushDeer的Key,https://github.com/easychen/pushdeer"),required:!0},{label:"pushDeerUrl",tip:a.ZP.get("PushDeer的自架API endpoint,默认是 https://api2.pushdeer.com/message/push")}],bark:[{label:"barkPush",tip:a.ZP.get("Bark的信息IP/设备码,例如:https://api.day.app/XXXXXXXX"),required:!0},{label:"barkIcon",tip:a.ZP.get("BARK推送图标,自定义推送图标 (需iOS15或以上才能显示)")},{label:"barkSound",tip:a.ZP.get("BARK推送铃声,铃声列表去APP查看复制填写")},{label:"barkGroup",tip:a.ZP.get("BARK推送消息的分组,默认为qinglong")},{label:"barkLevel",tip:a.ZP.get("BARK推送消息的时效性,默认为active")},{label:"barkUrl",tip:a.ZP.get("BARK推送消息的跳转URL")},{label:"barkArchive",tip:a.ZP.get("BARK是否保存推送消息")}],telegramBot:[{label:"telegramBotToken",tip:a.ZP.get("telegram机器人的token,例如:1077xxx4424:AAFjv0FcqxxxxxxgEMGfi22B4yh15R5uw"),required:!0},{label:"telegramBotUserId",tip:a.ZP.get("telegram用户的id,例如:129xxx206"),required:!0},{label:"telegramBotProxyHost",tip:a.ZP.get("代理IP")},{label:"telegramBotProxyPort",tip:a.ZP.get("代理端口")},{label:"telegramBotProxyAuth",tip:a.ZP.get("telegram代理配置认证参数,用户名与密码用英文冒号连接 user:password")},{label:"telegramBotApiHost",tip:a.ZP.get("telegram api自建的反向代理地址,默认tg官方api")}],dingtalkBot:[{label:"dingtalkBotToken",tip:a.ZP.get("钉钉机器人webhook token,例如:5a544165465465645d0f31dca676e7bd07415asdasd"),required:!0},{label:"dingtalkBotSecret",tip:a.ZP.get("密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串")}],weWorkBot:[{label:"weWorkBotKey",tip:a.ZP.get("企业微信机器人的webhook(详见文档 https://work.weixin.qq.com/api/doc/90000/90136/91770),例如:693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa"),required:!0},{label:"weWorkOrigin",tip:a.ZP.get("企业微信代理地址")}],weWorkApp:[{label:"weWorkAppKey",tip:a.ZP.get("corpid、corpsecret、touser(注:多个成员ID使用|隔开)、agentid、消息类型(选填,不填默认文本消息类型) 注意用,号隔开(英文输入法的逗号),例如:wwcfrs,B-76WERQ,qinglong,1000001,2COat"),required:!0},{label:"weWorkOrigin",tip:a.ZP.get("企业微信代理地址")}],aibotk:[{label:"aibotkKey",tip:a.ZP.get("密钥key,智能微秘书个人中心获取apikey,申请地址:https://wechat.aibotk.com/signup?from=ql"),required:!0},{label:"aibotkType",tip:a.ZP.get("发送的目标,群组或者好友"),required:!0,placeholder:a.ZP.get("请输入要发送的目标"),items:[{value:"room",label:a.ZP.get("群聊")},{value:"contact",label:a.ZP.get("好友")}]},{label:"aibotkName",tip:a.ZP.get("要发送的用户昵称或群名,如果目标是群,需要填群名,如果目标是好友,需要填好友昵称"),required:!0}],iGot:[{label:"iGotPushKey",tip:a.ZP.get("iGot的信息推送key,例如:https://push.hellyw.com/XXXXXXXX"),required:!0}],pushPlus:[{label:"pushPlusToken",tip:a.ZP.get("微信扫码登录后一对一推送或一对多推送下面的token(您的Token),不提供PUSH_PLUS_USER则默认为一对一推送,参考 https://www.pushplus.plus/"),required:!0},{label:"pushPlusUser",tip:a.ZP.get("一对多推送的“群组编码”(一对多推送下面->您的群组(如无则创建)->群组编码,如果您是创建群组人。也需点击“查看二维码”扫描绑定,否则不能接受群组消息推送)")},{label:"pushplusTemplate",tip:a.ZP.get("发送模板")},{label:"pushplusChannel",tip:a.ZP.get("发送渠道")},{label:"pushplusWebhook",tip:a.ZP.get("webhook编码")},{label:"pushplusCallbackUrl",tip:a.ZP.get("发送结果回调地址")},{label:"pushplusTo",tip:a.ZP.get("好友令牌")}],wePlusBot:[{label:"wePlusBotToken",tip:a.ZP.get("用户令牌,扫描登录后 我的—>设置->令牌 中获取,参考 https://www.weplusbot.com/"),required:!0},{label:"wePlusBotReceiver",tip:a.ZP.get("消息接收人")},{label:"wePlusBotVersion",tip:a.ZP.get("调用版本;专业版填写pro,个人版填写personal,为空默认使用专业版")}],wxPusherBot:[{label:"wxPusherBotAppToken",tip:a.ZP.get("wxPusherBot的appToken"),required:!0},{label:"wxPusherBotTopicIds",tip:a.ZP.get("wxPusherBot的topicIds"),required:!1},{label:"wxPusherBotUids",tip:a.ZP.get("wxPusherBot的uids"),required:!1}],lark:[{label:"larkKey",tip:a.ZP.get("飞书群组机器人:https://www.feishu.cn/hc/zh-CN/articles/360024984973"),required:!0},{label:"larkSecret",tip:a.ZP.get("飞书群组机器人加签密钥,安全设置中开启签名校验后获得")}],email:[{label:"emailService",tip:a.ZP.get("邮箱服务名称,比如126、163、Gmail、QQ等,支持列表https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json"),required:!0},{label:"emailUser",tip:a.ZP.get("邮箱认证地址"),required:!0},{label:"emailPass",tip:a.ZP.get("SMTP 登录密码,也可能为特殊口令,视具体邮件服务商说明而定"),required:!0},{label:"emailTo",tip:a.ZP.get("收件邮箱地址,多个分号分隔,默认发送给发件邮箱地址")}],pushMe:[{label:"pushMeKey",tip:a.ZP.get("PushMe的Key,https://push.i-i.me/"),required:!0},{label:"pushMeUrl",tip:a.ZP.get("自建的PushMeServer消息接口地址,例如:http://127.0.0.1:3010,不填则使用官方消息接口"),required:!1}],chronocat:[{label:"chronocatURL",tip:a.ZP.get("Chronocat Red 服务的连接地址 https://chronocat.vercel.app/install/docker/official/"),required:!0},{label:"chronocatQQ",tip:a.ZP.get("个人:user_id=个人QQ 群则填入group_id=QQ群 多个用英文;隔开同时支持个人和群 如:user_id=xxx;group_id=xxxx;group_id=xxxxx"),required:!0},{label:"chronocatToken",tip:a.ZP.get("docker安装在持久化config目录下的chronocat.yml文件可找到"),required:!0}],webhook:[{label:"webhookMethod",tip:a.ZP.get("请求方法"),required:!0,items:[{value:"GET"},{value:"POST"},{value:"PUT"}]},{label:"webhookContentType",tip:a.ZP.get("请求头Content-Type"),required:!0,items:[{value:"text/plain"},{value:"application/json"},{value:"multipart/form-data"},{value:"application/x-www-form-urlencoded"}]},{label:"webhookUrl",tip:a.ZP.get("请求链接以http或者https开头。url或者body中必须包含$title,$content可选,对应api内容的位置"),required:!0,placeholder:"https://xxx.cn/api?content=$title\n"},{label:"webhookHeaders",tip:a.ZP.get("请求头格式Custom-Header1: Header1,多个换行分割"),placeholder:"Custom-Header1: Header1\nCustom-Header2: Header2"},{label:"webhookBody",tip:a.ZP.get("请求体格式key1: value1,多个换行分割。url或者body中必须包含$title,$content可选,对应api内容的位置"),placeholder:"key1: $title\nkey2: $content"}]},documentTitleMap:{"/login":a.ZP.get("登录"),"/initialization":a.ZP.get("初始化"),"/crontab":a.ZP.get("定时任务"),"/env":a.ZP.get("环境变量"),"/subscription":a.ZP.get("订阅管理"),"/config":a.ZP.get("配置文件"),"/script":a.ZP.get("脚本管理"),"/diff":a.ZP.get("对比工具"),"/log":a.ZP.get("日志管理"),"/setting":a.ZP.get("系统设置"),"/error":a.ZP.get("错误日志"),"/dependence":a.ZP.get("依赖管理")},dependenceTypes:["nodejs","python3","linux"]}},16314:function(e,t,r){r.d(t,{W:function(){return Z}});var a=r(90228),l=r.n(a),n=r(87999),i=r.n(n),o=r(72317),s=r(61508),u=r(33839),p=r(3475),c=r(98783),g=r(69313),d=r(52676);s.ZP.config({duration:2});var h=Date.now(),P=g.Z.create({timeout:6e4,params:{t:h}}),m=["/api/user/login","/open/auth/token","/api/user/two-factor/login","/api/system","/api/user/init","/api/user/notification/init"];P.interceptors.request.use((function(e){var t=localStorage.getItem(p.Z.authKey);return t&&!m.includes(e.url)?(e.headers.Authorization="Bearer ".concat(t),e):e})),P.interceptors.response.use(function(){var e=i()(l()().mark((function e(t){var r,a,n;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.status,![502,504].includes(r)){e.next=5;break}c.history.push("/error"),e.next=18;break;case 5:if(401!==r){e.next=9;break}"/login"!==c.history.location.pathname&&(localStorage.removeItem(p.Z.authKey),c.history.push("/login")),e.next=18;break;case 9:return e.prev=9,200!==(a=t.data).code&&(n=a.message||a.data)&&u.Z.error({message:n,description:null!=a&&a.errors?(0,d.jsx)(d.Fragment,{children:null==a?void 0:a.errors.map((function(e){return(0,d.jsx)("div",{children:e.message})}))}):void 0}),e.abrupt("return",a);case 15:e.prev=15,e.t0=e.catch(9);case 17:case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}}),e,null,[[9,15]])})));return function(t){return e.apply(this,arguments)}}(),(function(e){if(e.response){var t=e.response.data?e.response.data.message||e.message:e.response.statusText,r=e.response.status;if([502,504].includes(r))c.history.push("/error");else if(401===r)"/login"!==c.history.location.pathname&&(s.ZP.error(o.ZP.get("登录已过期,请重新登录")),localStorage.removeItem(p.Z.authKey),c.history.push("/login"));else{var a,l,n,i;if("function"==typeof(null===(a=e.config)||void 0===a?void 0:a.onError))return null===(i=e.config)||void 0===i?void 0:i.onError(e.response);t&&u.Z.error({message:t,description:null!==(l=e.response)&&void 0!==l&&null!==(l=l.data)&&void 0!==l&&l.errors?(0,d.jsx)(d.Fragment,{children:null===(n=e.response)||void 0===n||null===(n=n.data)||void 0===n||null===(n=n.errors)||void 0===n?void 0:n.map((function(e){return(0,d.jsxs)("div",{children:[e.message," (",e.value,")"]})}))}):void 0})}}else console.log(e.message);return Promise.reject(e)}));var Z=P}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[3191],{23191:function(e,t,l){"use strict";l.r(t);var n=l(90228),a=l.n(n),r=l(26068),o=l.n(r),i=l(87999),s=l.n(i),c=l(48305),u=l.n(c),d=l(72317),p=l(75271),h=l(35181),Z=l(72338),x=l(61508),m=l(17082),g=l(56646),P=l(45520),v=l(94747),f=l(9171),j=l(16314),b=l(3475),C=l(91379),w=l(46207),y=l.n(w),k=l(52676),I=h.Z.Option,_=/([^\/\:]+\/[^\/]+)(?=\.git)/,S=/([^\/\:]+\/[^\/\.]+)\.[a-z]+$/;t.default=function(e){var t,l=e.subscription,n=e.handleCancel,r=Z.Z.useForm(),i=u()(r,1)[0],c=(0,p.useState)(!1),w=u()(c,2),R=w[0],T=w[1],F=(0,p.useState)((null==l?void 0:l.type)||"public-repo"),O=u()(F,2),V=O[0],q=O[1],A=(0,p.useState)((null==l?void 0:l.schedule_type)||"crontab"),E=u()(A,2),N=E[0],D=E[1],z=(0,p.useState)((null==l?void 0:l.pull_type)||"ssh-key"),K=u()(z,2),B=K[0],G=K[1],H=function(){var e=s()(a()().mark((function e(t){var r,i,s,c,u;return a()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return T(!0),r=l?"put":"post",i=o()(o()({},t),{},{autoAddCron:Boolean(t.autoAddCron),autoDelCron:Boolean(t.autoDelCron)}),l&&(i.id=l.id),e.prev=4,e.next=7,j.W[r]("".concat(b.Z.apiPrefix,"subscriptions"),i);case 7:s=e.sent,c=s.code,u=s.data,200===c&&(x.ZP.success(l?d.ZP.get("更新订阅成功"):d.ZP.get("创建订阅成功")),n(u)),T(!1),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),T(!1);case 17:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(t){return e.apply(this,arguments)}}(),L=function(e,t){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:V,n="",a="file"===l?S:_;return a.test(e)&&(n=e.match(a)[1].replaceAll("/","_").replaceAll(".","_")),t&&(n=n+"_"+t),n},W=function(e){var t=e.value,l=e.onChange,n=(0,p.useState)("days"),a=u()(n,2),r=a[0],o=a[1],i=(0,p.useState)(),s=u()(i,2),c=s[0],Z=s[1];return(0,p.useEffect)((function(){t&&(o(t.type),Z(t.value))}),[t]),(0,k.jsxs)(m.Z.Group,{compact:!0,children:[(0,k.jsx)(g.Z,{addonBefore:d.ZP.get("每"),precision:0,min:1,value:c,style:{width:"calc(100% - 58px)"},onChange:function(e){Z(e||1),e?null==l||l({type:r,value:e}):null==l||l(null)}}),(0,k.jsxs)(h.Z,{value:r,onChange:function(e){o(e),c&&c>0&&(null==l||l({type:e,value:c}))},children:[(0,k.jsx)(I,{value:"days",children:d.ZP.get("天")}),(0,k.jsx)(I,{value:"hours",children:d.ZP.get("时")}),(0,k.jsx)(I,{value:"minutes",children:d.ZP.get("分")}),(0,k.jsx)(I,{value:"seconds",children:d.ZP.get("秒")})]})]})},$=function(e){e.value,e.onChange;return"ssh-key"===e.type?(0,k.jsx)(Z.Z.Item,{name:["pull_option","private_key"],label:d.ZP.get("私钥"),rules:[{required:!0}],children:(0,k.jsx)(m.Z.TextArea,{rows:4,autoSize:{minRows:1,maxRows:6},placeholder:d.ZP.get("请输入私钥")})}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z.Z.Item,{name:["pull_option","username"],label:d.ZP.get("用户名"),rules:[{required:!0}],children:(0,k.jsx)(m.Z,{placeholder:d.ZP.get("请输入认证用户名")})}),(0,k.jsx)(Z.Z.Item,{name:["pull_option","password"],tooltip:d.ZP.get("Github已不支持密码认证,请使用Token方式"),label:d.ZP.get("密码/Token"),rules:[{required:!0}],children:(0,k.jsx)(m.Z,{placeholder:d.ZP.get("请输入密码或者Token")})})]})},J=(0,p.useCallback)((function(e){var t=e.clipboardData.getData("text");if(t.startsWith("ql ")){var l=t.split(" ").map((function(e){return e.trim().replace(/\"/g,"").replace(/\'/,"")})),n=u()(l,8),a=n[1],r=n[2],o=n[3],s=n[4],c=n[5],d=n[6],p=n[7],h="raw"===a?"file":r.startsWith("http")?"public-repo":"private-repo";i.setFieldsValue({type:h,url:r,whitelist:o,blacklist:s,dependences:c,branch:d,extensions:p,alias:L(r,d,h)}),q(h)}}),[]),M=(0,p.useCallback)((function(e){var t=e.clipboardData.getData("text");(t.includes("ql repo")||t.includes("ql raw"))&&e.preventDefault()}),[]);return(0,p.useEffect)((function(){return window.addEventListener("paste",J),function(){window.removeEventListener("paste",J)}}),[]),(0,k.jsx)(P.Z,{title:l?d.ZP.get("编辑订阅"):d.ZP.get("创建订阅"),open:!0,forceRender:!0,centered:!0,maskClosable:!1,onOk:function(){i.validateFields().then((function(e){H(e)})).catch((function(e){console.log("Validate Failed:",e)}))},onCancel:function(){return n()},confirmLoading:R,children:(0,k.jsxs)(Z.Z,{form:i,name:"form_in_modal",layout:"vertical",initialValues:o()(o()({},l),(t=l,o()(o()({},t),{},{autoAddCron:!!y()(null==t?void 0:t.autoAddCron)||Boolean(null==t?void 0:t.autoAddCron),autoDelCron:!!y()(null==t?void 0:t.autoDelCron)||Boolean(null==t?void 0:t.autoDelCron)}))),children:[(0,k.jsx)(Z.Z.Item,{name:"name",label:d.ZP.get("名称"),rules:[{required:!0}],children:(0,k.jsx)(m.Z,{placeholder:d.ZP.get("支持拷贝 ql repo/raw 命令,粘贴导入"),onPaste:M})}),(0,k.jsx)(Z.Z.Item,{name:"type",label:d.ZP.get("类型"),rules:[{required:!0}],initialValue:"public-repo",children:(0,k.jsxs)(v.ZP.Group,{onChange:function(e){q(e.target.value);var t=i.getFieldValue("url"),l=i.getFieldValue("branch");i.setFieldsValue({alias:L(t,l,e.target.value)}),t&&i.validateFields(["url"])},children:[(0,k.jsx)(v.ZP,{value:"public-repo",children:d.ZP.get("公开仓库")}),(0,k.jsx)(v.ZP,{value:"private-repo",children:d.ZP.get("私有仓库")}),(0,k.jsx)(v.ZP,{value:"file",children:d.ZP.get("单文件")})]})}),(0,k.jsx)(Z.Z.Item,{name:"url",label:d.ZP.get("链接"),rules:[{required:!0},{pattern:"file"===V?S:_}],children:(0,k.jsx)(m.Z.TextArea,{autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入订阅链接"),onPaste:M,onChange:function(e){var t=i.getFieldValue("branch");i.setFieldsValue({alias:L(e.target.value,t)})}})}),"file"!==V&&(0,k.jsx)(Z.Z.Item,{name:"branch",label:d.ZP.get("分支"),children:(0,k.jsx)(m.Z,{placeholder:d.ZP.get("请输入分支"),onPaste:M,onChange:function(e){var t=i.getFieldValue("url");i.setFieldsValue({alias:L(t,e.target.value)})}})}),(0,k.jsx)(Z.Z.Item,{name:"alias",label:d.ZP.get("唯一值"),rules:[{required:!0,message:""}],tooltip:d.ZP.get("唯一值用于日志目录和私钥别名"),children:(0,k.jsx)(m.Z,{placeholder:d.ZP.get("自动生成"),disabled:!0})}),"private-repo"===V&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z.Z.Item,{name:"pull_type",label:d.ZP.get("拉取方式"),initialValue:"ssh-key",rules:[{required:!0}],children:(0,k.jsxs)(v.ZP.Group,{onChange:function(e){G(e.target.value)},children:[(0,k.jsx)(v.ZP,{value:"ssh-key",children:d.ZP.get("私钥")}),(0,k.jsx)(v.ZP,{value:"user-pwd",children:d.ZP.get("用户名密码/Token")})]})}),(0,k.jsx)($,{type:B})]}),(0,k.jsx)(Z.Z.Item,{name:"schedule_type",label:d.ZP.get("定时类型"),initialValue:"crontab",rules:[{required:!0}],children:(0,k.jsxs)(v.ZP.Group,{onChange:function(e){D(e.target.value),i.setFieldsValue({schedule:""})},children:[(0,k.jsx)(v.ZP,{value:"crontab",children:"crontab"}),(0,k.jsx)(v.ZP,{value:"interval",children:"interval"})]})}),(0,k.jsx)(Z.Z.Item,{name:"crontab"===N?"schedule":"interval_schedule",label:d.ZP.get("定时规则"),rules:[{required:!0},{validator:function(e,t){return"interval"===N||!t||C.CronExpressionParser.parse(t).hasNext()?Promise.resolve():Promise.reject(d.ZP.get("Subscription表达式格式有误"))}}],children:"interval"===N?(0,k.jsx)(W,{}):(0,k.jsx)(m.Z,{onPaste:M,placeholder:d.ZP.get("秒(可选) 分 时 天 月 周")})}),"file"!==V&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Z.Z.Item,{name:"whitelist",label:d.ZP.get("白名单"),tooltip:d.ZP.get("多个关键词竖线分割,支持正则表达式"),children:(0,k.jsx)(m.Z.TextArea,{rows:4,autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入脚本筛选白名单关键词,多个关键词竖线分割"),onPaste:M})}),(0,k.jsx)(Z.Z.Item,{name:"blacklist",label:d.ZP.get("黑名单"),tooltip:d.ZP.get("多个关键词竖线分割,支持正则表达式"),children:(0,k.jsx)(m.Z.TextArea,{rows:4,autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入脚本筛选黑名单关键词,多个关键词竖线分割"),onPaste:M})}),(0,k.jsx)(Z.Z.Item,{name:"dependences",label:d.ZP.get("依赖文件"),tooltip:d.ZP.get("多个关键词竖线分割,支持正则表达式"),children:(0,k.jsx)(m.Z.TextArea,{rows:4,autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入脚本依赖文件关键词,多个关键词竖线分割"),onPaste:M})}),(0,k.jsx)(Z.Z.Item,{name:"extensions",label:d.ZP.get("文件后缀"),tooltip:d.ZP.get("仓库需要拉取的文件后缀,多个后缀空格分隔,默认使用配置文件中的RepoFileExtensions"),children:(0,k.jsx)(m.Z,{onPaste:M,placeholder:d.ZP.get("请输入文件后缀")})}),(0,k.jsx)(Z.Z.Item,{name:"sub_before",label:d.ZP.get("执行前"),tooltip:d.ZP.get("运行订阅前执行的命令,比如 cp/mv/python3 xxx.py/node xxx.js"),children:(0,k.jsx)(m.Z.TextArea,{onPaste:M,rows:4,autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入运行订阅前要执行的命令")})}),(0,k.jsx)(Z.Z.Item,{name:"sub_after",label:d.ZP.get("执行后"),tooltip:d.ZP.get("运行订阅后执行的命令,比如 cp/mv/python3 xxx.py/node xxx.js"),children:(0,k.jsx)(m.Z.TextArea,{onPaste:M,rows:4,autoSize:{minRows:1,maxRows:5},placeholder:d.ZP.get("请输入运行订阅后要执行的命令")})})]}),(0,k.jsx)(Z.Z.Item,{name:"proxy",label:d.ZP.get("代理"),tooltip:d.ZP.get("公开仓库支持HTTP/SOCK5代理,私有仓库支持SOCK5代理"),children:(0,k.jsx)(m.Z,{onPaste:M,placeholder:"private-repo"===V?"SOCK5代理,例如 IP:PORT":"HTTP/SOCK5代理,例如 http://127.0.0.1:1080"})}),(0,k.jsxs)(Z.Z.Item,{style:{marginBottom:0},className:"inline-form-item",children:[(0,k.jsx)(Z.Z.Item,{name:"autoAddCron",label:d.ZP.get("自动添加任务"),valuePropName:"checked",initialValue:!0,children:(0,k.jsx)(f.Z,{})}),(0,k.jsx)(Z.Z.Item,{name:"autoDelCron",label:d.ZP.get("自动删除任务"),valuePropName:"checked",initialValue:!0,children:(0,k.jsx)(f.Z,{})})]})]})})}},9171:function(e,t,l){"use strict";l.d(t,{Z:function(){return j}});var n=l(2053),a=l(57904),r=l(24727),o=l(82187),i=l.n(o),s=l(99459),c=l(53162),u=l(75271),d=l(6522),p=l(1260),h=u.forwardRef((function(e,t){var l,n=e.prefixCls,r=void 0===n?"rc-switch":n,o=e.className,h=e.checked,Z=e.defaultChecked,x=e.disabled,m=e.loadingIcon,g=e.checkedChildren,P=e.unCheckedChildren,v=e.onClick,f=e.onChange,j=e.onKeyDown,b=(0,c.Z)(e,["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"]),C=(0,d.Z)(!1,{value:h,defaultValue:Z}),w=(0,s.Z)(C,2),y=w[0],k=w[1];function I(e,t){var l=y;return x||(k(l=e),null==f||f(l,t)),l}var _=i()(r,o,(l={},(0,a.Z)(l,"".concat(r,"-checked"),y),(0,a.Z)(l,"".concat(r,"-disabled"),x),l));return u.createElement("button",Object.assign({},b,{type:"button",role:"switch","aria-checked":y,disabled:x,className:_,ref:t,onKeyDown:function(e){e.which===p.Z.LEFT?I(!1,e):e.which===p.Z.RIGHT&&I(!0,e),null==j||j(e)},onClick:function(e){var t=I(!y,e);null==v||v(t,e)}}),m,u.createElement("span",{className:"".concat(r,"-inner")},y?g:P))}));h.displayName="Switch";var Z=h,x=l(96820),m=l(30107),g=l(38470),P=l(74244),v=function(e,t){var l={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(l[n[a]]=e[n[a]])}return l},f=u.forwardRef((function(e,t){var l=e.prefixCls,o=e.size,s=e.disabled,c=e.loading,d=e.className,p=void 0===d?"":d,h=v(e,["prefixCls","size","disabled","loading","className"]),f=u.useContext(x.E_),j=f.getPrefixCls,b=f.direction,C=u.useContext(g.Z),w=u.useContext(m.Z),y=(null!=s?s:w)||c,k=j("switch",l),I=u.createElement("div",{className:"".concat(k,"-handle")},c&&u.createElement(r.Z,{className:"".concat(k,"-loading-icon")})),_=i()((0,a.Z)((0,a.Z)((0,a.Z)({},"".concat(k,"-small"),"small"===(o||C)),"".concat(k,"-loading"),c),"".concat(k,"-rtl"),"rtl"===b),p);return u.createElement(P.Z,{insertExtraNode:!0},u.createElement(Z,(0,n.Z)({},h,{prefixCls:k,className:_,disabled:y,ref:t,loadingIcon:I})))}));f.__ANT_SWITCH=!0;var j=f},46207:function(e){e.exports=function(e){return null==e}}}]);
|