From 00aa243053be263dbc5a5a5f59abd52d715bb660 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Tue, 16 Aug 2022 00:58:20 +0800
Subject: [PATCH 01/10] rebuild blog
---
_config.melody.yml | 14 +-
_config.yml | 4 +-
.../netease-eapi-music-recognize-reverse-1.md | 202 +++++++++++-------
.../netease-eapi-music-recognize-reverse-2.md | 45 +++-
.../netease-eapi-music-recognize-reverse-3.md | 21 +-
source/about/index.md | 24 +++
source/labs/index.md | 8 +
source/links/index.md | 23 ++
8 files changed, 247 insertions(+), 94 deletions(-)
create mode 100644 source/about/index.md
create mode 100644 source/labs/index.md
create mode 100644 source/links/index.md
diff --git a/_config.melody.yml b/_config.melody.yml
index 949934c..62d2193 100644
--- a/_config.melody.yml
+++ b/_config.melody.yml
@@ -127,9 +127,9 @@ cdn:
fontawesome: https://cdn.jsdelivr.net/npm/font-awesome@latest/css/font-awesome.min.css
# fontawesomeV5: https://use.fontawesome.com/releases/v5.3.1/css/all.css
js:
- anime: https://cdn.jsdelivr.net/npm/animejs@latest/lib/anime.min.js
- jquery: https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js
- fancybox: https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js
+ anime: https://cdnjs.loli.net/ajax/libs/animejs/3.2.1/anime.min.js
+ jquery: https://cdnjs.loli.net/ajax/libs/jquery/3.6.0/jquery.min.js
+ fancybox: https://cdnjs.loli.net/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js
velocity: https://cdn.jsdelivr.net/npm/velocity-animate@latest/velocity.min.js
velocity-ui: https://cdn.jsdelivr.net/npm/velocity-ui-pack@latest/velocity.ui.min.js
@@ -211,9 +211,9 @@ addThis:
# Comments System
# ---------------
disqus:
- enable: false
- #shortname:
- #count:
+ enable: true
+ shortname: nazukis-blog
+ count: true
# laibili:
# enable: false
@@ -269,7 +269,7 @@ disqus:
# Footer Settings
# ---------------
-since: 2017
+since: 2015
footer_custom_text: 萌ICP备20229233号
diff --git a/_config.yml b/_config.yml
index 1713a1f..6d40c2e 100644
--- a/_config.yml
+++ b/_config.yml
@@ -13,8 +13,8 @@ timezone: ''
# URL
## Set your site url heare. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
-url: http://example.com
-permalink: :year/:month/:day/:title/
+url: https://nazuki.moe
+permalink: :title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
diff --git a/source/_posts/netease-eapi-music-recognize-reverse-1.md b/source/_posts/netease-eapi-music-recognize-reverse-1.md
index f8a023a..c9bcb6d 100644
--- a/source/_posts/netease-eapi-music-recognize-reverse-1.md
+++ b/source/_posts/netease-eapi-music-recognize-reverse-1.md
@@ -1,103 +1,139 @@
---
-title: netease-eapi-music-recognize-reverse-1
-date: 2022-06-27 13:46:44
+title: 网易云音乐听歌识曲 API 逆向 (一)
+date: 2022-05-05
tags:
---
首先是抓了一下协议, 网易云音乐的接口本身是有加密的, 但是没关系, 已经有 [NetEaseCloudMusic](https://github.com/Binaryify/NeteaseCloudMusicApi) 这样的项目逆向出了基本的通讯协议, 可以直接使用.
+

+
+
+
网易云音乐识曲会向 `https://music.163.com/eapi/music/audio/match?_nmclfl=1` 这个接口发送请求
+
解密后的请求体大概长这样
```json
-{
- "rawdata":"eJx11H9M1HUYB\/C7+2p5\/PhHTUQGwW......",
- "from":"recognize-song",
- "verifyId":1,
- "deviceId":"??????",
- "os":"iOS",
- "header":{
-
- },
- "algorithmCode":"shazam_v2",
- "times":1,
- "sessionId":"??????",
- "duration":3.4,
- "e_r":true,
- "sceneParams":"{\"action\":0,\"code\":2}"
-}
+{
+ "rawdata":"eJx11H9M1HUYB/C7+2p5/PhHTUQGwW......",
+ "from":"recognize-song",
+ "verifyId":1,
+ "deviceId":"??????",
+ "os":"iOS",
+ "header":{
+
+ },
+ "algorithmCode":"shazam_v2",
+ "times":1,
+ "sessionId":"??????",
+ "duration":3.4,
+ "e_r":true,
+ "sceneParams":"{"action":0,"code":2}"
+}
```
-

-猜测其中 `rawdata` 就是录音的 Base64 编码, 尝试解码扔进 ffprobe, 但是失败了
+
+猜测其中 `rawdata` 就是录音的 Base64 编码, 尝试解码扔进 ffprobe, 但是失败了
有可能 `rawdata` 是根据音频频谱生成了摘要, `algorithmCode` 字段也提示了 `shazam_v2` 这个值
+
接下来开始逆向 APP
+
下载了一份比较旧但还能用的 网易云音乐 APK
-[old_version_apk.png](https://s2.loli.net/2022/05/05/uliO4SfnUpyIN1L.png)
+
+
+
扔进 Jadx, 发现有比较奇特的混淆方法, 任意地方的字符串都会调用一个函数来进行解密
-[Obfuscation.jpg](https://s2.loli.net/2022/05/05/wrAiL2uzyHUsPD7.jpg)
+
+
+
定位到解密函数
-[decryptor.png](https://s2.loli.net/2022/05/05/d43Aw5fTby2h9ju.png)
+
+
+
这里的解密看起来并不困难, `C0003a()` 这个类显然是 Base64 解码用的
-过我们要写出一个反向的操作(用来方便逆向查找字符串)
+不过我们要写出一个反向的操作(用来方便逆向查找字符串)
```java
-import java.util.Base64;
-
-class Main {
- public static String key = "Encrypt";
-
- public static void main(String[] args) {
- if (args[0].equals("decrypt")) {
- System.out.println(decrypt(args[1]));;
- }else{
- System.out.println(encrypt(args[1]));
- }
- }
-
- public static String decrypt(String s) {
- byte[] decode = Base64.getDecoder().decode(s);
- String str2;
- int length = decode.length;
- int length2 = key.length();
- int i = 0;
- int i2 = 0;
- while (true) {
- int i3 = i2;
- if (i >= length) {
- break;
- }
- int i4 = i3;
- if (i3 >= length2) {
- i4 = 0;
- }
- decode[i] = (byte) (decode[i] ^ key.charAt(i4));
- i++;
- i2 = i4 + 1;
- }
- str2 = new String(decode);
- return str2;
- }
-
- public static String encrypt(String str_enc) {
- byte[] s = str_enc.getBytes();
- int length = str_enc.length();
- int length2 = key.length();
- int i = 0;
- int i2 = 0;
- while (true) {
- int i3 = i2;
- if (i >= length) {
- break;
- }
- int i4 = i3;
- if (i3 >= length2) {
- i4 = 0;
- }
- s[i] = (byte) (s[i] ^ key.charAt(i4));
- i++;
- i2 = i4 + 1;
- }
- return Base64.getEncoder().encodeToString(s);
- }
-}
+import java.util.Base64;
+
+class Main {
+ public static String key = "Encrypt";
+
+ public static void main(String[] args) {
+ if (args[0].equals("decrypt")) {
+ System.out.println(decrypt(args[1]));;
+ }else{
+ System.out.println(encrypt(args[1]));
+ }
+ }
+
+ public static String decrypt(String s) {
+ byte[] decode = Base64.getDecoder().decode(s);
+ String str2;
+ int length = decode.length;
+ int length2 = key.length();
+ int i = 0;
+ int i2 = 0;
+ while (true) {
+ int i3 = i2;
+ if (i >= length) {
+ break;
+ }
+ int i4 = i3;
+ if (i3 >= length2) {
+ i4 = 0;
+ }
+ decode[i] = (byte) (decode[i] ^ key.charAt(i4));
+ i++;
+ i2 = i4 + 1;
+ }
+ str2 = new String(decode);
+ return str2;
+ }
+
+ public static String encrypt(String str_enc) {
+ byte[] s = str_enc.getBytes();
+ int length = str_enc.length();
+ int length2 = key.length();
+ int i = 0;
+ int i2 = 0;
+ while (true) {
+ int i3 = i2;
+ if (i >= length) {
+ break;
+ }
+ int i4 = i3;
+ if (i3 >= length2) {
+ i4 = 0;
+ }
+ s[i] = (byte) (s[i] ^ key.charAt(i4));
+ i++;
+ i2 = i4 + 1;
+ }
+ return Base64.getEncoder().encodeToString(s);
+ }
+}
```
+根据 `rawdata` 这个关键词在 Jadx 里查找
+
+
+
+确实能找到这个字符串
+
+
+
+继续跟踪函数调用栈, 最终跟踪到了 `MusicDetector` 类
+
+
+
+看起来是 `getFP()` 这个 Native 函数返回了一个三维数组, 最终封装成了 `rawdata`
+
+
+
+
+
+暂时跟踪不下去了, 看见汇编就头大(
+
+敬请期待第二章(咕咕咕
+
+
\ No newline at end of file
diff --git a/source/_posts/netease-eapi-music-recognize-reverse-2.md b/source/_posts/netease-eapi-music-recognize-reverse-2.md
index e089087..264eb0d 100644
--- a/source/_posts/netease-eapi-music-recognize-reverse-2.md
+++ b/source/_posts/netease-eapi-music-recognize-reverse-2.md
@@ -1,5 +1,48 @@
---
-title: netease-eapi-music-recognize-reverse-2
+title: 网易云音乐听歌识曲 API 逆向 (二)
date: 2022-05-12 00:33:26
tags:
---
+
+
+前两天看到网易云音乐发布了一个网页上做音乐识别的 [Chrome 插件](https://juejin.cn/post/7094083239702659109)
+
+
+
+
+
+于是立即下载了一份来研究
+
+
+
+Chrome 插件的请求方式和结构和客户端几乎一模一样
+
+
+
+根据函数栈追踪, 可以分析出比较核心的逻辑都在 `sandbox.bundle.js` 内
+
+看起来是用了 WebAssemble 来解析网页录音, 在点击开始录音后会开始录制当前 TAB 的音频
+
+当录音完成后就会将音频传到 WASM 暴露的函数 `l().ExtractQueryFP(...)` 中
+
+
+
+WASM 层处理完成后就会将返回的 ArrayBuffer 封装成一个 Base64 串, 最后会将这个 Base64 串提交给 API
+
+
+
+* * *
+
+虽然还是不太清楚 WASM 层内部是如何处理传入的音频数据, 但是已经可以将它的代码抽出来作为一个类库了
+
+基于插件代码制作了一份 DEMO, 可以参考 [NeteaseCloudMusic-Audio-Recognize](https://github.com/akinazuki/NeteaseCloudMusic-Audio-Recognize)
+
+`rec.json` 内是封装成 JSON 的录音 ArrayBuffer
+
+运行后会在 Chrome Console 打印出音频指纹的 Base64 串
+
+[本页面已更新](/netease-eapi-music-recognize-reverse-3/)
+
+
+
+
\ No newline at end of file
diff --git a/source/_posts/netease-eapi-music-recognize-reverse-3.md b/source/_posts/netease-eapi-music-recognize-reverse-3.md
index 91a82c8..0e1e7fe 100644
--- a/source/_posts/netease-eapi-music-recognize-reverse-3.md
+++ b/source/_posts/netease-eapi-music-recognize-reverse-3.md
@@ -1,5 +1,24 @@
---
-title: netease-eapi-music-recognize-reverse-3
+title: 网易云音乐听歌识曲 API 逆向 (三)
date: 2022-06-27 20:46:28
tags:
---
+
+闲来无事填一下坑
+
+根据 [这个 issue 的讨论](https://github.com/akinazuki/NeteaseCloudMusic-Audio-Recognize/issues/1)
+
+现在已经将 [NeteaseCloudMusic-Audio-Recognize](https://github.com/akinazuki/NeteaseCloudMusic-Audio-Recognize) 这个项目移植到了 Node.js上
+
+
+
+
+
+顺便吐槽一下 NPM 上的 `web-audio-api` 项目
+NPM 版的 `web-audio-api` 已经 7 年没更新了, 直接 `npm install web-audio-api` 安装的包完全不能用
+连 `AudioContext.decodeAudioData()` 方法都没有, 一开始还以为是自己的调用方式有问题
+但是它的示例代码里也是这样写的
+结果一翻 GitHub 上的代码, 发现 GitHub 上安装的版本和 NPM 上的版本完全不一样
+GitHub 上的版本是一直在更新的, 估计有在 Node.js 里解析 `AudioBuffer` 的不少人都会踩这个坑
+
+~~本项目由 Copilot 强力驱动~~
\ No newline at end of file
diff --git a/source/about/index.md b/source/about/index.md
new file mode 100644
index 0000000..36dac0b
--- /dev/null
+++ b/source/about/index.md
@@ -0,0 +1,24 @@
+---
+title: 关于
+date: 2022-08-16
+tags:
+---
+
+Bug Producer / ~~猫娘~~
+{% raw %}
+
+
「我啊,希望自己能做一个真正的的女孩子。」
+
「能够成为真正的女孩子的话,就算要付出自己的生命也没问题的吧。」
+
+{% endraw %}
+
+### 公钥
+```bash
+curl https://server.pub >> ~/.ssh/authorized_keys
+```
+
+OR
+
+```
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmStKmnnCJIIp2e5IQ43GuBHQrPwjLW7c6fXblGVVD5T/HO16zLYzrkKs5sqw1vd8u4UkKg6B6LyOSJOvjb+Qgit45Vgse9zfTJd+w/8lv0M0qhX+6NQidZxhyXYpS2sd/pANC5R1fRHKK57A6tpfCAnilFLClZDv8zhJPbQyOpoEsKn8obHvvlYkTHAohERPoEbeFtCpnP64ZG543OWQK1fmCyWu+gsc9UuY2kJLTU3Z9H0EdG/rQFTCgBMRNAf/mIvIF4sF6ine3h8xVe5jLHXqidFpxVX8K0KJqQQrAFKoVlH04YZyx+uCnrHSl3QHMy9FLWnAvpivJLZqgMaU5 nazuki@AkiNazuki-MBP
+```
\ No newline at end of file
diff --git a/source/labs/index.md b/source/labs/index.md
new file mode 100644
index 0000000..0e55612
--- /dev/null
+++ b/source/labs/index.md
@@ -0,0 +1,8 @@
+---
+title: 实验室
+date: 2022-08-16
+tags:
+---
+
+
+正在施工中...
\ No newline at end of file
diff --git a/source/links/index.md b/source/links/index.md
new file mode 100644
index 0000000..f060c7c
--- /dev/null
+++ b/source/links/index.md
@@ -0,0 +1,23 @@
+---
+title: Links
+date: 2022-08-16
+tags:
+---
+
+[Ayaka Neko](https://neko.ayaka.moe/)
+[Makito’s Notebook](https://mak1t0.cc/)
+[贫困的蚊子](https://qwq.moe/)
+[Nekoyue’s Blog](https://yue.moe/)
+[Yukari’s Blog](https://0w0.live/)
+[谦谦的博客](https://xqq.im/)
+[Sukka’s Blog](https://skk.moe/)
+[DIYgod](https://diygod.me/)
+[小新喵~](https://xin.moe/)
+[KK 的博客](https://ikk.me/)
+[小竹’s blog](https://blog.justforlxz.com/)
+[403 Forbidden](https://233.imjs.work/)
+[Sayaka’s Blog](https://baka.studio/)
+[QiroNT/blog](https://ntz.im/)
+[芝士部落格](https://chee5e.space/)
+[LinEvil’s Blog](https://linevil.net/)
+[Canarypwn’s Blog](https://aaaab3n.moe/)
\ No newline at end of file
From 4c8fa8fe450c07037fbc8a6d3cf66a029c32a2e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Fri, 26 Aug 2022 03:38:16 +0800
Subject: [PATCH 02/10] add rss generator
---
_config.yml | 15 +++++++++++++++
package.json | 1 +
pnpm-lock.yaml | 12 ++++++++++++
3 files changed, 28 insertions(+)
diff --git a/_config.yml b/_config.yml
index 6d40c2e..f253f51 100644
--- a/_config.yml
+++ b/_config.yml
@@ -103,3 +103,18 @@ theme: melody
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''
+
+
+feed:
+ enable: true
+ type: atom
+ path: atom.xml
+ limit: 20
+ hub:
+ content:
+ content_limit: 140
+ content_limit_delim: ' '
+ order_by: -date
+ icon: icon.png
+ autodiscovery: true
+ template:
\ No newline at end of file
diff --git a/package.json b/package.json
index 7e54ec0..6681a21 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"hexo": "^6.2.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-category": "^1.0.0",
+ "hexo-generator-feed": "^3.0.0",
"hexo-generator-index": "^2.0.0",
"hexo-generator-tag": "^1.0.0",
"hexo-renderer-ejs": "^2.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9e4c442..a0b7f82 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,7 @@ specifiers:
hexo: ^6.2.0
hexo-generator-archive: ^1.0.0
hexo-generator-category: ^1.0.0
+ hexo-generator-feed: ^3.0.0
hexo-generator-index: ^2.0.0
hexo-generator-tag: ^1.0.0
hexo-renderer-ejs: ^2.0.0
@@ -18,6 +19,7 @@ dependencies:
hexo: 6.2.0
hexo-generator-archive: 1.0.0
hexo-generator-category: 1.0.0
+ hexo-generator-feed: 3.0.0
hexo-generator-index: 2.0.0
hexo-generator-tag: 1.0.0
hexo-renderer-ejs: 2.0.0
@@ -716,6 +718,16 @@ packages:
hexo-pagination: 1.0.0
dev: false
+ /hexo-generator-feed/3.0.0:
+ resolution: {integrity: sha512-Jo35VSRSNeMitS2JmjCq3OHAXXYU4+JIODujHtubdG/NRj2++b3Tgyz9pwTmROx6Yxr2php/hC8og5AGZHh8UQ==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ hexo-util: 2.7.0
+ nunjucks: 3.2.3
+ transitivePeerDependencies:
+ - chokidar
+ dev: false
+
/hexo-generator-index/2.0.0:
resolution: {integrity: sha512-q/29Vj9BZs0dwBcF+s9IT8ymS4aYZsDwBEYDnh96C8tsX+KPY5v6TzCdttz58BchifaJpP/l9mi6u9rZuYqA0g==}
engines: {node: '>=10.13.0'}
From a0b52228050abf70df15e00c4d76e6ba9f51dc18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Wed, 23 Nov 2022 21:53:11 +0800
Subject: [PATCH 03/10] new post - receive google voice notification actively
---
...eive-google-voice-notification-actively.md | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 source/_posts/receive-google-voice-notification-actively.md
diff --git a/source/_posts/receive-google-voice-notification-actively.md b/source/_posts/receive-google-voice-notification-actively.md
new file mode 100644
index 0000000..55f7d6c
--- /dev/null
+++ b/source/_posts/receive-google-voice-notification-actively.md
@@ -0,0 +1,69 @@
+---
+title: 主动接收 Google Voice 通知推送
+date: 2022-11-23 19:58:35
+tags: reverse-engineering
+---
+
+
+## 前言
+
+~~其实只是想研究一下 GCM 通知推送的原理, 顺便看看 GCM 都有些什么有意思的玩法~~
+
+
+
+## 测试环境
+
+ - Android 12
+ - Google Voice 2022.10.31.485627509 (Play Store)
+ - macOS Ventura 13.0.1 (22A400)
+ - Surge & v2rayNG
+
+## 分析
+
+首先从抓包开始
+
+
+可以看到首次启动 APP 后直到进入主界面, Google Voice 客户端会发送多个请求, 其中我们需要关注的请求是向 `https://www.googleapis.com/voice/v1/voiceclient/api2notifications/registerdestination` 这个地址发送的 POST 请求, 其中包含了 GCM 推送使用到的 Token
+
+
+
+看起来 Google 使用了 Protobuf 来构造请求, 还好这个请求不太复杂,猜想应该也没有签名算法之类的, 我们可以手动构造 Protobuf 包
+
+需要注意的是这个 Protobuf 包还有一个长度参数在第 8 个字节, 从第 10 个字节开始到结束就是 GCM Token 本体
+
+换算一下 `A3` 的十进制表示是 `163`, 正好就是 GCM Token 的长度
+
+
+
+成功发送这个注册请求还需要一个 `Header` 中的 `Authorization` 参数, 这个参数是由 `https://android.googleapis.com/auth` 接口生成的, 在 APP 启动和授权 Token 过期时会重新请求生成, 对这个接口的相关讨论可以参考 [StackOverflow](https://stackoverflow.com/questions/22832104/how-can-i-see-hidden-app-data-in-google-drive) 上的讨论
+
+
+
+但是 `https://android.googleapis.com/auth` 接口也会依赖一个 `Token` 参数, 这个参数在设备上登陆 Google 账号时会生成, 所以如果要实现自动化的话, 还要想办法拿到这个参数, 幸好已经 [有人](https://github.com/89z/googleplay) 封装好框架了, 我也在这里封装了 [一个简单的获取 `aas_et` 参数的程序](https://github.com/akinazuki/google_aas_et_generate)
+
+理论上 auth 接口可以给任意使用 [Google 快速登录](https://developers.google.com/identity/one-tap/android/get-saved-credentials) 的 APP 和网页生成请求 Token
+
+现在回到最初的问题上: 我们已经知道了 GCM Token 会以某种形式发送到 Google 的服务器上, Google 服务器在需要的时候再使用这个 Token 来给客户端发送通知, 那有没有办法可以实现一个假的 GCM 客户端来接收 Google 发送的消息?
+
+答案是: 有
+
+众所周知 Chromium 浏览器是开源的, 所以我们可以直接参考 [Chromium 对 GCM 消息的实现](https://chromium.googlesource.com/chromium/chromium/+/trunk/google_apis/gcm) 来实现一个客户端, 太麻烦? 其实已经有人分析过了 [GCM 的原理](https://medium.com/@MatthieuLemoine/my-journey-to-bring-web-push-support-to-node-and-electron-ce70eea1c0b0), 并且封装了框架 [push-receiver](https://github.com/MatthieuLemoine/push-receiver)
+
+接下来是另一个问题: GCM 生成推送 Token 需要一个 `Sender ID`, 这个 ID 在 GCM 的后台可以看到, 但是我们目前并不知道这个 ID , 当然客户端里肯定有存, 但是 ~~今天不想逆向 APP 代码~~, 而且在我们的问题里有更简单的解决办法: 还是抓包
+
+在 GCM 进行注册的时候会向 `https://android.apis.google.com/c2dm/register3` 发送一个 POST 请求, 这个请求里会包含一个 `sender` 参数, 这个参数就是我们需要的 `Sender ID`
+
+
+
+拿到 `sender` 参数之后就可以配合前面的 [push-receiver](https://github.com/MatthieuLemoine/push-receiver) 库来接收 GCM 通知了
+
+使用 push-receiver 库提供的 `register(sender_id)` 函数来注册 GCM Token, 每次使用 `register(sender_id)` 都会产生不同的 GCM Token, 所以生成的 Token 需要持久化保存
+
+注册完成之后就可以使用 `listen(gcm_token, onNotification)` 来注册一个回调事件, 在收到通知后事件就会被调用
+
+
+## 最终效果
+
+
+
+相关代码可参考 [akinazuki/google-voice-notification](https://github.com/akinazuki/google-voice-notification) 与 [akinazuki/google_aas_et_generate](https://github.com/akinazuki/google_aas_et_generate)
\ No newline at end of file
From bc04cc9a4a45957ec29d46b059d0cc5230c414c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Sun, 11 Dec 2022 12:17:15 +0800
Subject: [PATCH 04/10] =?UTF-8?q?add=20link=20(=E4=B9=9D=E5=8F=B6=E7=9A=84?=
=?UTF-8?q?=E5=B0=8F=E7=AA=9D)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
source/links/index.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/links/index.md b/source/links/index.md
index f060c7c..5460f51 100644
--- a/source/links/index.md
+++ b/source/links/index.md
@@ -20,4 +20,5 @@ tags:
[QiroNT/blog](https://ntz.im/)
[芝士部落格](https://chee5e.space/)
[LinEvil’s Blog](https://linevil.net/)
-[Canarypwn’s Blog](https://aaaab3n.moe/)
\ No newline at end of file
+[Canarypwn’s Blog](https://aaaab3n.moe/)
+[九叶的小窝](https://qwq.ro)
\ No newline at end of file
From a7aa6223ae1361d2e29a4a31035cbf2edfd1eb71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Sat, 1 Jul 2023 21:04:52 +0900
Subject: [PATCH 05/10] =?UTF-8?q?new=20title:=20=E7=B1=B3=E5=AE=B6=20Andro?=
=?UTF-8?q?id=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E9=80=9A=E8=AE=AF=E5=8D=8F?=
=?UTF-8?q?=E8=AE=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_config.melody.yml | 2 +-
source/_posts/mihome-protocol.md | 134 +++++++++++++++++++++++++++++++
2 files changed, 135 insertions(+), 1 deletion(-)
create mode 100644 source/_posts/mihome-protocol.md
diff --git a/_config.melody.yml b/_config.melody.yml
index 62d2193..3fb3472 100644
--- a/_config.melody.yml
+++ b/_config.melody.yml
@@ -54,7 +54,7 @@ highlight_theme: default
social:
telegram fa: https://t.me/akinazuki
twitter fa: https://twitter.com/akinazuki
- envelope fa: mailto:i@natsuki.dev
+ envelope fa: mailto:i@moe.ci
github fa: https://github.com/akinazuki
rss fa: https://nazuki.moe/atom.xml
diff --git a/source/_posts/mihome-protocol.md b/source/_posts/mihome-protocol.md
new file mode 100644
index 0000000..203ee3b
--- /dev/null
+++ b/source/_posts/mihome-protocol.md
@@ -0,0 +1,134 @@
+---
+title: 米家 Android 客户端通讯协议
+date: 2023-07-01 00:00:00
+tags: reverse-engineering
+---
+
+
+## 前言
+
+大约四年前,我与[朵姐姐](https://keep.moe/)一起通过逆向工程揭示了[米家客户端旧版的通讯协议](https://github.com/akinazuki/mijia-api/tree/old)的秘密。然而,随着米家客户端的更新,这一旧版的通讯协议已经不再适用。
+
+本文基于米家 Android 8.5.704 客户端 (Google Play)
+
+
+
+## 返回的解密实现
+
+
+
+新版的加密算法增加了一个 `rc4_hash__` 字段,同时 `data` 字段从明文 JSON 转变为了一段密文。
+
+在详细了解之前,我们首先使用 jadx 工具进行代码审查。
+
+
+
+全局搜索字符串 `rc4_hash__` 找到了这几个调用的地方
+
+
+
+这看起来是一个用于为特定参数生成 SHA-1 签名的方法。接着我们尝试使用 Frida Hook 来验证我们的猜测。
+
+
+
+经过分析,我们得出这个方法的签名大概如下:
+
+```
+sign(method: string, path: string, params: { [key: string]: string }, key: string) : string
+```
+
+看起来这个 Key 是动态生成的, 继续往前追踪
+
+
+
+这个 key 由第 163 行的函数生成,而这个函数又依赖于第 158 行生成的 `nonce` 参数,函数生成的结果是一个经过 SHA-256 摘要的字符串,通过对合并 Buffer 的函数进行 Hook, 可以得知第一个参数 `miServiceTokenInfo2.OooOo0O` 是一个始终固定的值,在客户端中的定义叫做 `ssecurity` ,登陆米家时会从服务端获得并保存
+
+```java
+String nonce = i0a.OooO00o(miServiceTokenInfo2.OooOo0o); // 根据当前的时间戳除以 60000 并返回字符串
+String key = Version.Oooo0( // 转换为 Base-64 String
+ Version.o000OO0O( // SHA-256 Buffer
+ OooO0OO( //合并两个 Buffer
+ h0a.OooO00o(miServiceTokenInfo2.OooOo0O), // ssecurity Token
+ h0a.OooO00o(nonce)
+ )
+ )
+);
+```
+
+这个 key 在两个地方被使用:一个是上面提到的 `sign` 方法,另一个是第 170 行的 `k0a k0aVar = new k0a(key);` 这个类会使用 `key` 来构造一个加密解密的实例,我们将其跟踪进一步查看。
+
+
+
+猜测被证实,它初始化 `RC4Encryption` 实例后使用 1024 byte 的 0x00 来调用一次 `encrypt()` 函数。
+
+但是解密函数有一些独特,调用解密函数后,一个 bool 值将决定是否执行特定的操作。
+
+
+
+看起来是 GZIP 有关系, 返回的密文最外层是 RC4, 解密了之后就是一段 GZIP 流, GZIP 内容解压之后的内容应该就是明文的数据了
+
+
+
+
+尝试手动使用同样的参数解密一下试试看
+
+
+
+那么返回的解密实现就完成了
+
+## 请求的加密实现
+
+回顾前述的签名函数,我们可以发现它会被调用两次。首先,签名函数被用来计算 JSON body,接着,计算完整请求中的 signature 字段。以下是一个具体的例子:
+
+
+```
+Invoke Signature: POST /v2/homeroom/gethome with key Key: rf9CDGE+jEWDayyJ9CXzm5HlBwpGpI1rmFXiQdLftUU=
+key: data, value: {"fg":false,"fetch_share":true,"fetch_share_dev":true,"limit":300,"app_ver":7,"fetch_cariot":true}
+Invoke Signature result: NXh9A8ImXOBXCGiJ9KiPGtUsjkg=
+
+
+Invoke Signature: POST /v2/homeroom/gethome with key Key: rf9CDGE+jEWDayyJ9CXzm5HlBwpGpI1rmFXiQdLftUU=
+key: data, value: WGhH5jrYyj4aeqJ9nYCHJumbC23iVhBhOlvIns690YuWDTgeSASv+wh2uPFeaaElpdXfQz63s4Iv3MkTskmiIzafUxQNurIf+I8Y2Y3XfJuC93yBjFld9lA3cP3jVIbhmjY=
+key: rc4_hash__, value: Ng9eDjonPejap1L7cM/Zo/56jgF6z7KvkEgRWA==
+Invoke Signature result: N9ZuY3flWrPWb6RnUaTU77bJ4Ak=
+
+```
+
+在第一次调用过程中,只有 `data` 字段的明文。然后,第二次调用时,使用先前得到的 `rc4_hash__` 以及 `data` 字段,将这些数据经过 RC4 流加密,然后再作为签名参数计算,最终得到 `signature`。下面是部分代码实现:
+
+```typescript
+async buildSign(path: string, data: any) {
+ const nonce = this.generateNonce()
+ const key = await this.getRC4Key(nonce)
+ const query = {
+ data: JSON.stringify(data),
+ }
+ query["rc4_hash__"] = await this.sign('POST', path, query, key.toString('base64'))
+ const streamendEncrypt = await this.streamendEncrypt(nonce)
+ for (const key of Object.keys(query)) {
+ const value = query[key]
+ const encrypted = streamendEncrypt.encryptDecrypt(Buffer.from(value))
+ query[key] = encrypted.toString('base64')
+ }
+ query["signature"] = await this.sign('POST', path, query, key.toString('base64'))
+ query["_nonce"] = nonce.toString('base64')
+ return {
+ query,
+ nonce,
+ key,
+ }
+}
+```
+
+至此,我们完成了请求的加密实现。要构造请求所需要的 `ssecurity` 参数,我们可以通过抓取 Android 客户端下 `api.io.mi.com` 子域名的请求来获取(这看起来是一个 bug,因为在 Android 端的代码实现中,`ssecurity` 也作为参数提交到 API,但这个参数实际上并不需要被用到。在 iOS 的实现中,请求并没有带上这个参数)。如果无法通过抓包获取 `ssecurity` 参数,也可以通过模拟登录等方式获取,但这里不再详述。
+
+关于加密和解密的具体实现,可以参考 [akinazuki/mijia-api/proxy.ts](https://github.com/akinazuki/mijia-api/blob/master/proxy.ts)
+
+
+## 后记
+
+上一次逆向 Android 程序还是用的 Xposed, 每次都要重新编译一个 Xposed 模块, 然后再安装到手机上, 这次使用 Frida 之后, 发现 Frida 的使用体验要好很多, 也不需要重新编译模块, 只需要在电脑上安装好 Frida, 然后在手机上安装好 Frida Server, 就可以直接使用了
+
+## 参考
+
+[早苗の魔导典 - frida的配置与使用(从0到hook淘宝签名算法)](https://moe.me/2021/08/16/frida%E7%9A%84%E4%BD%BF%E7%94%A8%E4%B8%8E%E9%85%8D%E7%BD%AE/)
\ No newline at end of file
From 6daf83418cf1cad3f4b317dbbd13b2127e7fc02e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Sun, 2 Jul 2023 01:22:56 +0900
Subject: [PATCH 06/10] add google analytics id
---
_config.melody.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_config.melody.yml b/_config.melody.yml
index 3fb3472..53b9b56 100644
--- a/_config.melody.yml
+++ b/_config.melody.yml
@@ -96,10 +96,10 @@ fireworks: false
baidu_analytics:
# Format: UA-xxxxxxxxx-x
# Example: UA-123456789-0
-google_analytics:
+google_analytics: G-P6PHKT06YE
# Format: G-xxxxxxxxx
# Example: G-0A12345678
-google_analytics_MeasurementID:
+google_analytics_MeasurementID: G-P6PHKT06YE
# Tencent_analytics ID
tencent_analytics:
From 9ccfbec8f7693d01939c7dc7c48b70727659ce95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=8B=20=E5=A5=88=E6=9C=88?=
<43605695+akinazuki@users.noreply.github.com>
Date: Sun, 2 Jul 2023 01:35:32 +0900
Subject: [PATCH 07/10] update google analytics id
---
_config.melody.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_config.melody.yml b/_config.melody.yml
index 53b9b56..bcd91b0 100644
--- a/_config.melody.yml
+++ b/_config.melody.yml
@@ -96,10 +96,10 @@ fireworks: false
baidu_analytics:
# Format: UA-xxxxxxxxx-x
# Example: UA-123456789-0
-google_analytics: G-P6PHKT06YE
+google_analytics: UA-107762838-1
# Format: G-xxxxxxxxx
# Example: G-0A12345678
-google_analytics_MeasurementID: G-P6PHKT06YE
+google_analytics_MeasurementID: G-7EC5FT39PK
# Tencent_analytics ID
tencent_analytics:
From 7c0ead363adf188029b00d490c6c6372c437565d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 3 Aug 2023 06:34:26 +0000
Subject: [PATCH 08/10] Bump moment-timezone from 0.5.34 to 0.5.43
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.34 to 0.5.43.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.34...0.5.43)
---
updated-dependencies:
- dependency-name: moment-timezone
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
pnpm-lock.yaml | 625 +++++++++++++++++++++++++------------------------
1 file changed, 320 insertions(+), 305 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a0b7f82..5a05abd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,48 +1,63 @@
-lockfileVersion: 5.4
-
-specifiers:
- hexo: ^6.2.0
- hexo-generator-archive: ^1.0.0
- hexo-generator-category: ^1.0.0
- hexo-generator-feed: ^3.0.0
- hexo-generator-index: ^2.0.0
- hexo-generator-tag: ^1.0.0
- hexo-renderer-ejs: ^2.0.0
- hexo-renderer-marked: ^5.0.0
- hexo-renderer-pug: ^3.0.0
- hexo-renderer-stylus: ^2.1.0
- hexo-server: ^3.0.0
- hexo-theme-landscape: ^0.0.3
- hexo-theme-melody: ^1.9.1
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
dependencies:
- hexo: 6.2.0
- hexo-generator-archive: 1.0.0
- hexo-generator-category: 1.0.0
- hexo-generator-feed: 3.0.0
- hexo-generator-index: 2.0.0
- hexo-generator-tag: 1.0.0
- hexo-renderer-ejs: 2.0.0
- hexo-renderer-marked: 5.0.0
- hexo-renderer-pug: 3.0.0
- hexo-renderer-stylus: 2.1.0
- hexo-server: 3.0.0
- hexo-theme-landscape: 0.0.3
- hexo-theme-melody: 1.9.1
+ hexo:
+ specifier: ^6.2.0
+ version: 6.2.0
+ hexo-generator-archive:
+ specifier: ^1.0.0
+ version: 1.0.0
+ hexo-generator-category:
+ specifier: ^1.0.0
+ version: 1.0.0
+ hexo-generator-feed:
+ specifier: ^3.0.0
+ version: 3.0.0
+ hexo-generator-index:
+ specifier: ^2.0.0
+ version: 2.0.0
+ hexo-generator-tag:
+ specifier: ^1.0.0
+ version: 1.0.0
+ hexo-renderer-ejs:
+ specifier: ^2.0.0
+ version: 2.0.0
+ hexo-renderer-marked:
+ specifier: ^5.0.0
+ version: 5.0.0
+ hexo-renderer-pug:
+ specifier: ^3.0.0
+ version: 3.0.0
+ hexo-renderer-stylus:
+ specifier: ^2.1.0
+ version: 2.1.0
+ hexo-server:
+ specifier: ^3.0.0
+ version: 3.0.0
+ hexo-theme-landscape:
+ specifier: ^0.0.3
+ version: 0.0.3
+ hexo-theme-melody:
+ specifier: ^1.9.1
+ version: 1.9.1
packages:
- /@babel/helper-string-parser/7.18.10:
+ /@babel/helper-string-parser@7.18.10:
resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
engines: {node: '>=6.9.0'}
dev: false
- /@babel/helper-validator-identifier/7.18.6:
+ /@babel/helper-validator-identifier@7.18.6:
resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
engines: {node: '>=6.9.0'}
dev: false
- /@babel/parser/7.18.11:
+ /@babel/parser@7.18.11:
resolution: {integrity: sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -50,7 +65,7 @@ packages:
'@babel/types': 7.18.10
dev: false
- /@babel/types/7.18.10:
+ /@babel/types@7.18.10:
resolution: {integrity: sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==}
engines: {node: '>=6.9.0'}
dependencies:
@@ -59,24 +74,24 @@ packages:
to-fast-properties: 2.0.0
dev: false
- /@tootallnate/once/2.0.0:
+ /@tootallnate/once@2.0.0:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
dev: false
- /a-sync-waterfall/1.0.1:
+ /a-sync-waterfall@1.0.1:
resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==}
dev: false
- /abab/2.0.6:
+ /abab@2.0.6:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
dev: false
- /abbrev/1.1.1:
+ /abbrev@1.1.1:
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
dev: false
- /accepts/1.3.8:
+ /accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
dependencies:
@@ -84,31 +99,31 @@ packages:
negotiator: 0.6.3
dev: false
- /acorn-globals/6.0.0:
+ /acorn-globals@6.0.0:
resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
dependencies:
acorn: 7.4.1
acorn-walk: 7.2.0
dev: false
- /acorn-walk/7.2.0:
+ /acorn-walk@7.2.0:
resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
engines: {node: '>=0.4.0'}
dev: false
- /acorn/7.4.1:
+ /acorn@7.4.1:
resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: false
- /acorn/8.8.0:
+ /acorn@8.8.0:
resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: false
- /agent-base/6.0.2:
+ /agent-base@6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
dependencies:
@@ -117,19 +132,19 @@ packages:
- supports-color
dev: false
- /ansi-regex/5.0.1:
+ /ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
dev: false
- /ansi-styles/4.3.0:
+ /ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
dependencies:
color-convert: 2.0.1
dev: false
- /anymatch/3.1.2:
+ /anymatch@3.1.2:
resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
engines: {node: '>= 8'}
dependencies:
@@ -137,107 +152,107 @@ packages:
picomatch: 2.3.1
dev: false
- /archy/1.0.0:
+ /archy@1.0.0:
resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
dev: false
- /argparse/2.0.1:
+ /argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: false
- /asap/2.0.6:
+ /asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
dev: false
- /assert-never/1.2.1:
+ /assert-never@1.2.1:
resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==}
dev: false
- /async/3.2.4:
+ /async@3.2.4:
resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
dev: false
- /asynckit/0.4.0:
+ /asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: false
- /atob/2.1.2:
+ /atob@2.1.2:
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
engines: {node: '>= 4.5.0'}
hasBin: true
dev: false
- /babel-walk/3.0.0-canary-5:
+ /babel-walk@3.0.0-canary-5:
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
engines: {node: '>= 10.0.0'}
dependencies:
'@babel/types': 7.18.10
dev: false
- /balanced-match/1.0.2:
+ /balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: false
- /basic-auth/2.0.1:
+ /basic-auth@2.0.1:
resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
engines: {node: '>= 0.8'}
dependencies:
safe-buffer: 5.1.2
dev: false
- /binary-extensions/2.2.0:
+ /binary-extensions@2.2.0:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
dev: false
- /bluebird/3.7.2:
+ /bluebird@3.7.2:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
dev: false
- /brace-expansion/1.1.11:
+ /brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
dev: false
- /brace-expansion/2.0.1:
+ /brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
dependencies:
balanced-match: 1.0.2
dev: false
- /braces/3.0.2:
+ /braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
dependencies:
fill-range: 7.0.1
dev: false
- /browser-process-hrtime/1.0.0:
+ /browser-process-hrtime@1.0.0:
resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
dev: false
- /bytes/3.0.0:
+ /bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
dev: false
- /call-bind/1.0.2:
+ /call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
function-bind: 1.1.1
get-intrinsic: 1.1.2
dev: false
- /camel-case/4.1.2:
+ /camel-case@4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
dependencies:
pascal-case: 3.1.2
tslib: 2.4.0
dev: false
- /chalk/4.1.2:
+ /chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
dependencies:
@@ -245,13 +260,13 @@ packages:
supports-color: 7.2.0
dev: false
- /character-parser/2.2.0:
+ /character-parser@2.2.0:
resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==}
dependencies:
is-regex: 1.1.4
dev: false
- /chokidar/3.5.3:
+ /chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
dependencies:
@@ -266,41 +281,41 @@ packages:
fsevents: 2.3.2
dev: false
- /color-convert/2.0.1:
+ /color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
dependencies:
color-name: 1.1.4
dev: false
- /color-name/1.1.4:
+ /color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: false
- /combined-stream/1.0.8:
+ /combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
dependencies:
delayed-stream: 1.0.0
dev: false
- /command-exists/1.2.9:
+ /command-exists@1.2.9:
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
dev: false
- /commander/5.1.0:
+ /commander@5.1.0:
resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
engines: {node: '>= 6'}
dev: false
- /compressible/2.0.18:
+ /compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
dev: false
- /compression/1.7.4:
+ /compression@1.7.4:
resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -315,11 +330,11 @@ packages:
- supports-color
dev: false
- /concat-map/0.0.1:
+ /concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: false
- /connect/3.7.0:
+ /connect@3.7.0:
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
engines: {node: '>= 0.10.0'}
dependencies:
@@ -331,14 +346,14 @@ packages:
- supports-color
dev: false
- /constantinople/4.0.1:
+ /constantinople@4.0.1:
resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
dependencies:
'@babel/parser': 7.18.11
'@babel/types': 7.18.10
dev: false
- /cross-spawn/7.0.3:
+ /cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
dependencies:
@@ -347,7 +362,7 @@ packages:
which: 2.0.2
dev: false
- /css/3.0.0:
+ /css@3.0.0:
resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==}
dependencies:
inherits: 2.0.4
@@ -355,26 +370,26 @@ packages:
source-map-resolve: 0.6.0
dev: false
- /cssom/0.3.8:
+ /cssom@0.3.8:
resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
dev: false
- /cssom/0.5.0:
+ /cssom@0.5.0:
resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
dev: false
- /cssstyle/2.3.0:
+ /cssstyle@2.3.0:
resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
engines: {node: '>=8'}
dependencies:
cssom: 0.3.8
dev: false
- /cuid/2.1.8:
+ /cuid@2.1.8:
resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==}
dev: false
- /data-urls/3.0.2:
+ /data-urls@3.0.2:
resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
engines: {node: '>=12'}
dependencies:
@@ -383,7 +398,7 @@ packages:
whatwg-url: 11.0.0
dev: false
- /debug/2.6.9:
+ /debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
supports-color: '*'
@@ -394,7 +409,7 @@ packages:
ms: 2.0.0
dev: false
- /debug/4.3.4:
+ /debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
peerDependencies:
@@ -406,49 +421,49 @@ packages:
ms: 2.1.2
dev: false
- /decimal.js/10.3.1:
+ /decimal.js@10.3.1:
resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
dev: false
- /decode-uri-component/0.2.0:
+ /decode-uri-component@0.2.0:
resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==}
engines: {node: '>=0.10'}
dev: false
- /deep-is/0.1.4:
+ /deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: false
- /deepmerge/4.2.2:
+ /deepmerge@4.2.2:
resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
engines: {node: '>=0.10.0'}
dev: false
- /define-lazy-prop/2.0.0:
+ /define-lazy-prop@2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
engines: {node: '>=8'}
dev: false
- /delayed-stream/1.0.0:
+ /delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
dev: false
- /depd/2.0.0:
+ /depd@2.0.0:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
dev: false
- /destroy/1.2.0:
+ /destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
dev: false
- /doctypes/1.1.0:
+ /doctypes@1.1.0:
resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==}
dev: false
- /dom-serializer/1.4.1:
+ /dom-serializer@1.4.1:
resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
dependencies:
domelementtype: 2.3.0
@@ -456,29 +471,29 @@ packages:
entities: 2.2.0
dev: false
- /domelementtype/2.3.0:
+ /domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: false
- /domexception/4.0.0:
+ /domexception@4.0.0:
resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
engines: {node: '>=12'}
dependencies:
webidl-conversions: 7.0.0
dev: false
- /domhandler/4.3.1:
+ /domhandler@4.3.1:
resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
engines: {node: '>= 4'}
dependencies:
domelementtype: 2.3.0
dev: false
- /dompurify/2.3.10:
+ /dompurify@2.3.10:
resolution: {integrity: sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==}
dev: false
- /domutils/2.8.0:
+ /domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
dependencies:
dom-serializer: 1.4.1
@@ -486,11 +501,11 @@ packages:
domhandler: 4.3.1
dev: false
- /ee-first/1.1.1:
+ /ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: false
- /ejs/3.1.8:
+ /ejs@3.1.8:
resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==}
engines: {node: '>=0.10.0'}
hasBin: true
@@ -498,25 +513,25 @@ packages:
jake: 10.8.5
dev: false
- /encodeurl/1.0.2:
+ /encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
dev: false
- /entities/2.2.0:
+ /entities@2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
dev: false
- /entities/3.0.1:
+ /entities@3.0.1:
resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
engines: {node: '>=0.12'}
dev: false
- /escape-html/1.0.3:
+ /escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
dev: false
- /escodegen/2.0.0:
+ /escodegen@2.0.0:
resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
engines: {node: '>=6.0'}
hasBin: true
@@ -529,49 +544,49 @@ packages:
source-map: 0.6.1
dev: false
- /esprima/4.0.1:
+ /esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
hasBin: true
dev: false
- /estraverse/5.3.0:
+ /estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
dev: false
- /esutils/2.0.3:
+ /esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
dev: false
- /etag/1.8.1:
+ /etag@1.8.1:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
dev: false
- /fast-equals/3.0.3:
+ /fast-equals@3.0.3:
resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==}
dev: false
- /fast-levenshtein/2.0.6:
+ /fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: false
- /filelist/1.0.4:
+ /filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
dependencies:
minimatch: 5.1.0
dev: false
- /fill-range/7.0.1:
+ /fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
dependencies:
to-regex-range: 5.0.1
dev: false
- /finalhandler/1.1.2:
+ /finalhandler@1.1.2:
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
engines: {node: '>= 0.8'}
dependencies:
@@ -586,7 +601,7 @@ packages:
- supports-color
dev: false
- /form-data/4.0.0:
+ /form-data@4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
dependencies:
@@ -595,16 +610,16 @@ packages:
mime-types: 2.1.35
dev: false
- /fresh/0.5.2:
+ /fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
dev: false
- /fs.realpath/1.0.0:
+ /fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: false
- /fsevents/2.3.2:
+ /fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
@@ -612,11 +627,11 @@ packages:
dev: false
optional: true
- /function-bind/1.1.1:
+ /function-bind@1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: false
- /get-intrinsic/1.1.2:
+ /get-intrinsic@1.1.2:
resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==}
dependencies:
function-bind: 1.1.1
@@ -624,14 +639,14 @@ packages:
has-symbols: 1.0.3
dev: false
- /glob-parent/5.1.2:
+ /glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
dependencies:
is-glob: 4.0.3
dev: false
- /glob/7.2.3:
+ /glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
dependencies:
fs.realpath: 1.0.0
@@ -642,35 +657,35 @@ packages:
path-is-absolute: 1.0.1
dev: false
- /graceful-fs/4.2.10:
+ /graceful-fs@4.2.10:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
dev: false
- /has-flag/4.0.0:
+ /has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
dev: false
- /has-symbols/1.0.3:
+ /has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
dev: false
- /has-tostringtag/1.0.0:
+ /has-tostringtag@1.0.0:
resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
engines: {node: '>= 0.4'}
dependencies:
has-symbols: 1.0.3
dev: false
- /has/1.0.3:
+ /has@1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: 1.1.1
dev: false
- /hexo-cli/4.3.0:
+ /hexo-cli@4.3.0:
resolution: {integrity: sha512-lr46h1tK1RNQJAQZbzKYAWGsmqF5DLrW6xKEakqv/o9JqgdeempBjIm7HqjcZEUBpWij4EO65X6YJiDmT9LR7g==}
engines: {node: '>=10.13.0'}
hasBin: true
@@ -687,14 +702,14 @@ packages:
tildify: 2.0.0
dev: false
- /hexo-front-matter/3.0.0:
+ /hexo-front-matter@3.0.0:
resolution: {integrity: sha512-hSQTPUmB/BCe1BFYmXRkPyLk8rqbBqHCQq+rjwwOJuEfOADrFaVK2VPZb90tJzPyXE1xSxpgCxE/AZq0CyTVwg==}
engines: {node: '>=12.13.0'}
dependencies:
js-yaml: 4.1.0
dev: false
- /hexo-fs/3.1.0:
+ /hexo-fs@3.1.0:
resolution: {integrity: sha512-SfoDH7zlU9Iop+bAfEONXezbNIkpVX1QqjNCBYpapilZR+xVOCfTEdlNixanrKBbLGPb2fXqrdDBFgrKuiVGQQ==}
engines: {node: '>=10.13.0'}
dependencies:
@@ -704,21 +719,21 @@ packages:
hexo-util: 2.7.0
dev: false
- /hexo-generator-archive/1.0.0:
+ /hexo-generator-archive@1.0.0:
resolution: {integrity: sha512-24TeanDGpMBUIq37DHpSESQbeN6ssZ06edsGSI76tN4Yit50TgsgzP5g5DSu0yJk0jUtHJntysWE8NYAlFXibA==}
engines: {node: '>=8.6.0'}
dependencies:
hexo-pagination: 1.0.0
dev: false
- /hexo-generator-category/1.0.0:
+ /hexo-generator-category@1.0.0:
resolution: {integrity: sha512-kmtwT1SHYL2ismbGnYQXNtqLFSeTdtHNbJIqno3LKROpCK8ybST5QVXF1bZI9LkFcXV/H8ilt8gfg4/dNNcQQQ==}
engines: {node: '>=8.6.0'}
dependencies:
hexo-pagination: 1.0.0
dev: false
- /hexo-generator-feed/3.0.0:
+ /hexo-generator-feed@3.0.0:
resolution: {integrity: sha512-Jo35VSRSNeMitS2JmjCq3OHAXXYU4+JIODujHtubdG/NRj2++b3Tgyz9pwTmROx6Yxr2php/hC8og5AGZHh8UQ==}
engines: {node: '>=10.13.0'}
dependencies:
@@ -728,7 +743,7 @@ packages:
- chokidar
dev: false
- /hexo-generator-index/2.0.0:
+ /hexo-generator-index@2.0.0:
resolution: {integrity: sha512-q/29Vj9BZs0dwBcF+s9IT8ymS4aYZsDwBEYDnh96C8tsX+KPY5v6TzCdttz58BchifaJpP/l9mi6u9rZuYqA0g==}
engines: {node: '>=10.13.0'}
dependencies:
@@ -736,47 +751,47 @@ packages:
timsort: 0.3.0
dev: false
- /hexo-generator-tag/1.0.0:
+ /hexo-generator-tag@1.0.0:
resolution: {integrity: sha512-JDoB2T1EncRlyGSjuAhkGxRfKkN8tq0i8tFlk9I4q2L6iYxPaUnFenhji0oxufTADC16/IchuPjmMk//dt8Msg==}
engines: {node: '>=8.6.0'}
dependencies:
hexo-pagination: 1.0.0
dev: false
- /hexo-i18n/1.0.0:
+ /hexo-i18n@1.0.0:
resolution: {integrity: sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==}
engines: {node: '>=8.6.0'}
dependencies:
sprintf-js: 1.1.2
dev: false
- /hexo-log/2.0.0:
+ /hexo-log@2.0.0:
resolution: {integrity: sha512-U7zdDae74pXcyhQEyNmpJdq3UI6zWKxQ7/zLoMr/d3CBRdIfB5yO8DWqKUnewfibYv0gODyTWUIhxQDWuwloow==}
engines: {node: '>=10.13.0'}
dependencies:
chalk: 4.1.2
dev: false
- /hexo-log/3.1.0:
+ /hexo-log@3.1.0:
resolution: {integrity: sha512-19h2g1xItVx0voyoAU91+bvrRDCLfIvw12GyCug52cz0MeA31o/j3pO0DKcUXYTG7VrYGtP1xDnmFZWiDL5lnw==}
engines: {node: '>=12.4.0'}
dependencies:
picocolors: 1.0.0
dev: false
- /hexo-pagination/1.0.0:
+ /hexo-pagination@1.0.0:
resolution: {integrity: sha512-miEVFgxchPr2qNWxw0JWpJ9R/Yaf7HjHBZVjvCCcqfbsLyYtCvIfJDxcEwz1sDOC/fLzYPqNnhUI73uNxBHRSA==}
engines: {node: '>=8.6.0'}
dev: false
- /hexo-renderer-ejs/2.0.0:
+ /hexo-renderer-ejs@2.0.0:
resolution: {integrity: sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==}
engines: {node: '>=12'}
dependencies:
ejs: 3.1.8
dev: false
- /hexo-renderer-marked/5.0.0:
+ /hexo-renderer-marked@5.0.0:
resolution: {integrity: sha512-lifWMCvefTq3IlH+urQDPFX4gXquFAqDwOQBdqpwcPyhaiVHu0ZweeZ24IeZtCLRYP+zEgsksCPYrGl9hDDJHg==}
engines: {node: '>=12'}
dependencies:
@@ -791,24 +806,24 @@ packages:
- utf-8-validate
dev: false
- /hexo-renderer-pug/3.0.0:
+ /hexo-renderer-pug@3.0.0:
resolution: {integrity: sha512-PmbLx6VkNv+mPLOe97OC4F8iTzTuj665dSYN7bZKArd4M/q7gb2tNs29VGuAOC50i9tvWY2f+tPQimf0GZ9Hyw==}
engines: {node: '>=12.4.0'}
dependencies:
pug: 3.0.2
dev: false
- /hexo-renderer-stylus/2.1.0:
+ /hexo-renderer-stylus@2.1.0:
resolution: {integrity: sha512-Nef4YCr7JX8jaRaByhzXMSsWnDed+RgJj6aU/ARnYu3Bn5xz/qRz52VJG7KqD0Xuysxa9TIBdVUgNzBrSFn3DQ==}
engines: {node: '>=12.13.0'}
dependencies:
- nib: 1.2.0_stylus@0.57.0
+ nib: 1.2.0(stylus@0.57.0)
stylus: 0.57.0
transitivePeerDependencies:
- supports-color
dev: false
- /hexo-server/3.0.0:
+ /hexo-server@3.0.0:
resolution: {integrity: sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA==}
engines: {node: '>=12.13.0'}
dependencies:
@@ -824,15 +839,15 @@ packages:
- supports-color
dev: false
- /hexo-theme-landscape/0.0.3:
+ /hexo-theme-landscape@0.0.3:
resolution: {integrity: sha512-b0Di+TUVs4ESrNX4ULEh9uQmADpO6kr10rIJ2OGZM8suNQNFKdxn+vJUjnLfKkCPJAfVmS7/S83KCNYe4tpoNw==}
dev: false
- /hexo-theme-melody/1.9.1:
+ /hexo-theme-melody@1.9.1:
resolution: {integrity: sha512-YR7sdWgIOJIsxu3Vt3mjepqc3+c2xPKu5qhZA1rHTU07H8ejGTsLpYNnwxhyQA6jpxErHGSpFG+4B8ltTXQoXw==}
dev: false
- /hexo-util/2.7.0:
+ /hexo-util@2.7.0:
resolution: {integrity: sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==}
engines: {node: '>=12.4.0'}
dependencies:
@@ -846,7 +861,7 @@ packages:
strip-indent: 3.0.0
dev: false
- /hexo/6.2.0:
+ /hexo@6.2.0:
resolution: {integrity: sha512-HOpt3vUOz/T0rWTDb/CtWuBJwYARPwbpvGwsaz0RPu/l5I6AmKE+UA0lJZf14iPS3JIt/HiOcTZ3Qz22A+PE8w==}
engines: {node: '>=12.13.0'}
hasBin: true
@@ -865,7 +880,7 @@ packages:
micromatch: 4.0.5
moize: 6.1.1
moment: 2.29.4
- moment-timezone: 0.5.34
+ moment-timezone: 0.5.43
nunjucks: 3.2.3
picocolors: 1.0.0
pretty-hrtime: 1.0.3
@@ -879,19 +894,19 @@ packages:
- chokidar
dev: false
- /highlight.js/11.6.0:
+ /highlight.js@11.6.0:
resolution: {integrity: sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==}
engines: {node: '>=12.0.0'}
dev: false
- /html-encoding-sniffer/3.0.0:
+ /html-encoding-sniffer@3.0.0:
resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
engines: {node: '>=12'}
dependencies:
whatwg-encoding: 2.0.0
dev: false
- /htmlparser2/7.2.0:
+ /htmlparser2@7.2.0:
resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==}
dependencies:
domelementtype: 2.3.0
@@ -900,7 +915,7 @@ packages:
entities: 3.0.1
dev: false
- /http-errors/2.0.0:
+ /http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
dependencies:
@@ -911,7 +926,7 @@ packages:
toidentifier: 1.0.1
dev: false
- /http-proxy-agent/5.0.0:
+ /http-proxy-agent@5.0.0:
resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
engines: {node: '>= 6'}
dependencies:
@@ -922,7 +937,7 @@ packages:
- supports-color
dev: false
- /https-proxy-agent/5.0.1:
+ /https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
dependencies:
@@ -932,81 +947,81 @@ packages:
- supports-color
dev: false
- /iconv-lite/0.6.3:
+ /iconv-lite@0.6.3:
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
engines: {node: '>=0.10.0'}
dependencies:
safer-buffer: 2.1.2
dev: false
- /inflight/1.0.6:
+ /inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
dependencies:
once: 1.4.0
wrappy: 1.0.2
dev: false
- /inherits/2.0.4:
+ /inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: false
- /is-binary-path/2.1.0:
+ /is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
dependencies:
binary-extensions: 2.2.0
dev: false
- /is-core-module/2.10.0:
+ /is-core-module@2.10.0:
resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
dependencies:
has: 1.0.3
dev: false
- /is-docker/2.2.1:
+ /is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'}
hasBin: true
dev: false
- /is-expression/4.0.0:
+ /is-expression@4.0.0:
resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==}
dependencies:
acorn: 7.4.1
object-assign: 4.1.1
dev: false
- /is-extglob/2.1.1:
+ /is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
dev: false
- /is-glob/4.0.3:
+ /is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: 2.1.1
dev: false
- /is-number/7.0.0:
+ /is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
dev: false
- /is-plain-object/5.0.0:
+ /is-plain-object@5.0.0:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
dev: false
- /is-potential-custom-element-name/1.0.1:
+ /is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
dev: false
- /is-promise/2.2.2:
+ /is-promise@2.2.2:
resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
dev: false
- /is-regex/1.1.4:
+ /is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
dependencies:
@@ -1014,18 +1029,18 @@ packages:
has-tostringtag: 1.0.0
dev: false
- /is-wsl/2.2.0:
+ /is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
dependencies:
is-docker: 2.2.1
dev: false
- /isexe/2.0.0:
+ /isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: false
- /jake/10.8.5:
+ /jake@10.8.5:
resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==}
engines: {node: '>=10'}
hasBin: true
@@ -1036,24 +1051,24 @@ packages:
minimatch: 3.1.2
dev: false
- /js-stringify/1.0.2:
+ /js-stringify@1.0.2:
resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==}
dev: false
- /js-yaml-js-types/1.0.0:
+ /js-yaml-js-types@1.0.0:
resolution: {integrity: sha512-UNjPwuoaj4mcHkJCJSF6l4MgkzoFjG+JJkBXMYNvjgO3yE9gTeRt+E6PN022vduz/daZZ7HmlEiSEE36NrGE4w==}
dependencies:
esprima: 4.0.1
dev: false
- /js-yaml/4.1.0:
+ /js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
dependencies:
argparse: 2.0.1
dev: false
- /jsdom/19.0.0:
+ /jsdom@19.0.0:
resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==}
engines: {node: '>=12'}
peerDependencies:
@@ -1095,19 +1110,19 @@ packages:
- utf-8-validate
dev: false
- /jsonparse/1.3.1:
+ /jsonparse@1.3.1:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0}
dev: false
- /jstransformer/1.0.0:
+ /jstransformer@1.0.0:
resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==}
dependencies:
is-promise: 2.2.2
promise: 7.3.1
dev: false
- /levn/0.3.0:
+ /levn@0.3.0:
resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -1115,23 +1130,23 @@ packages:
type-check: 0.3.2
dev: false
- /lower-case/2.0.2:
+ /lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies:
tslib: 2.4.0
dev: false
- /marked/4.0.18:
+ /marked@4.0.18:
resolution: {integrity: sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==}
engines: {node: '>= 12'}
hasBin: true
dev: false
- /micro-memoize/4.0.11:
+ /micro-memoize@4.0.11:
resolution: {integrity: sha512-CjxsaYe4j43df32DtzzNCwanPqZjZDwuQAZilsCYpa2ZVtSPDjHXbTlR4gsEZRyO9/twHs0b7HLjvy/sowl7sA==}
dev: false
- /micromatch/4.0.5:
+ /micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
dependencies:
@@ -1139,70 +1154,70 @@ packages:
picomatch: 2.3.1
dev: false
- /mime-db/1.52.0:
+ /mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
dev: false
- /mime-types/2.1.35:
+ /mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
dev: false
- /mime/1.6.0:
+ /mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
engines: {node: '>=4'}
hasBin: true
dev: false
- /mime/3.0.0:
+ /mime@3.0.0:
resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
engines: {node: '>=10.0.0'}
hasBin: true
dev: false
- /min-indent/1.0.1:
+ /min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
dev: false
- /minimatch/3.1.2:
+ /minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
brace-expansion: 1.1.11
dev: false
- /minimatch/5.1.0:
+ /minimatch@5.1.0:
resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==}
engines: {node: '>=10'}
dependencies:
brace-expansion: 2.0.1
dev: false
- /minimist/1.2.6:
+ /minimist@1.2.6:
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
dev: false
- /moize/6.1.1:
+ /moize@6.1.1:
resolution: {integrity: sha512-6bryLehIBVByDdAkXhoaPP1fknkoq1hNPmVCDYIb/w5zwfidT02zLSto1uGbmnv1GKu02ysgAEaJ5Ic7QQaGQA==}
dependencies:
fast-equals: 3.0.3
micro-memoize: 4.0.11
dev: false
- /moment-timezone/0.5.34:
- resolution: {integrity: sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==}
+ /moment-timezone@0.5.43:
+ resolution: {integrity: sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==}
dependencies:
moment: 2.29.4
dev: false
- /moment/2.29.4:
+ /moment@2.29.4:
resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==}
dev: false
- /morgan/1.10.0:
+ /morgan@1.10.0:
resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -1215,24 +1230,24 @@ packages:
- supports-color
dev: false
- /ms/2.0.0:
+ /ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
dev: false
- /ms/2.1.2:
+ /ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: false
- /ms/2.1.3:
+ /ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
dev: false
- /negotiator/0.6.3:
+ /negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
dev: false
- /nib/1.2.0_stylus@0.57.0:
+ /nib@1.2.0(stylus@0.57.0):
resolution: {integrity: sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==}
peerDependencies:
stylus: '*'
@@ -1240,19 +1255,19 @@ packages:
stylus: 0.57.0
dev: false
- /no-case/3.0.4:
+ /no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies:
lower-case: 2.0.2
tslib: 2.4.0
dev: false
- /normalize-path/3.0.0:
+ /normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
dev: false
- /nunjucks/3.2.3:
+ /nunjucks@3.2.3:
resolution: {integrity: sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ==}
engines: {node: '>= 6.9.0'}
hasBin: true
@@ -1267,41 +1282,41 @@ packages:
commander: 5.1.0
dev: false
- /nwsapi/2.2.1:
+ /nwsapi@2.2.1:
resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==}
dev: false
- /object-assign/4.1.1:
+ /object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
dev: false
- /on-finished/2.3.0:
+ /on-finished@2.3.0:
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
engines: {node: '>= 0.8'}
dependencies:
ee-first: 1.1.1
dev: false
- /on-finished/2.4.1:
+ /on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
dependencies:
ee-first: 1.1.1
dev: false
- /on-headers/1.0.2:
+ /on-headers@1.0.2:
resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
engines: {node: '>= 0.8'}
dev: false
- /once/1.4.0:
+ /once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
dev: false
- /open/8.4.0:
+ /open@8.4.0:
resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
engines: {node: '>=12'}
dependencies:
@@ -1310,7 +1325,7 @@ packages:
is-wsl: 2.2.0
dev: false
- /optionator/0.8.3:
+ /optionator@0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -1322,71 +1337,71 @@ packages:
word-wrap: 1.2.3
dev: false
- /parse5/6.0.1:
+ /parse5@6.0.1:
resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
dev: false
- /parseurl/1.3.3:
+ /parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
dev: false
- /pascal-case/3.1.2:
+ /pascal-case@3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
dependencies:
no-case: 3.0.4
tslib: 2.4.0
dev: false
- /path-is-absolute/1.0.1:
+ /path-is-absolute@1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
dev: false
- /path-key/3.1.1:
+ /path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
dev: false
- /path-parse/1.0.7:
+ /path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: false
- /picocolors/1.0.0:
+ /picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: false
- /picomatch/2.3.1:
+ /picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
dev: false
- /prelude-ls/1.1.2:
+ /prelude-ls@1.1.2:
resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
engines: {node: '>= 0.8.0'}
dev: false
- /pretty-hrtime/1.0.3:
+ /pretty-hrtime@1.0.3:
resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
engines: {node: '>= 0.8'}
dev: false
- /prismjs/1.28.0:
+ /prismjs@1.28.0:
resolution: {integrity: sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==}
engines: {node: '>=6'}
dev: false
- /promise/7.3.1:
+ /promise@7.3.1:
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
dependencies:
asap: 2.0.6
dev: false
- /psl/1.9.0:
+ /psl@1.9.0:
resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
dev: false
- /pug-attrs/3.0.0:
+ /pug-attrs@3.0.0:
resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==}
dependencies:
constantinople: 4.0.1
@@ -1394,7 +1409,7 @@ packages:
pug-runtime: 3.0.1
dev: false
- /pug-code-gen/3.0.2:
+ /pug-code-gen@3.0.2:
resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==}
dependencies:
constantinople: 4.0.1
@@ -1407,11 +1422,11 @@ packages:
with: 7.0.2
dev: false
- /pug-error/2.0.0:
+ /pug-error@2.0.0:
resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==}
dev: false
- /pug-filters/4.0.0:
+ /pug-filters@4.0.0:
resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==}
dependencies:
constantinople: 4.0.1
@@ -1421,7 +1436,7 @@ packages:
resolve: 1.22.1
dev: false
- /pug-lexer/5.0.1:
+ /pug-lexer@5.0.1:
resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==}
dependencies:
character-parser: 2.2.0
@@ -1429,42 +1444,42 @@ packages:
pug-error: 2.0.0
dev: false
- /pug-linker/4.0.0:
+ /pug-linker@4.0.0:
resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==}
dependencies:
pug-error: 2.0.0
pug-walk: 2.0.0
dev: false
- /pug-load/3.0.0:
+ /pug-load@3.0.0:
resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==}
dependencies:
object-assign: 4.1.1
pug-walk: 2.0.0
dev: false
- /pug-parser/6.0.0:
+ /pug-parser@6.0.0:
resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==}
dependencies:
pug-error: 2.0.0
token-stream: 1.0.0
dev: false
- /pug-runtime/3.0.1:
+ /pug-runtime@3.0.1:
resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==}
dev: false
- /pug-strip-comments/2.0.0:
+ /pug-strip-comments@2.0.0:
resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==}
dependencies:
pug-error: 2.0.0
dev: false
- /pug-walk/2.0.0:
+ /pug-walk@2.0.0:
resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==}
dev: false
- /pug/3.0.2:
+ /pug@3.0.2:
resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==}
dependencies:
pug-code-gen: 3.0.2
@@ -1477,17 +1492,17 @@ packages:
pug-strip-comments: 2.0.0
dev: false
- /punycode/2.1.1:
+ /punycode@2.1.1:
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
engines: {node: '>=6'}
dev: false
- /range-parser/1.2.1:
+ /range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
dev: false
- /readable-stream/3.6.0:
+ /readable-stream@3.6.0:
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
engines: {node: '>= 6'}
dependencies:
@@ -1496,14 +1511,14 @@ packages:
util-deprecate: 1.0.2
dev: false
- /readdirp/3.6.0:
+ /readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
dependencies:
picomatch: 2.3.1
dev: false
- /resolve/1.22.1:
+ /resolve@1.22.1:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
hasBin: true
dependencies:
@@ -1512,34 +1527,34 @@ packages:
supports-preserve-symlinks-flag: 1.0.0
dev: false
- /rfdc/1.3.0:
+ /rfdc@1.3.0:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
dev: false
- /safe-buffer/5.1.2:
+ /safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
dev: false
- /safe-buffer/5.2.1:
+ /safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: false
- /safer-buffer/2.1.2:
+ /safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
dev: false
- /sax/1.2.4:
+ /sax@1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
dev: false
- /saxes/5.0.1:
+ /saxes@5.0.1:
resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
engines: {node: '>=10'}
dependencies:
xmlchars: 2.2.0
dev: false
- /send/0.18.0:
+ /send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -1560,7 +1575,7 @@ packages:
- supports-color
dev: false
- /serve-static/1.15.0:
+ /serve-static@1.15.0:
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
engines: {node: '>= 0.8.0'}
dependencies:
@@ -1572,23 +1587,23 @@ packages:
- supports-color
dev: false
- /setprototypeof/1.2.0:
+ /setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
dev: false
- /shebang-command/2.0.0:
+ /shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
dependencies:
shebang-regex: 3.0.0
dev: false
- /shebang-regex/3.0.0:
+ /shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
dev: false
- /source-map-resolve/0.6.0:
+ /source-map-resolve@0.6.0:
resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==}
deprecated: See https://github.com/lydell/source-map-resolve#deprecated
dependencies:
@@ -1596,51 +1611,51 @@ packages:
decode-uri-component: 0.2.0
dev: false
- /source-map/0.6.1:
+ /source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
dev: false
- /source-map/0.7.4:
+ /source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
engines: {node: '>= 8'}
dev: false
- /sprintf-js/1.1.2:
+ /sprintf-js@1.1.2:
resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==}
dev: false
- /statuses/1.5.0:
+ /statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
dev: false
- /statuses/2.0.1:
+ /statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
dev: false
- /string_decoder/1.3.0:
+ /string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
dependencies:
safe-buffer: 5.2.1
dev: false
- /strip-ansi/6.0.1:
+ /strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
dependencies:
ansi-regex: 5.0.1
dev: false
- /strip-indent/3.0.0:
+ /strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
engines: {node: '>=8'}
dependencies:
min-indent: 1.0.1
dev: false
- /stylus/0.57.0:
+ /stylus@0.57.0:
resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==}
hasBin: true
dependencies:
@@ -1654,68 +1669,68 @@ packages:
- supports-color
dev: false
- /supports-color/7.2.0:
+ /supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
dependencies:
has-flag: 4.0.0
dev: false
- /supports-preserve-symlinks-flag/1.0.0:
+ /supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
dev: false
- /symbol-tree/3.2.4:
+ /symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
dev: false
- /text-table/0.2.0:
+ /text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: false
- /through2/4.0.2:
+ /through2@4.0.2:
resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
dependencies:
readable-stream: 3.6.0
dev: false
- /tildify/2.0.0:
+ /tildify@2.0.0:
resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==}
engines: {node: '>=8'}
dev: false
- /timsort/0.3.0:
+ /timsort@0.3.0:
resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==}
dev: false
- /titlecase/1.1.3:
+ /titlecase@1.1.3:
resolution: {integrity: sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==}
hasBin: true
dev: false
- /to-fast-properties/2.0.0:
+ /to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
dev: false
- /to-regex-range/5.0.1:
+ /to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
dependencies:
is-number: 7.0.0
dev: false
- /toidentifier/1.0.1:
+ /toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
dev: false
- /token-stream/1.0.0:
+ /token-stream@1.0.0:
resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==}
dev: false
- /tough-cookie/4.0.0:
+ /tough-cookie@4.0.0:
resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
engines: {node: '>=6'}
dependencies:
@@ -1724,67 +1739,67 @@ packages:
universalify: 0.1.2
dev: false
- /tr46/3.0.0:
+ /tr46@3.0.0:
resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
engines: {node: '>=12'}
dependencies:
punycode: 2.1.1
dev: false
- /tslib/2.4.0:
+ /tslib@2.4.0:
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
dev: false
- /type-check/0.3.2:
+ /type-check@0.3.2:
resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
engines: {node: '>= 0.8.0'}
dependencies:
prelude-ls: 1.1.2
dev: false
- /universalify/0.1.2:
+ /universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
dev: false
- /unpipe/1.0.0:
+ /unpipe@1.0.0:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
dev: false
- /util-deprecate/1.0.2:
+ /util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: false
- /utils-merge/1.0.1:
+ /utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
dev: false
- /vary/1.1.2:
+ /vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
dev: false
- /void-elements/3.1.0:
+ /void-elements@3.1.0:
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
engines: {node: '>=0.10.0'}
dev: false
- /w3c-hr-time/1.0.2:
+ /w3c-hr-time@1.0.2:
resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
dependencies:
browser-process-hrtime: 1.0.0
dev: false
- /w3c-xmlserializer/3.0.0:
+ /w3c-xmlserializer@3.0.0:
resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==}
engines: {node: '>=12'}
dependencies:
xml-name-validator: 4.0.0
dev: false
- /warehouse/4.0.2:
+ /warehouse@4.0.2:
resolution: {integrity: sha512-GixS7SolBGu81rnxYM6bScxdElLM97Jx/kr0a6B6PGBWFqvHeuWFj7QbgEX1YWZSxiJt/aR6dBVQKC/PvvihdQ==}
engines: {node: '>=10.13.0'}
dependencies:
@@ -1798,24 +1813,24 @@ packages:
through2: 4.0.2
dev: false
- /webidl-conversions/7.0.0:
+ /webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
dev: false
- /whatwg-encoding/2.0.0:
+ /whatwg-encoding@2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
dependencies:
iconv-lite: 0.6.3
dev: false
- /whatwg-mimetype/3.0.0:
+ /whatwg-mimetype@3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
engines: {node: '>=12'}
dev: false
- /whatwg-url/10.0.0:
+ /whatwg-url@10.0.0:
resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==}
engines: {node: '>=12'}
dependencies:
@@ -1823,7 +1838,7 @@ packages:
webidl-conversions: 7.0.0
dev: false
- /whatwg-url/11.0.0:
+ /whatwg-url@11.0.0:
resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
engines: {node: '>=12'}
dependencies:
@@ -1831,7 +1846,7 @@ packages:
webidl-conversions: 7.0.0
dev: false
- /which/2.0.2:
+ /which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
@@ -1839,7 +1854,7 @@ packages:
isexe: 2.0.0
dev: false
- /with/7.0.2:
+ /with@7.0.2:
resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
engines: {node: '>= 10.0.0'}
dependencies:
@@ -1849,16 +1864,16 @@ packages:
babel-walk: 3.0.0-canary-5
dev: false
- /word-wrap/1.2.3:
+ /word-wrap@1.2.3:
resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
engines: {node: '>=0.10.0'}
dev: false
- /wrappy/1.0.2:
+ /wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: false
- /ws/8.8.1:
+ /ws@8.8.1:
resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
engines: {node: '>=10.0.0'}
peerDependencies:
@@ -1871,11 +1886,11 @@ packages:
optional: true
dev: false
- /xml-name-validator/4.0.0:
+ /xml-name-validator@4.0.0:
resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
engines: {node: '>=12'}
dev: false
- /xmlchars/2.2.0:
+ /xmlchars@2.2.0:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
dev: false
From 1336b6e552e9ea61ab5aa9967bf94f3037030c54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=98=A5=E6=B2=B3=E6=99=B4?=
Date: Fri, 18 Aug 2023 00:24:02 +0900
Subject: [PATCH 09/10] update deps
---
package.json | 18 +--
pnpm-lock.yaml | 341 +++++++++++++++++++++++++++----------------------
2 files changed, 194 insertions(+), 165 deletions(-)
diff --git a/package.json b/package.json
index 6681a21..7fab949 100644
--- a/package.json
+++ b/package.json
@@ -9,21 +9,21 @@
"server": "hexo server"
},
"hexo": {
- "version": "6.2.0"
+ "version": "6.3.0"
},
"dependencies": {
- "hexo": "^6.2.0",
- "hexo-generator-archive": "^1.0.0",
- "hexo-generator-category": "^1.0.0",
+ "hexo": "^6.3.0",
+ "hexo-generator-archive": "^2.0.0",
+ "hexo-generator-category": "^2.0.0",
"hexo-generator-feed": "^3.0.0",
- "hexo-generator-index": "^2.0.0",
- "hexo-generator-tag": "^1.0.0",
+ "hexo-generator-index": "^3.0.0",
+ "hexo-generator-tag": "^2.0.0",
"hexo-renderer-ejs": "^2.0.0",
- "hexo-renderer-marked": "^5.0.0",
+ "hexo-renderer-marked": "^6.1.1",
"hexo-renderer-pug": "^3.0.0",
- "hexo-renderer-stylus": "^2.1.0",
+ "hexo-renderer-stylus": "^3.0.0",
"hexo-server": "^3.0.0",
- "hexo-theme-landscape": "^0.0.3",
+ "hexo-theme-landscape": "^1.0.0",
"hexo-theme-melody": "^1.9.1"
}
}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5a05abd..ae79afb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,47 +6,51 @@ settings:
dependencies:
hexo:
- specifier: ^6.2.0
- version: 6.2.0
+ specifier: ^6.3.0
+ version: 6.3.0
hexo-generator-archive:
- specifier: ^1.0.0
- version: 1.0.0
+ specifier: ^2.0.0
+ version: 2.0.0
hexo-generator-category:
- specifier: ^1.0.0
- version: 1.0.0
+ specifier: ^2.0.0
+ version: 2.0.0
hexo-generator-feed:
specifier: ^3.0.0
version: 3.0.0
hexo-generator-index:
+ specifier: ^3.0.0
+ version: 3.0.0
+ hexo-generator-tag:
specifier: ^2.0.0
version: 2.0.0
- hexo-generator-tag:
- specifier: ^1.0.0
- version: 1.0.0
hexo-renderer-ejs:
specifier: ^2.0.0
version: 2.0.0
hexo-renderer-marked:
- specifier: ^5.0.0
- version: 5.0.0
+ specifier: ^6.1.1
+ version: 6.1.1
hexo-renderer-pug:
specifier: ^3.0.0
version: 3.0.0
hexo-renderer-stylus:
- specifier: ^2.1.0
- version: 2.1.0
+ specifier: ^3.0.0
+ version: 3.0.0
hexo-server:
specifier: ^3.0.0
version: 3.0.0
hexo-theme-landscape:
- specifier: ^0.0.3
- version: 0.0.3
+ specifier: ^1.0.0
+ version: 1.0.0
hexo-theme-melody:
specifier: ^1.9.1
version: 1.9.1
packages:
+ /@adobe/css-tools@4.3.1:
+ resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==}
+ dev: false
+
/@babel/helper-string-parser@7.18.10:
resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
engines: {node: '>=6.9.0'}
@@ -99,15 +103,15 @@ packages:
negotiator: 0.6.3
dev: false
- /acorn-globals@6.0.0:
- resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
+ /acorn-globals@7.0.1:
+ resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
dependencies:
- acorn: 7.4.1
- acorn-walk: 7.2.0
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
dev: false
- /acorn-walk@7.2.0:
- resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ /acorn-walk@8.2.0:
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
engines: {node: '>=0.4.0'}
dev: false
@@ -117,8 +121,8 @@ packages:
hasBin: true
dev: false
- /acorn@8.8.0:
- resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: false
@@ -176,12 +180,6 @@ packages:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: false
- /atob@2.1.2:
- resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
- engines: {node: '>= 4.5.0'}
- hasBin: true
- dev: false
-
/babel-walk@3.0.0-canary-5:
resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
engines: {node: '>= 10.0.0'}
@@ -229,10 +227,6 @@ packages:
fill-range: 7.0.1
dev: false
- /browser-process-hrtime@1.0.0:
- resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
- dev: false
-
/bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
@@ -362,14 +356,6 @@ packages:
which: 2.0.2
dev: false
- /css@3.0.0:
- resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==}
- dependencies:
- inherits: 2.0.4
- source-map: 0.6.1
- source-map-resolve: 0.6.0
- dev: false
-
/cssom@0.3.8:
resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
dev: false
@@ -387,6 +373,7 @@ packages:
/cuid@2.1.8:
resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==}
+ deprecated: Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.
dev: false
/data-urls@3.0.2:
@@ -421,13 +408,8 @@ packages:
ms: 2.1.2
dev: false
- /decimal.js@10.3.1:
- resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
- dev: false
-
- /decode-uri-component@0.2.0:
- resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==}
- engines: {node: '>=0.10'}
+ /decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
dev: false
/deep-is@0.1.4:
@@ -471,6 +453,14 @@ packages:
entities: 2.2.0
dev: false
+ /dom-serializer@2.0.0:
+ resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ entities: 4.5.0
+ dev: false
+
/domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: false
@@ -489,8 +479,15 @@ packages:
domelementtype: 2.3.0
dev: false
- /dompurify@2.3.10:
- resolution: {integrity: sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==}
+ /domhandler@5.0.3:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: false
+
+ /dompurify@3.0.5:
+ resolution: {integrity: sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==}
dev: false
/domutils@2.8.0:
@@ -501,6 +498,14 @@ packages:
domhandler: 4.3.1
dev: false
+ /domutils@3.1.0:
+ resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ dev: false
+
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: false
@@ -527,6 +532,11 @@ packages:
engines: {node: '>=0.12'}
dev: false
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: false
+
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
dev: false
@@ -719,18 +729,18 @@ packages:
hexo-util: 2.7.0
dev: false
- /hexo-generator-archive@1.0.0:
- resolution: {integrity: sha512-24TeanDGpMBUIq37DHpSESQbeN6ssZ06edsGSI76tN4Yit50TgsgzP5g5DSu0yJk0jUtHJntysWE8NYAlFXibA==}
- engines: {node: '>=8.6.0'}
+ /hexo-generator-archive@2.0.0:
+ resolution: {integrity: sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==}
+ engines: {node: '>=14'}
dependencies:
- hexo-pagination: 1.0.0
+ hexo-pagination: 3.0.0
dev: false
- /hexo-generator-category@1.0.0:
- resolution: {integrity: sha512-kmtwT1SHYL2ismbGnYQXNtqLFSeTdtHNbJIqno3LKROpCK8ybST5QVXF1bZI9LkFcXV/H8ilt8gfg4/dNNcQQQ==}
- engines: {node: '>=8.6.0'}
+ /hexo-generator-category@2.0.0:
+ resolution: {integrity: sha512-9OduRBf3WeRDa4BR0kAfRjOVHur7v3fm0NKAwbjUiqULigAdNZVZPO3cHKW2MlBbl/lI5PuWdhQ9zZ99CCCAgQ==}
+ engines: {node: '>=14'}
dependencies:
- hexo-pagination: 1.0.0
+ hexo-pagination: 3.0.0
dev: false
/hexo-generator-feed@3.0.0:
@@ -743,19 +753,18 @@ packages:
- chokidar
dev: false
- /hexo-generator-index@2.0.0:
- resolution: {integrity: sha512-q/29Vj9BZs0dwBcF+s9IT8ymS4aYZsDwBEYDnh96C8tsX+KPY5v6TzCdttz58BchifaJpP/l9mi6u9rZuYqA0g==}
- engines: {node: '>=10.13.0'}
+ /hexo-generator-index@3.0.0:
+ resolution: {integrity: sha512-83AuNN4cWdLVi//3ugR8E3kR6rrOwhXZt+hOCm1IjtIGj353/GlrtpMHpqZHU5kqipzj4miy9dweVdukXglVWw==}
+ engines: {node: '>=14'}
dependencies:
- hexo-pagination: 1.0.0
- timsort: 0.3.0
+ hexo-pagination: 3.0.0
dev: false
- /hexo-generator-tag@1.0.0:
- resolution: {integrity: sha512-JDoB2T1EncRlyGSjuAhkGxRfKkN8tq0i8tFlk9I4q2L6iYxPaUnFenhji0oxufTADC16/IchuPjmMk//dt8Msg==}
- engines: {node: '>=8.6.0'}
+ /hexo-generator-tag@2.0.0:
+ resolution: {integrity: sha512-1px/hF3veEohWDN8jjzchQhaiz+uOStUvvMaBJC9vWOlALh30UFcapL8IrvAwwJZjFRVA+WqGgDRqoQ8+yaaFw==}
+ engines: {node: '>=14'}
dependencies:
- hexo-pagination: 1.0.0
+ hexo-pagination: 3.0.0
dev: false
/hexo-i18n@1.0.0:
@@ -772,16 +781,16 @@ packages:
chalk: 4.1.2
dev: false
- /hexo-log@3.1.0:
- resolution: {integrity: sha512-19h2g1xItVx0voyoAU91+bvrRDCLfIvw12GyCug52cz0MeA31o/j3pO0DKcUXYTG7VrYGtP1xDnmFZWiDL5lnw==}
+ /hexo-log@3.2.0:
+ resolution: {integrity: sha512-fk7jOW3hvKiAv4Q/d8UxaQlARwcv+5KjGcnxexUrqBqyWbMCLmw7jhMHTSRLNNQpaoTlF5ff+kQkPi4yhp9iag==}
engines: {node: '>=12.4.0'}
dependencies:
picocolors: 1.0.0
dev: false
- /hexo-pagination@1.0.0:
- resolution: {integrity: sha512-miEVFgxchPr2qNWxw0JWpJ9R/Yaf7HjHBZVjvCCcqfbsLyYtCvIfJDxcEwz1sDOC/fLzYPqNnhUI73uNxBHRSA==}
- engines: {node: '>=8.6.0'}
+ /hexo-pagination@3.0.0:
+ resolution: {integrity: sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==}
+ engines: {node: '>=14'}
dev: false
/hexo-renderer-ejs@2.0.0:
@@ -791,14 +800,14 @@ packages:
ejs: 3.1.8
dev: false
- /hexo-renderer-marked@5.0.0:
- resolution: {integrity: sha512-lifWMCvefTq3IlH+urQDPFX4gXquFAqDwOQBdqpwcPyhaiVHu0ZweeZ24IeZtCLRYP+zEgsksCPYrGl9hDDJHg==}
- engines: {node: '>=12'}
+ /hexo-renderer-marked@6.1.1:
+ resolution: {integrity: sha512-vllmRFwl9A1NP/llQW2TbDnyvqaQKgktxXw7c+tK7XVQJmfIUnl32dr8M4jRYqYe5m9972eYm09kBXV8rBtA/A==}
+ engines: {node: '>=14'}
dependencies:
- dompurify: 2.3.10
- hexo-util: 2.7.0
- jsdom: 19.0.0
- marked: 4.0.18
+ dompurify: 3.0.5
+ hexo-util: 3.1.0
+ jsdom: 20.0.3
+ marked: 4.3.0
transitivePeerDependencies:
- bufferutil
- canvas
@@ -813,12 +822,12 @@ packages:
pug: 3.0.2
dev: false
- /hexo-renderer-stylus@2.1.0:
- resolution: {integrity: sha512-Nef4YCr7JX8jaRaByhzXMSsWnDed+RgJj6aU/ARnYu3Bn5xz/qRz52VJG7KqD0Xuysxa9TIBdVUgNzBrSFn3DQ==}
- engines: {node: '>=12.13.0'}
+ /hexo-renderer-stylus@3.0.0:
+ resolution: {integrity: sha512-wgKOcjUzq1i4Y70luoyYDbh91QeQcDzJO+v1598LgY+IdREFAm+vy1MWtl/TZsVXyPaEtsULNi3Vi22hdsPUSA==}
+ engines: {node: '>=14'}
dependencies:
- nib: 1.2.0(stylus@0.57.0)
- stylus: 0.57.0
+ nib: 1.2.0(stylus@0.59.0)
+ stylus: 0.59.0
transitivePeerDependencies:
- supports-color
dev: false
@@ -839,8 +848,8 @@ packages:
- supports-color
dev: false
- /hexo-theme-landscape@0.0.3:
- resolution: {integrity: sha512-b0Di+TUVs4ESrNX4ULEh9uQmADpO6kr10rIJ2OGZM8suNQNFKdxn+vJUjnLfKkCPJAfVmS7/S83KCNYe4tpoNw==}
+ /hexo-theme-landscape@1.0.0:
+ resolution: {integrity: sha512-bWQJWMqQI78wWiJPQZq5pJBH20TM442ShCaHGRetuEgMraxH0OKxB3NTupJzNEkzEk8DV2yrdizkXdKN6i501A==}
dev: false
/hexo-theme-melody@1.9.1:
@@ -861,8 +870,22 @@ packages:
strip-indent: 3.0.0
dev: false
- /hexo@6.2.0:
- resolution: {integrity: sha512-HOpt3vUOz/T0rWTDb/CtWuBJwYARPwbpvGwsaz0RPu/l5I6AmKE+UA0lJZf14iPS3JIt/HiOcTZ3Qz22A+PE8w==}
+ /hexo-util@3.1.0:
+ resolution: {integrity: sha512-LmztAhkJHQ59VHqz6AnvwEKiNA0pCBBI0qW08cCzjhnpGoqZ8tlGDwElzy7oTxCvMChkiqg5V8VflhdI8tHsGg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dependencies:
+ camel-case: 4.1.2
+ cross-spawn: 7.0.3
+ deepmerge: 4.2.2
+ highlight.js: 11.6.0
+ htmlparser2: 9.0.0
+ prismjs: 1.29.0
+ strip-indent: 3.0.0
+ dev: false
+
+ /hexo@6.3.0:
+ resolution: {integrity: sha512-4Jq+rWd8sYvR1YdIQyndN/9WboQ/Mqm6eax8CjrjO+ePFm2oMVafSOx9WEyJ42wcLOHjfyMfnlQhnUuNmJIpPg==}
engines: {node: '>=12.13.0'}
hasBin: true
dependencies:
@@ -873,7 +896,7 @@ packages:
hexo-front-matter: 3.0.0
hexo-fs: 3.1.0
hexo-i18n: 1.0.0
- hexo-log: 3.1.0
+ hexo-log: 3.2.0
hexo-util: 2.7.0
js-yaml: 4.1.0
js-yaml-js-types: 1.0.0
@@ -915,6 +938,15 @@ packages:
entities: 3.0.1
dev: false
+ /htmlparser2@9.0.0:
+ resolution: {integrity: sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+ domutils: 3.1.0
+ entities: 4.5.0
+ dev: false
+
/http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
@@ -1068,9 +1100,9 @@ packages:
argparse: 2.0.1
dev: false
- /jsdom@19.0.0:
- resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==}
- engines: {node: '>=12'}
+ /jsdom@20.0.3:
+ resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
+ engines: {node: '>=14'}
peerDependencies:
canvas: ^2.5.0
peerDependenciesMeta:
@@ -1078,12 +1110,12 @@ packages:
optional: true
dependencies:
abab: 2.0.6
- acorn: 8.8.0
- acorn-globals: 6.0.0
+ acorn: 8.10.0
+ acorn-globals: 7.0.1
cssom: 0.5.0
cssstyle: 2.3.0
data-urls: 3.0.2
- decimal.js: 10.3.1
+ decimal.js: 10.4.3
domexception: 4.0.0
escodegen: 2.0.0
form-data: 4.0.0
@@ -1091,18 +1123,17 @@ packages:
http-proxy-agent: 5.0.0
https-proxy-agent: 5.0.1
is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.1
- parse5: 6.0.1
- saxes: 5.0.1
+ nwsapi: 2.2.7
+ parse5: 7.1.2
+ saxes: 6.0.0
symbol-tree: 3.2.4
- tough-cookie: 4.0.0
- w3c-hr-time: 1.0.2
- w3c-xmlserializer: 3.0.0
+ tough-cookie: 4.1.3
+ w3c-xmlserializer: 4.0.0
webidl-conversions: 7.0.0
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
- whatwg-url: 10.0.0
- ws: 8.8.1
+ whatwg-url: 11.0.0
+ ws: 8.13.0
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
@@ -1136,8 +1167,8 @@ packages:
tslib: 2.4.0
dev: false
- /marked@4.0.18:
- resolution: {integrity: sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==}
+ /marked@4.3.0:
+ resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
engines: {node: '>= 12'}
hasBin: true
dev: false
@@ -1247,12 +1278,12 @@ packages:
engines: {node: '>= 0.6'}
dev: false
- /nib@1.2.0(stylus@0.57.0):
+ /nib@1.2.0(stylus@0.59.0):
resolution: {integrity: sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==}
peerDependencies:
stylus: '*'
dependencies:
- stylus: 0.57.0
+ stylus: 0.59.0
dev: false
/no-case@3.0.4:
@@ -1282,8 +1313,8 @@ packages:
commander: 5.1.0
dev: false
- /nwsapi@2.2.1:
- resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==}
+ /nwsapi@2.2.7:
+ resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
dev: false
/object-assign@4.1.1:
@@ -1337,8 +1368,10 @@ packages:
word-wrap: 1.2.3
dev: false
- /parse5@6.0.1:
- resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+ /parse5@7.1.2:
+ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
+ dependencies:
+ entities: 4.5.0
dev: false
/parseurl@1.3.3:
@@ -1391,6 +1424,11 @@ packages:
engines: {node: '>=6'}
dev: false
+ /prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+ dev: false
+
/promise@7.3.1:
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
dependencies:
@@ -1497,6 +1535,10 @@ packages:
engines: {node: '>=6'}
dev: false
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: false
+
/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -1518,6 +1560,10 @@ packages:
picomatch: 2.3.1
dev: false
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: false
+
/resolve@1.22.1:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
hasBin: true
@@ -1547,9 +1593,9 @@ packages:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
dev: false
- /saxes@5.0.1:
- resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
- engines: {node: '>=10'}
+ /saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
dependencies:
xmlchars: 2.2.0
dev: false
@@ -1603,18 +1649,12 @@ packages:
engines: {node: '>=8'}
dev: false
- /source-map-resolve@0.6.0:
- resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==}
- deprecated: See https://github.com/lydell/source-map-resolve#deprecated
- dependencies:
- atob: 2.1.2
- decode-uri-component: 0.2.0
- dev: false
-
/source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
+ requiresBuild: true
dev: false
+ optional: true
/source-map@0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
@@ -1655,14 +1695,13 @@ packages:
min-indent: 1.0.1
dev: false
- /stylus@0.57.0:
- resolution: {integrity: sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==}
+ /stylus@0.59.0:
+ resolution: {integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==}
hasBin: true
dependencies:
- css: 3.0.0
+ '@adobe/css-tools': 4.3.1
debug: 4.3.4
glob: 7.2.3
- safer-buffer: 2.1.2
sax: 1.2.4
source-map: 0.7.4
transitivePeerDependencies:
@@ -1700,10 +1739,6 @@ packages:
engines: {node: '>=8'}
dev: false
- /timsort@0.3.0:
- resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==}
- dev: false
-
/titlecase@1.1.3:
resolution: {integrity: sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==}
hasBin: true
@@ -1730,13 +1765,14 @@ packages:
resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==}
dev: false
- /tough-cookie@4.0.0:
- resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
+ /tough-cookie@4.1.3:
+ resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
engines: {node: '>=6'}
dependencies:
psl: 1.9.0
punycode: 2.1.1
- universalify: 0.1.2
+ universalify: 0.2.0
+ url-parse: 1.5.10
dev: false
/tr46@3.0.0:
@@ -1757,8 +1793,8 @@ packages:
prelude-ls: 1.1.2
dev: false
- /universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ /universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
dev: false
@@ -1767,6 +1803,13 @@ packages:
engines: {node: '>= 0.8'}
dev: false
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: false
+
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: false
@@ -1786,15 +1829,9 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /w3c-hr-time@1.0.2:
- resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
- dependencies:
- browser-process-hrtime: 1.0.0
- dev: false
-
- /w3c-xmlserializer@3.0.0:
- resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==}
- engines: {node: '>=12'}
+ /w3c-xmlserializer@4.0.0:
+ resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
+ engines: {node: '>=14'}
dependencies:
xml-name-validator: 4.0.0
dev: false
@@ -1806,7 +1843,7 @@ packages:
bluebird: 3.7.2
cuid: 2.1.8
graceful-fs: 4.2.10
- hexo-log: 3.1.0
+ hexo-log: 3.2.0
is-plain-object: 5.0.0
jsonparse: 1.3.1
rfdc: 1.3.0
@@ -1830,14 +1867,6 @@ packages:
engines: {node: '>=12'}
dev: false
- /whatwg-url@10.0.0:
- resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==}
- engines: {node: '>=12'}
- dependencies:
- tr46: 3.0.0
- webidl-conversions: 7.0.0
- dev: false
-
/whatwg-url@11.0.0:
resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
engines: {node: '>=12'}
@@ -1873,12 +1902,12 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: false
- /ws@8.8.1:
- resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
+ /ws@8.13.0:
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
+ utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
bufferutil:
optional: true
From f616e3230adfe4bb4db640214789b2a2eebd669d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 17 Aug 2023 15:25:16 +0000
Subject: [PATCH 10/10] Bump word-wrap from 1.2.3 to 1.2.5
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)
---
updated-dependencies:
- dependency-name: word-wrap
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
pnpm-lock.yaml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ae79afb..4f3d199 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1365,7 +1365,7 @@ packages:
levn: 0.3.0
prelude-ls: 1.1.2
type-check: 0.3.2
- word-wrap: 1.2.3
+ word-wrap: 1.2.5
dev: false
/parse5@7.1.2:
@@ -1893,8 +1893,8 @@ packages:
babel-walk: 3.0.0-canary-5
dev: false
- /word-wrap@1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
+ /word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
dev: false