大意了,没有闪

 支持官方端发送的 `com.tencent.map` 地图定位显示,使用高德地图的 js API,在 Apple 设备上点击将唤起系统的地图。API key 是我自己的,使用免费额度,如果你打算自行构建使用,建议更换 env 中的 key。
🎨 卡片组件现在由单独的组件负责,便于扩展
🐛 #61 #62 连接协议判断失效
 部分程序参数移到了 env 里
💚 [build-electron]
This commit is contained in:
stapxs 2023-05-23 11:10:31 +08:00
parent bbaef71c64
commit d612f53ec4
12 changed files with 260 additions and 305 deletions

3
.env Normal file
View File

@ -0,0 +1,3 @@
VUE_APP_GA=G-ZQ88GPJRGH
VUE_APP_AMAP_KEY=99b8849d7b67f05e9f834bde4108f0f9
VUE_APP_AMAP_SECRET=e9ac5aac621defdd6bb111b55fb75d73

View File

@ -1,6 +1,6 @@
{
"name": "stapxs-qq-lite",
"version": "2.5.5",
"version": "2.5.7",
"private": false,
"author": "Stapx Steve [林槐]",
"description": "一个兼容 oicq-http 的非官方网页版 QQ 客户端,使用 Vue 重制的全新版本。",
@ -33,7 +33,6 @@
"register-service-worker": "^1.7.2",
"semver-compare": "^1.0.0",
"spacingjs": "^1.0.7",
"svg-sprite-loader": "^6.0.11",
"ts-loader": "~8.2.0",
"ts-md5": "^1.3.1",
"uuidv4": "^6.2.13",

View File

@ -17,4 +17,6 @@
<div id="app"></div>
</body>
<script src="Border-Card-UI/js/main.js"></script>
<script src="https://webapi.amap.com/loader.js"></script>
<script src="js/amap.js"></script>
</html>

20
public/js/amap.js Normal file
View File

@ -0,0 +1,20 @@
window.createMap = function (key, msgId, point) {
if (key == undefined || point == undefined) return
AMapLoader.load({
key: key,
version: "2.0",
}).then((AMap) => {
const map = new AMap.Map('map-' + msgId, {
viewMode: '2D',
zoom: 15,
center: [point.lng, point.lat]
});
const marker = new AMap.Marker({
position: [point.lng, point.lat]
})
map.add(marker)
}).catch((e) => {
throw e
})
}

View File

@ -478,12 +478,15 @@ export default defineComponent({
const { property } = useState()
if (property) {
property.value = {
id: 'G-ZQ88GPJRGH'
id: process.env.VUE_APP_GA
} as DomainConfig
}
} else if (process.env.NODE_ENV == 'development') {
logger.debug(this.$t('log_GA_auto_closed'))
}
// AMAP
window._AMapSecurityConfig =
process.env.VUE_APP_AMAP_SECRET
//
const appVersion = appInfo.version
const cacheVersion = localStorage.getItem('version')

View File

@ -74,9 +74,8 @@
<video v-if="item.url" controls><source :src="item.url" type="video/mp4"></video>
<div v-else-if="!getVideo" :class="getVideoUrl(item, data.message_id)"></div>
</div>
<div v-else-if="item.type == 'xml'" v-html="View.buildXML(item.data, item.id, data.message_id)" @click="View.cardClick('xml-' + data.message_id)"></div>
<div v-else-if="item.type == 'json'" v-html="View.buildJSON(item.data, data.message_id)" @click="View.cardClick('json-' + data.message_id)">
</div>
<CardMessage
v-else-if="item.type == 'xml' || item.type == 'json'" :item="item" :id="data.message_id"></CardMessage>
<span v-else-if="item.type == 'forward'" class="msg-unknown" @click="View.getForwardMsg(item.id)">{{ $t('chat_show_forward') }}</span>
<div :data-seq="getSeq(item.id).toString()" @click="scrollToMsg(getSeq(item.id).toString())" v-else-if="item.type == 'reply'" :class="isMe ? (type == 'merge' ? 'msg-replay' : 'msg-replay me') : 'msg-replay'">
@ -115,6 +114,7 @@
import Util from '@/function/util'
import Option from '@/function/option'
import CardMessage from './msg-component/CardMessage.vue'
import { MsgBodyFuns as ViewFuns } from '@/function/model/msg-body'
import { defineComponent } from 'vue'
@ -127,6 +127,7 @@ import { StringifyOptions } from 'querystring'
export default defineComponent({
name: 'MsgBody',
props: ['data', 'type'],
components: { CardMessage },
data () {
return {
getSizeFromBytes: Util.getSizeFromBytes,

View File

@ -0,0 +1,118 @@
<!--
* @FileDescription: 卡片消息消息组件
* @Author: Stapxs
* @Date: 2023/05/23
* @Version: 1.0 - 初始版本
* @Description: 卡片消息的单独组件由于卡片消息的类型过于复杂越写越乱所以单独写一个组件
同时也是为了优化消息刷新机制的性能可以对不同的卡片类型设置 v-once
-->
<!--
附加补充
这儿主要针对更复杂的 json 卡片消息 xml 类型的卡片消息因为自定义性比 json
其实已经被官方放弃了除了比较旧的一些卡片消息现在基本上都是 json 类型的卡片消息
-->
<template>
<div>
<div v-if="item.type == 'xml'" v-html="View.buildXML(item.data, item.id, id)" @click="View.cardClick('xml-' + id)"></div>
<div v-else>
<div v-if="info.type == 'default'" v-html="buildJSON(info, id)" @click="View.cardClick('json-' + id)"></div>
<div v-once v-else-if="info.type == 'tencent.map'" class="msg-comp-map" @click="View.cardClick('map-' + id)">
<p>{{ info.app.title }}</p>
<span>{{ info.app.desc }}</span>
<div
class="map"
:data-url="createMap()"
data-urlOpenType="_self"
:id="'map-' + id"></div>
</div>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import { MsgBodyFuns as ViewFuns } from '@/function/model/msg-body'
export default defineComponent({
name: 'CardMessage',
props: [ 'item', 'id' ],
components: {},
data() {
return {
View: ViewFuns,
info: ViewFuns.getJSONType(this.item.data),
}
},
methods: {
/**
* 构建基础 JSON 消息
* @param info 卡片信息
* @param id 消息 ID
*/
buildJSON(data: any, id: string) {
const info = data.app
const div = document.createElement('div')
// HTML
const html = '<p>' + info.title + '</p>' +
'<span>' + info.desc + '</span>' +
'<img style="' + (info.preview === undefined ? 'display:none' : '') + '" src="' + info.preview + '">' +
(info.name ? '<div><img src="' + info.icon + '"><span>' + info.name + '</span></div>' : '')
div.className = 'msg-json'
div.id = 'json-' + id
div.dataset.url = info.url
div.dataset.urlOpenType = info.urlOpenType
div.innerHTML = html
//
if(Object.keys(data.append).length > 0) {
// append div
for(const key in data.append) {
div.dataset[key] = data.append[key]
}
}
//
return div.outerHTML
},
/**
* 创建高德地图模块
*/
createMap() {
const json = JSON.parse(this.item.data)
window.createMap(
process.env.VUE_APP_AMAP_KEY,
this.id,
{
lat: json.meta['Location.Search'].lat,
lng: json.meta['Location.Search'].lng
}
)
return this.info.app.url
}
}
})
</script>
<style scoped>
.msg-comp-map {
cursor: pointer;
}
.msg-comp-map > p {
font-weight: bold;
margin-bottom: 0;
}
.msg-comp-map > span {
font-size: 0.9rem;
opacity: 0.7;
}
.msg-comp-map > div.map {
height: 200px;
border-radius: 7px;
margin-top: 10px;
width: 400px;
max-width: calc(100vw - 150px);
pointer-events: none;
}
</style>

View File

@ -81,13 +81,18 @@ export class Connector {
parse(e.data)
}
websocket.onclose = (e) => {
login.status = false
websocket = undefined
switch(e.code) {
case 1000: break; // 正常关闭
case 1006: { // 非正常关闭,尝试重连
this.create(address, token, undefined)
if(login.status) {
this.create(address, token, undefined)
} else {
// PS由于创建连接失败也会触发此事件所以需要判断是否已经登录
// 尝试使用 ws 连接
this.create(address, token, false)
}
break;
}
case 1015: { // TSL 错误,尝试使用 ws 连接
@ -95,17 +100,22 @@ export class Connector {
break;
}
default: {
logger.error($t('pop_log_con_fail') + ': ' + e.code)
popInfo.add(PopType.ERR, $t('pop_log_con_fail') + ': ' + e.code, false)
console.log(e)
}
}
logger.error($t('pop_log_con_fail') + ': ' + e.code)
login.status = false
// 除了 1006 意外断开(可能要保留数据重连),其他情况都会清空
if(e.code != 1006) {
resetRimtime()
}
}
websocket.onerror = (e) => {
popInfo.add(PopType.ERR, $t('pop_log_con_fail') + ': ' + e.type, false)
return
}
}
/**

View File

@ -116,64 +116,77 @@ export class MsgBodyFuns {
}
/**
* JSON
* @param data JSON
* @param msgId ID
* @returns
* JSON
* @param data JSON
* @returns appInfo
*/
static buildJSON(data: string, msgId: string) {
static getJSON(json: any) {
// 解析 JSON
const json = JSON.parse(data)
const body = json.meta[Object.keys(json.meta)[0]]
// App 信息
let name = body.tag === undefined ? body.title : body.tag
let icon = body.icon === undefined ? body.source_icon : body.icon
const app = {} as {[key: string]: any}
let title = body.title
let desc = body.desc
app.name = body.tag === undefined ? body.title : body.tag
app.icon = body.icon === undefined ? body.source_icon : body.icon
let preview = body.preview
if (preview !== undefined && preview.indexOf('http') === -1) preview = '//' + preview
app.title = body.title
app.desc = body.desc
const div = document.createElement('div')
app.preview = body.preview
if (app.preview !== undefined && app.preview.indexOf('http') === -1) app.preview = '//' + app.preview
// 一些特殊判定
app.url = body.qqdocurl === undefined ? body.jumpUrl : body.qqdocurl
return app
}
/**
* JSON
* @param data JSON
* @returns { type: string, app: any }
*/
static getJSONType(data: string) {
const json = JSON.parse(data)
const info = this.getJSON(json)
let type = 'default'
const append = {} as {[key: string]: any}
// 下面就是一大堆特殊判定
if (json.desc === '群公告') {
title = json.desc
desc = json.prompt
preview = undefined
icon = ''
name = json.desc
info.title = json.desc
info.desc = json.prompt
info.preview = undefined
info.icon = ''
info.name = json.desc
}
if(json.desc.indexOf('聊天记录') >= 1) {
title = json.meta.detail.source
desc = '<div style="padding: 15px 20px 5px 20px">'
info.title = json.meta.detail.source
info.desc = '<div style="padding: 15px 20px 5px 20px">'
json.meta.detail.news.forEach((item: any) => {
desc += '<span>' + item.text + '</span><br>'
info.desc += '<span>' + item.text + '</span><br>'
})
desc += '</div>'
icon = ''
name = json.meta.detail.summary
info.desc += '</div>'
info.icon = ''
info.name = json.meta.detail.summary
div.dataset.type = 'forward'
div.dataset.id = json.meta.detail.resid
div.style.cursor = 'pointer'
append.type = 'forward'
append.id = json.meta.detail.resid
}
if(json.app == 'com.tencent.map') {
info.title = json.meta['Location.Search'].name
append.urlOpenType = '_self'
const deviceType = util.getDeviceType()
if(deviceType == 'Android') {
info.url = 'geo:' + json.meta['Location.Search'].lat + ',' + json.meta['Location.Search'].lng
} else if(deviceType == 'iOS' || deviceType == 'MacOS') {
info.url = 'http://maps.apple.com/?ll=' + json.meta['Location.Search'].lat + ',' + json.meta['Location.Search'].lng +
'&q=' + json.meta['Location.Search'].name
}
info.desc = json.meta['Location.Search'].address
type = 'tencent.map'
}
const url = body.qqdocurl === undefined ? body.jumpUrl : body.qqdocurl
// 构建 HTML
const html = '<p>' + title + '</p>' +
'<span>' + desc + '</span>' +
'<img style="' + (preview === undefined ? 'display:none' : '') + '" src="' + preview + '">' +
'<div><img src="' + icon + '"><span>' + name + '</span></div>'
div.className = 'msg-json'
div.id = 'json-' + msgId
div.dataset.url = url
div.innerHTML = html
// 返回
return div.outerHTML
return { type, app: info, append }
}
/**
@ -186,7 +199,13 @@ export class MsgBodyFuns {
const type = sender.dataset.type
// 如果存在 url 项,优先打开 url
if (sender.dataset.url !== undefined && sender.dataset.url !== 'undefined' && sender.dataset.url !== '') {
util.openLink(sender.dataset.url)
const openType = sender.dataset.urlOpenType || sender.dataset.urlopentype
if(openType == '_self') {
window.open(sender.dataset.url, '_self')
} else {
// 默认都以 _blank 打开
util.openLink(sender.dataset.url)
}
return
}
// 接下来按类型处理

View File

@ -736,6 +736,23 @@ export function reloadUsers() {
Connector.send('get_class_info', {}, "getClassInfo")
}
/**
* iOSMacOS
*/
export function getDeviceType() {
const userAgent = navigator.userAgent
if (userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1) {
return 'Android'
// eslint-disable-next-line
} else if (!!userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
return 'iOS'
} else if (userAgent.indexOf('Mac OS X') > -1) {
return 'MacOS'
} else {
return 'Other'
}
}
export default {
openLink,
getTrueLang,
@ -751,5 +768,6 @@ export default {
randomNum,
downloadFile,
getSizeFromBytes,
reloadUsers
reloadUsers,
getDeviceType
}

7
src/shims-vue.d.ts vendored
View File

@ -11,5 +11,10 @@ declare module '*.txt' {
}
declare interface Window {
moYu: any;
moYu: any
_AMapSecurityConfig: string | undefined
createMap: (key: string | undefined, msgId: string, point: {
lat: number,
lng: number
}) => void
}

259
yarn.lock
View File

@ -3183,7 +3183,7 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
braces@^2.2.2, braces@^2.3.1, braces@^2.3.2:
braces@^2.3.1, braces@^2.3.2:
version "2.3.2"
resolved "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
@ -3781,11 +3781,6 @@ clone@^1.0.2:
resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@ -4393,11 +4388,6 @@ deep-is@^0.1.3:
resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
deepmerge@1.3.2:
version "1.3.2"
resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
integrity sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==
deepmerge@^1.5.2:
version "1.5.2"
resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
@ -4595,14 +4585,6 @@ dom-converter@^0.2.0:
dependencies:
utila "~0.4"
dom-serializer@0:
version "0.2.2"
resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
dependencies:
domelementtype "^2.0.1"
entities "^2.0.0"
dom-serializer@^1.0.1:
version "1.4.1"
resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
@ -4617,23 +4599,11 @@ domain-browser@^1.1.1:
resolved "https://registry.npmmirror.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
domelementtype@1, domelementtype@^1.3.1:
version "1.3.1"
resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1, domelementtype@^2.2.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
domhandler@^2.3.0:
version "2.4.2"
resolved "https://registry.npmmirror.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
dependencies:
domelementtype "1"
domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
version "4.3.1"
resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
@ -4641,19 +4611,6 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
dependencies:
domelementtype "^2.2.0"
domready@1.0.8:
version "1.0.8"
resolved "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c"
integrity sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==
domutils@^1.5.1:
version "1.7.0"
resolved "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
dependencies:
dom-serializer "0"
domelementtype "1"
domutils@^2.5.2, domutils@^2.8.0:
version "2.8.0"
resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
@ -4897,11 +4854,6 @@ enquirer@^2.3.5:
dependencies:
ansi-colors "^4.1.1"
entities@^1.1.1:
version "1.1.2"
resolved "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
entities@^2.0.0:
version "2.2.0"
resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
@ -4997,7 +4949,7 @@ escape-html@~1.0.3:
resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
@ -5330,7 +5282,7 @@ extend@~3.0.2:
resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
extglob@^2.0.2, extglob@^2.0.4:
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
@ -5964,11 +5916,6 @@ has-bigints@^1.0.1, has-bigints@^1.0.2:
resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@ -6073,7 +6020,7 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
he@^1.1.1, he@^1.2.0:
he@^1.2.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@ -6153,18 +6100,6 @@ html-webpack-plugin@^5.1.0:
pretty-error "^4.0.0"
tapable "^2.0.0"
htmlparser2@^3.8.3:
version "3.10.1"
resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
dependencies:
domelementtype "^1.3.1"
domhandler "^2.3.0"
domutils "^1.5.1"
entities "^1.1.1"
inherits "^2.0.1"
readable-stream "^3.1.1"
htmlparser2@^6.1.0:
version "6.1.0"
resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
@ -6319,11 +6254,6 @@ ignore@^5.2.0:
resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c"
integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==
image-size@^0.5.1:
version "0.5.5"
resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==
immediate@~3.0.5:
version "3.0.6"
resolved "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
@ -6656,11 +6586,6 @@ is-path-inside@^3.0.2:
resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
is-plain-obj@^1.1:
version "1.1.0"
resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
is-plain-obj@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
@ -6778,7 +6703,7 @@ isexe@^2.0.0:
resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
isobject@^2.0.0, isobject@^2.1.0:
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
@ -6853,11 +6778,6 @@ jquery@^3.6.0:
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16"
integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==
js-base64@^2.1.9:
version "2.6.4"
resolved "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
js-file-downloader@^1.1.24:
version "1.1.24"
resolved "https://registry.yarnpkg.com/js-file-downloader/-/js-file-downloader-1.1.24.tgz#58102debfd86174462b650b0c251a223fa4b291a"
@ -7027,7 +6947,7 @@ kind-of@^4.0.0:
dependencies:
is-buffer "^1.1.5"
kind-of@^5.0.0, kind-of@^5.0.2:
kind-of@^5.0.0:
version "5.1.0"
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
@ -7348,13 +7268,6 @@ merge-descriptors@1.0.1:
resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
merge-options@1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/merge-options/-/merge-options-1.0.1.tgz#2a64b24457becd4e4dc608283247e94ce589aa32"
integrity sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==
dependencies:
is-plain-obj "^1.1"
merge-source-map@^1.1.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
@ -7377,25 +7290,6 @@ methods@~1.1.2:
resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
micromatch@3.1.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz#5102d4eaf20b6997d6008e3acfe1c44a3fa815e2"
integrity sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
braces "^2.2.2"
define-property "^1.0.0"
extend-shallow "^2.0.1"
extglob "^2.0.2"
fragment-cache "^0.2.1"
kind-of "^5.0.2"
nanomatch "^1.2.1"
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
@ -7573,11 +7467,6 @@ mississippi@^3.0.0:
stream-each "^1.1.0"
through2 "^2.0.0"
mitt@1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz#380e61480d6a615b660f07abb60d51e0a4e4bed6"
integrity sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
@ -7662,7 +7551,7 @@ nanoid@^3.3.4:
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanomatch@^1.2.1, nanomatch@^1.2.9:
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
@ -7869,7 +7758,7 @@ oauth-sign@~0.9.0:
resolved "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@ -8527,11 +8416,6 @@ postcss-ordered-values@^5.1.3:
cssnano-utils "^3.1.0"
postcss-value-parser "^4.2.0"
postcss-prefix-selector@^1.6.0:
version "1.16.0"
resolved "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz#ad5b56f9a73a2c090ca7161049632c9d89bcb404"
integrity sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==
postcss-reduce-initial@^5.1.1:
version "5.1.1"
resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz#c18b7dfb88aee24b1f8e4936541c29adbd35224e"
@ -8575,16 +8459,6 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^5.2.17:
version "5.2.18"
resolved "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
dependencies:
chalk "^1.1.3"
js-base64 "^2.1.9"
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^7.0.36:
version "7.0.39"
resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
@ -8602,44 +8476,6 @@ postcss@^8.1.10, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.18:
picocolors "^1.0.0"
source-map-js "^1.0.2"
posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
version "0.2.1"
resolved "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
integrity sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==
dependencies:
htmlparser2 "^3.8.3"
isobject "^2.1.0"
posthtml-rename-id@^1.0:
version "1.0.12"
resolved "https://registry.npmmirror.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz#cf7f6eb37146bf1afac31e68f18c6cc19ae61433"
integrity sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==
dependencies:
escape-string-regexp "1.0.5"
posthtml-render@^1.0.5, posthtml-render@^1.0.6:
version "1.4.0"
resolved "https://registry.npmmirror.com/posthtml-render/-/posthtml-render-1.4.0.tgz#40114070c45881cacb93347dae3eff53afbcff13"
integrity sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==
posthtml-svg-mode@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz#abd554face81223cab0cb367e18e4efd2a4e74b0"
integrity sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==
dependencies:
merge-options "1.0.1"
posthtml "^0.9.2"
posthtml-parser "^0.2.1"
posthtml-render "^1.0.6"
posthtml@^0.9.2:
version "0.9.2"
resolved "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz#f4c06db9f67b61fd17c4e256e7e3d9515bf726fd"
integrity sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==
dependencies:
posthtml-parser "^0.2.0"
posthtml-render "^1.0.5"
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@ -8817,14 +8653,6 @@ qs@~6.5.2:
resolved "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
query-string@^4.3.2:
version "4.3.4"
resolved "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==
dependencies:
object-assign "^4.1.0"
strict-uri-encode "^1.0.0"
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.npmmirror.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@ -9863,11 +9691,6 @@ stream-shift@^1.0.0:
resolved "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@ -10018,13 +9841,6 @@ supports-color@^2.0.0:
resolved "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==
supports-color@^3.2.3:
version "3.2.3"
resolved "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==
dependencies:
has-flag "^1.0.0"
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@ -10051,48 +9867,6 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
svg-baker-runtime@^1.4.7:
version "1.4.7"
resolved "https://registry.npmmirror.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz#f4720637f5b6202eef6378d81f1fead0815f8a4e"
integrity sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==
dependencies:
deepmerge "1.3.2"
mitt "1.1.2"
svg-baker "^1.7.0"
svg-baker@^1.5.0, svg-baker@^1.7.0:
version "1.7.0"
resolved "https://registry.npmmirror.com/svg-baker/-/svg-baker-1.7.0.tgz#8367f78d875550c52fe4756f7303d5c5d7c2e9a7"
integrity sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==
dependencies:
bluebird "^3.5.0"
clone "^2.1.1"
he "^1.1.1"
image-size "^0.5.1"
loader-utils "^1.1.0"
merge-options "1.0.1"
micromatch "3.1.0"
postcss "^5.2.17"
postcss-prefix-selector "^1.6.0"
posthtml-rename-id "^1.0"
posthtml-svg-mode "^1.0.3"
query-string "^4.3.2"
traverse "^0.6.6"
svg-sprite-loader@^6.0.11:
version "6.0.11"
resolved "https://registry.npmmirror.com/svg-sprite-loader/-/svg-sprite-loader-6.0.11.tgz#a4d60cee3d74232a2c17d31c73a2008295f61220"
integrity sha512-TedsTf8wsHH6HgdwKjUveDZRC6q5gPloYV8A8/zZaRWP929J7x6TzQ6MvZFl+YYDJuJ0Akyuu/vNVJ+fbPuYXg==
dependencies:
bluebird "^3.5.0"
deepmerge "1.3.2"
domready "1.0.8"
escape-string-regexp "1.0.5"
loader-utils "^1.1.0"
svg-baker "^1.5.0"
svg-baker-runtime "^1.4.7"
url-slug "2.0.0"
svg-tags@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
@ -10389,11 +10163,6 @@ tr46@~0.0.3:
resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
traverse@^0.6.6:
version "0.6.7"
resolved "https://registry.npmmirror.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe"
integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==
truncate-utf8-bytes@^1.0.0:
version "1.0.2"
resolved "https://registry.npmmirror.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
@ -10566,11 +10335,6 @@ unicode-property-aliases-ecmascript@^2.0.0:
resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
unidecode@0.1.8:
version "0.1.8"
resolved "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e"
integrity sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==
union-value@^1.0.0:
version "1.0.1"
resolved "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
@ -10695,13 +10459,6 @@ url-parse-lax@^3.0.0:
dependencies:
prepend-http "^2.0.0"
url-slug@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz#a789d5aed4995c0d95af33377ad1d5c68d4d7027"
integrity sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==
dependencies:
unidecode "0.1.8"
url@^0.11.0:
version "0.11.0"
resolved "https://registry.npmmirror.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"