From aa3903e92c8a5685e67240159f9e4d25479330f4 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Sun, 25 Oct 2026 19:25:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E6=8E=A5=E9=80=9A=20Kotlin/React?= =?UTF-8?q?=EF=BC=8C=E8=BF=81=E7=A7=BB=E8=BD=A6=E5=BA=93=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=B9=B6=E5=AF=BC=E5=87=BA=E7=89=A9=E5=93=81=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=20fixture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3DTank/docs/UI_Rebuild_Plan.md | 9 + TankiOffline/.gitignore | 3 +- TankiOffline/app/build.gradle.kts | 4 + .../jsMain/kotlin/App/Browser/BrowserUi.kt | 7 +- .../jsMain/kotlin/App/Browser/LobbyView.kt | 65 +- .../jsMain/kotlin/App/Browser/ReactSmoke.kt | 27 + .../kotlin/App/Browser/Ui/Categories.kt | 26 + .../kotlin/App/Browser/Ui/GarageScreen.kt | 166 + .../jsMain/kotlin/App/Browser/Ui/UiCatalog.kt | 109 + .../jsMain/kotlin/App/Session/ItemCatalog.kt | 8 + .../jsMain/kotlin/App/Session/SessionCheck.kt | 41 + .../jsMain/resources/fixtures/catalog.json | 1 + .../app/src/jsMain/resources/lobby.css | 117 + .../kotlin-js-store/package-lock.json | 6328 +++++++++++++++++ 14 files changed, 6871 insertions(+), 40 deletions(-) create mode 100644 TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt create mode 100644 TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt create mode 100644 TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt create mode 100644 TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt create mode 100644 TankiOffline/app/src/jsMain/resources/fixtures/catalog.json create mode 100644 TankiOffline/kotlin-js-store/package-lock.json diff --git a/3DTank/docs/UI_Rebuild_Plan.md b/3DTank/docs/UI_Rebuild_Plan.md index 048ff98..9e28fac 100644 --- a/3DTank/docs/UI_Rebuild_Plan.md +++ b/3DTank/docs/UI_Rebuild_Plan.md @@ -219,3 +219,12 @@ TankiOffline (Kotlin/JS 客户端) - 大厅:L0/L1 骨架(官方图标、真实翻译、物品目录、连接状态)。 - 资源:本地镜像已接入。 - 已确认:技术栈 Kotlin/React、组件级还原、本地 mock、3D 现在做、首批大厅+车库、允许混跑。 + +## 8. 实现进度(滚动更新) + +- [x] Kotlin/React 工具链接通(kotlin-react / kotlin-react-dom / kotlin-emotion,React 19.1)。 +- [x] 物品目录 fixture:`SessionCheck` 从抓包导出 `resources/fixtures/catalog.json`(1399 物品)。 +- [x] 车库第一版 React 界面:分类页签(12 类)、搜索、物品网格(120 张卡片)、右侧详情位。 +- [ ] 车库物品详情 / 3D 预览加载器。 +- [ ] 协议级 mock 服务器(用户 / 大厅列表 / 任务)。 +- [ ] 大厅其余屏幕迁移到 React。 diff --git a/TankiOffline/.gitignore b/TankiOffline/.gitignore index 9d4fa1d..2c6fa14 100644 --- a/TankiOffline/.gitignore +++ b/TankiOffline/.gitignore @@ -2,7 +2,8 @@ build/ .gradle/ .kotlin/ -kotlin-js-store/ +kotlin-js-store/* +!kotlin-js-store/package-lock.json node_modules/ # 说明:net/src/jsMain/kotlin/Net/Generated/ 是代码生成产物,但要入库并允许手改, diff --git a/TankiOffline/app/build.gradle.kts b/TankiOffline/app/build.gradle.kts index 59c68c4..94ed6d7 100644 --- a/TankiOffline/app/build.gradle.kts +++ b/TankiOffline/app/build.gradle.kts @@ -17,6 +17,10 @@ kotlin { implementation(project(":state")) // 自动测试用 ws 客户端:需要自定义 User-Agent(真实服务器会拒绝 Node 默认 UA) implementation(npm("ws", "8.18.0")) + // UI:Kotlin/React(与原客户端同栈;kotlin-wrappers 会带入 react / react-dom npm 依赖) + implementation("org.jetbrains.kotlin-wrappers:kotlin-react:2025.5.0-19.1.0") + implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:2025.5.0-19.1.0") + implementation("org.jetbrains.kotlin-wrappers:kotlin-emotion:2025.3.26") } } } diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt index 388ac9c..ebec255 100644 --- a/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt @@ -5,6 +5,12 @@ package App.Browser fun BrowserMain() { + val Params = js("new URLSearchParams(window.location.search)") + if (Params.get("react") == "1") { + MountReactSmoke() + return + } + lateinit var Client: LobbyClient lateinit var Lobby: LobbyView lateinit var Entrance: EntranceView @@ -27,7 +33,6 @@ fun BrowserMain() { Translations.Load { Entrance.Update() } // 调试便利:?autoconnect=1&lobby=ws://…&space=ws://… - val Params = js("new URLSearchParams(window.location.search)") if (Params.get("autoconnect") == "1") { val LobbyUrl = (Params.get("lobby") as? String) ?: "ws://127.0.0.1:9091/" val SpaceUrl = (Params.get("space") as? String) ?: LobbyUrl diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt index 3fbecbc..62bba1f 100644 --- a/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt @@ -6,6 +6,8 @@ // 车库 / 商店 / 幸运礼盒直接读 ItemCatalog(抓包解出的 1399 物品 + 516 装置)。 package App.Browser +import App.Browser.Ui.GarageMount +import App.Browser.Ui.UiCatalog import App.State.GarageItemObject import Net.Generated.DescriptionModelCC @@ -60,6 +62,7 @@ class LobbyView(private val Client: LobbyClient) { private var Category: Int = 0 private var Query: String = "" private var Mounted = false + private var GarageMounted = false fun Mount() { if (Mounted) return @@ -93,7 +96,17 @@ class LobbyView(private val Client: LobbyClient) { """ ) - SetHtml("lobby-content", Content()) + if (Nav != "garage" && GarageMounted) { + GarageMount.Unmount() + GarageMounted = false + } + if (!(Nav == "garage" && GarageMounted)) { + SetHtml("lobby-content", Content()) + } + if (Nav == "garage" && UiCatalog.Loaded) { + GarageMount.Mount(UiCatalog.Items) + GarageMounted = true + } SetHtml("lobby-chat", Chat()) SetHtml( "lobby-status", @@ -309,35 +322,14 @@ class LobbyView(private val Client: LobbyClient) { } private fun Garage(): String { - val All = Client.Router.Catalog.Items.values - val Filtered = All.filter { - ItemCategory(it) == Category && (Query.isEmpty() || ItemName(it).contains(Query, ignoreCase = true)) + if (!UiCatalog.Loaded) { + UiCatalog.Ensure(Client) { Refresh() } + return """ +

${Esc(Translations.T("lobby.menu.GARAGE", "车库"))}

+
正在加载物品目录…
+ """.trimIndent() } - val Shown = Filtered.take(96) - return """ -
-

${Esc(Translations.T("lobby.menu.GARAGE", "车库"))} - ${Filtered.size} / ${All.size} -

- -
-
- ${Categories.joinToString("") { (Id, Key, Fallback) -> - val Count = All.count { ItemCategory(it) == Id } - """ - - """.trimIndent() - }} -
- ${if (All.isEmpty()) """ -
目录还是空的:连接服务器后会解出车库物品(当前离线目录 0 个)。
- """ else """ -
${Shown.joinToString("") { ItemCard(it) }}
- ${if (Filtered.size > Shown.size) "

仅显示前 ${Shown.size} 件,继续补充分页。

" else ""} - """} - """.trimIndent() + return """
""" } private fun Shop(): String { @@ -404,18 +396,15 @@ class LobbyView(private val Client: LobbyClient) {
${Esc(Text)}
""".trimIndent() - private fun Side(): String { + private fun Chat(): String { val Lines = Client.Logs.takeLast(12).joinToString("") { "
${Esc(it)}
" } return """ -
-

${Esc(Translations.T("lobby.menu.CHAT", "聊天"))}

-
${if (Lines.isEmpty()) "连接后显示服务器日志" else Lines}
-
-
-
-

${Esc(Translations.T("lobby.menu.NEWS", "新闻"))}

-
新闻、公告与活动由服务端推送后显示在这里。
+
+ ${Esc(Translations.T("lobby.menu.CHAT", "聊天"))} + ${Client.Status}
+
${if (Lines.isEmpty()) "连接后显示服务器日志" else Lines}
+
""".trimIndent() } diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt new file mode 100644 index 0000000..bdda9c6 --- /dev/null +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt @@ -0,0 +1,27 @@ +// ReactSmoke.kt —— Kotlin/React 工具链探针 +// +// 用途:确认 kotlin-react / react-dom / emotion 依赖可用、能挂载组件。 +// 打开 `?react=1` 时只渲染这个小组件,不影响正常登录页。 +package App.Browser + +import react.FC +import react.Props +import react.create +import react.dom.client.createRoot +import react.dom.html.ReactHTML.div +import react.dom.html.ReactHTML.h1 +import react.dom.html.ReactHTML.p +import web.dom.document +import web.html.HTMLDivElement + +private val Smoke = FC { + div { + h1 { +"Kotlin/React OK" } + p { +"kotlin-react + react-dom 依赖已接通。" } + } +} + +fun MountReactSmoke() { + val Root = createRoot(document.getElementById("app") as HTMLDivElement) + Root.render(Smoke.create()) +} diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt new file mode 100644 index 0000000..8bb59b1 --- /dev/null +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt @@ -0,0 +1,26 @@ +// Categories.kt —— 车库分类(数值来自 module_85667 的 ItemCategory 枚举) +package App.Browser.Ui + +import App.Browser.Translations + +data class GarageCategory(val Id: Int, val Key: String, val Default: String) { + val Label: String get() = Translations.T("lobby.garage.$Key", Default) +} + +val GarageCategories: List = listOf( + GarageCategory(0, "WEAPON", "炮塔"), + GarageCategory(1, "ARMOR", "底盘"), + GarageCategory(2, "PAINT", "迷彩"), + GarageCategory(3, "INVENTORY", "道具"), + GarageCategory(5, "KIT", "套件"), + GarageCategory(10, "RESISTANCE_MODULE", "防御模块"), + GarageCategory(11, "DEVICE", "装置"), + GarageCategory(13, "CONTAINER", "幸运礼盒"), + GarageCategory(14, "DRONE", "辅助无人机"), + GarageCategory(15, "SKIN", "皮肤"), + GarageCategory(17, "BAZOOKA", "火箭炮"), + GarageCategory(18, "GRENADE", "手榴弹"), +) + +fun CategoryLabel(Id: Int): String = + GarageCategories.firstOrNull { it.Id == Id }?.Label ?: "其它" diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt new file mode 100644 index 0000000..b8cf238 --- /dev/null +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt @@ -0,0 +1,166 @@ +// GarageScreen.kt —— React 车库(大厅第一个正式迁移的界面) +// +// 数据:UiCatalog(真实 ItemCatalog 或抓包导出的 fixture)。 +// 结构对照原版:分类页签 + 物品网格 + 右侧详情 / 3D 预览位。 +package App.Browser.Ui + +import App.Browser.Translations +import react.FC +import react.Props +import react.create +import react.dom.client.createRoot +import react.dom.html.HTMLAttributes +import react.dom.html.ReactHTML.aside +import react.dom.html.ReactHTML.b +import react.dom.html.ReactHTML.button +import react.dom.html.ReactHTML.div +import react.dom.html.ReactHTML.h2 +import react.dom.html.ReactHTML.h3 +import react.dom.html.ReactHTML.input +import react.dom.html.ReactHTML.section +import react.dom.html.ReactHTML.small +import react.dom.html.ReactHTML.span +import react.useState +import web.dom.document +import web.html.HTMLDivElement + +private val RarityNames = listOf("普通", "罕见", "稀有", "史诗", "传奇", "特殊") + +private fun RarityName(R: Int): String = RarityNames.getOrElse(R) { "普通" } + +/** kotlin-react 19 的 className 是 ClassName 类型;直接走 DOM 属性避免类型转换样板。 */ +private fun HTMLAttributes<*>.Css(Value: String) { + val E = this.asDynamic() + E.className = Value +} + +private val GarageScreen = FC { + var Category by useState(-1) + var Query by useState("") + var Selected by useState(null) + + val All = UiCatalog.Items + val Counts = GarageCategories.associate { C -> C.Id to All.count { it.Category == C.Id } } + val ActiveCategory = if (Category >= 0) Category + else GarageCategories.firstOrNull { (Counts[it.Id] ?: 0) > 0 }?.Id ?: 0 + val Filtered = All.filter { + it.Category == ActiveCategory && (Query.isBlank() || it.Name.contains(Query, ignoreCase = true)) + } + val Shown = Filtered.take(120) + + section { + Css("garage") + + div { + Css("garage-head") + h2 { + +Translations.T("lobby.menu.GARAGE", "车库") + small { +"${Filtered.size} / ${All.size}" } + } + input { + Css("garage-search") + placeholder = "搜索物品" + value = Query + onChange = { E -> Query = E.target.value } + } + } + + div { + Css("garage-tabs") + for (C in GarageCategories) { + val N = Counts[C.Id] ?: 0 + if (N == 0) continue + button { + Css("garage-tab" + if (C.Id == ActiveCategory) " active" else "") + onClick = { Category = C.Id } + +C.Label + span { +"$N" } + } + } + } + + div { + Css("garage-main") + + div { + Css("garage-grid") + for (Item in Shown) { + button { + Css( + "garage-card rarity-${Item.Rarity}" + + if (Selected?.Id == Item.Id) " selected" else "" + ) + onClick = { Selected = Item } + div { Css("garage-card-art"); +Item.Name.take(1) } + div { Css("garage-card-name"); +Item.Name.ifEmpty { "物品 ${Item.Id}" } } + div { + Css("garage-card-meta") + +CategoryLabel(Item.Category) + if (Item.Price > 0 && Item.Buyable) { + span { Css("garage-price"); +PriceText(Item) } + } + } + if (Item.Premium) span { Css("garage-premium"); +"VIP" } + } + } + if (Shown.isEmpty()) { + div { Css("garage-empty"); +"这个分类暂时没有物品。" } + } + } + + aside { + Css("garage-detail") + val Item = Selected + if (Item == null) { + h3 { +"选择一件物品" } + div { Css("garage-preview") } + div { Css("garage-preview-label"); +"3D 预览加载器接入中" } + } else { + h3 { +Item.Name.ifEmpty { "物品 ${Item.Id}" } } + div { Css("garage-preview") } + div { Css("garage-preview-label"); +"3D 预览加载器接入中" } + div { Css("garage-props") } + Prop("分类", CategoryLabel(Item.Category)) + Prop("稀有度", RarityName(Item.Rarity)) + Prop("物品 ID", Item.Id.toString()) + if (Item.Count > 0) Prop("数量", Item.Count.toString()) + if (Item.Buyable) Prop("价格", PriceText(Item)) + if (Item.Premium) Prop("VIP", "是") + } + } + } + } +} + +private fun PriceText(Item: CatalogItem): String = when (Item.Currency) { + 1 -> "${Item.Price} 水晶" + 2 -> "${Item.Price} 红宝石" + else -> "${Item.Price}" +} + +private fun react.ChildrenBuilder.Prop(Name: String, Value: String) { + div { + Css("garage-prop") + span { +Name } + b { +Value } + } +} + +object GarageMount { + private var Root: dynamic = null + + fun Mount(Items: List, Force: Boolean = false) { + val El = document.getElementById("garage-root") as? HTMLDivElement ?: return + if (Root != null && !Force) return + if (Root == null) Root = createRoot(El) + Root.render(GarageScreen.create()) + } + + fun Unmount() { + try { + Root?.unmount() + } catch (_: Throwable) { + } + Root = null + } +} diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt new file mode 100644 index 0000000..0289ca0 --- /dev/null +++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt @@ -0,0 +1,109 @@ +// UiCatalog.kt —— UI 侧的物品目录(React 车库数据源) +// +// 数据优先来自真实会话(ItemCatalog,连接服务器后填充);没有会话时回退到 +// `resources/fixtures/catalog.json`(由 SessionCheck 从抓包导出,供离线开发/截图)。 +package App.Browser.Ui + +import App.Browser.LobbyClient +import Net.Generated.DescriptionModelCC + +data class CatalogItem( + val Id: Long, + val Name: String, + val Category: Int, + val ViewCategory: Int, + val Rarity: Int, + val Premium: Boolean, + val Count: Int, + val Buyable: Boolean, + val Price: Int, + val Currency: Int, +) + +object UiCatalog { + + var Items: List = emptyList() + private set + + var Loaded: Boolean = false + private set + + private var Loading = false + private var Waiters: MutableList<() -> Unit> = ArrayList() + + /** 优先真实目录;为空时拉取 fixture。 */ + fun Ensure(Client: LobbyClient, OnReady: () -> Unit) { + val Live = Client.Router.Catalog + if (Live.Items.isNotEmpty()) { + Items = Live.Items.map { (Id, Item) -> + CatalogItem( + Id = Id, + Name = (Item.description as? DescriptionModelCC)?.Name ?: "", + Category = Item.itemCategory, + ViewCategory = Item.itemViewCategory, + Rarity = Item.rarity as? Int ?: 0, + Premium = Item.isPremium, + Count = Item.count, + Buyable = Item.buyable, + Price = Live.Prices[Id] ?: 0, + Currency = Live.Currencies[Id] ?: 0, + ) + } + Loaded = true + OnReady() + return + } + if (Loaded) { + OnReady() + return + } + Waiters.add(OnReady) + if (Loading) return + Loading = true + FetchFixture { Text -> + if (Text != null) Items = Parse(Text) + Loaded = true + Loading = false + val Pending = Waiters + Waiters = ArrayList() + for (F in Pending) F() + } + } + + private val FetchFixture: ((String?) -> Unit) -> Unit = { Callback -> + js( + """ + (function (Cb) { + fetch('/fixtures/catalog.json') + .then(function (R) { return R.ok ? R.text() : null; }) + .then(function (T) { Cb(T); }) + .catch(function () { Cb(null); }); + }) + """ + )(Callback) + } + + private fun Parse(Text: String): List { + val Out = ArrayList() + val Data: dynamic = js("JSON.parse(Text)") + val Rows: dynamic = Data.items + for (I in 0 until (Rows.length as Int)) { + val R = Rows[I] + Out.add( + CatalogItem( + Id = (R.id as Number).toLong(), + Name = R.name as String, + Category = (R.category as Number).toInt(), + ViewCategory = (R.viewCategory as Number).toInt(), + Rarity = (R.rarity as Number).toInt(), + Premium = R.premium as Boolean, + Count = (R.count as Number).toInt(), + Buyable = R.buyable as Boolean, + Price = (R.price as Number).toInt(), + Currency = (R.currency as Number).toInt(), + ) + ) + } + return Out + } +} diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt b/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt index 8f7e35e..7d64638 100644 --- a/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt +++ b/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt @@ -120,6 +120,10 @@ class ItemCatalog { val Items: MutableMap = LinkedHashMap() val Devices: MutableMap = LinkedHashMap() + /** 物品价格 / 货币(BuyableCC 的两个字段;GarageItemObject 没地方放,单独存)。 */ + val Prices: MutableMap = LinkedHashMap() + val Currencies: MutableMap = LinkedHashMap() + /** 被识别并吸收的 Pt 项数。 */ var ConsumedItems: Int = 0 private set @@ -169,6 +173,10 @@ class ItemCatalog { Any = true } else if (IsItem) { Items[ObjectId] = MakeItem(ObjectId, Models) + (Models[CatalogModelIds.Buyable] as? BuyableCC)?.let { + Prices[ObjectId] = it.Field3 + Currencies[ObjectId] = it.CurrencyId + } Mark(Consumed, Begin, End) Groups++ Any = true diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt b/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt index 4b2be0c..6febbb6 100644 --- a/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt +++ b/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt @@ -206,9 +206,50 @@ object SessionCheck { if (Top.isNotEmpty()) { println("高频 methodId:" + Top.joinToString(",") { "${it.key}×${it.value}" }) } + // 开发用:把解出的物品目录落成 JSON fixture,供 UI(React 车库)离线开发。 + val CatalogOut = js("process.env.TANKIOFFLINE_CATALOG_OUT || ''") as String + if (CatalogOut.isNotEmpty()) { + WriteCatalog(CatalogOut, Router) + println("目录 fixture:$CatalogOut") + } + // 抓包目录里混有入口/握手帧,解不出记录是正常现象;只要所有解出的记录都能回编码即可。 val Passed = Bad == 0 && Records > 0 && Router.Catalog.Items.isNotEmpty() && UserOk println(if (Passed) "结果:通过" else "结果:失败") ExitSession(if (Passed) 0 else 1) } + + private fun JsonEsc(S: String): String = S + .replace("\\", "\\\\") + .replace("\"", "\\\"") + .replace("\n", "\\n") + .replace("\r", "\\r") + + /** 把目录写成 UI fixture(只保留车库卡片需要的字段)。 */ + private fun WriteCatalog(Path: String, Router: SessionRouter) { + val B = StringBuilder() + B.append("{\"items\":[") + var First = true + for ((Id, Item) in Router.Catalog.Items) { + if (!First) B.append(',') + First = false + val Name = (Item.description as? Net.Generated.DescriptionModelCC)?.Name ?: "" + val Rarity = Item.rarity as? Int ?: 0 + B.append("{\"id\":").append(Id) + B.append(",\"name\":\"").append(JsonEsc(Name)).append('"') + B.append(",\"category\":").append(Item.itemCategory) + B.append(",\"viewCategory\":").append(Item.itemViewCategory) + B.append(",\"rarity\":").append(Rarity) + B.append(",\"premium\":").append(if (Item.isPremium) "true" else "false") + B.append(",\"count\":").append(Item.count) + B.append(",\"buyable\":").append(if (Item.buyable) "true" else "false") + B.append(",\"price\":").append(Router.Catalog.Prices[Id] ?: 0) + B.append(",\"currency\":").append(Router.Catalog.Currencies[Id] ?: 0) + B.append('}') + } + B.append("]}") + val Write: (String, String) -> Unit = + js("(function (P, T) { module.require('fs').writeFileSync(P, T, 'utf8'); })") + Write(Path, B.toString()) + } } diff --git a/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json b/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json new file mode 100644 index 0000000..1730ca4 --- /dev/null +++ b/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json @@ -0,0 +1 @@ +{"items":[{"id":1931009789024,"name":"史诗幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789028,"name":"普通幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789026,"name":"传奇幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789030,"name":"稀有幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482397,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482396,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482006,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482072,"name":"","category":14,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482393,"name":"","category":17,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":10007274,"name":"维修工具","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":0},{"id":10007268,"name":"护甲提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":94,"buyable":true,"price":50,"currency":0},{"id":920004863750,"name":"金箱子","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":2},{"id":10007271,"name":"伤害提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":10007277,"name":"地雷","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":921009756684,"name":"核能","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780088,"name":"耀斑","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780012,"name":"炸弹","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":38,"buyable":true,"price":1250,"currency":0},{"id":1931009780146,"name":"沙皇","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780084,"name":"医护兵","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009780145,"name":"雪球","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780175,"name":"迫击炮","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009780154,"name":"礼炮","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1800,"currency":0},{"id":1931009780221,"name":"蛋","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780087,"name":"磁铁","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780085,"name":"烟雾","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780086,"name":"星辰","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780083,"name":"泡沫","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780126,"name":"南瓜","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":10007280,"name":"速度提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009781093,"name":"精英通行证","category":4,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600251,"name":"解锁星级挑战奖励加成","category":4,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006040680,"name":"军团许可证","category":12,"viewCategory":5,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009782002,"name":"活动通行证","category":4,"viewCategory":5,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801939,"name":"狂乱","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180238,"name":"协同","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801076,"name":"神圣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801077,"name":"狂乱","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009570587,"name":"峡谷英雄","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739294,"name":"监护人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009749,"name":"装甲方块","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773532,"name":"ATB","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802807,"name":"惩罚","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240692,"name":"快乐","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801940,"name":"极光","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657334,"name":"阴 & 阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004911970,"name":"凤凰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009758,"name":" 活跃观众","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703858,"name":"角斗士","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607037,"name":"麦田怪圈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600801,"name":"加力燃烧室","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658851,"name":"游戏 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801645,"name":"强盗","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773535,"name":"击倒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801093,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773531,"name":"梦想家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009990,"name":"办公室","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009298711,"name":"最佳助手 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802805,"name":"KAN","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009464,"name":"工兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649924,"name":"战争获胜者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007184,"name":"雪域惊喜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752845,"name":"青铜盔甲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773536,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009746477,"name":"对开发人员","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010010173,"name":"跑酷大师 2026","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008799,"name":"粘液","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008237,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006706961,"name":" ","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704696,"name":"幸运 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703612,"name":"观众","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779357,"name":"坦克的太阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009889,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779039,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721507,"name":"复仇","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009887,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600630,"name":"黄虫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703613,"name":"幸运星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005522441,"name":"跑酷大师 2016","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704570,"name":"赫利俄斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009769038,"name":"幸运币","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663902,"name":"消毒洗手液","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779038,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704456,"name":"红宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009546362,"name":"烈火","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601261,"name":"洒红节","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704458,"name":"芳纶","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702844,"name":"鹰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009746478,"name":"对玩家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704572,"name":"工程师","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009546364,"name":"棱镜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801078,"name":"团队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779475,"name":"绿色随从","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801075,"name":"寒冷","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697676,"name":"死者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766066,"name":"诡诈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802811,"name":"相思病","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652016,"name":"职业选手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703977,"name":"火焰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802809,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704573,"name":"练习者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006703621,"name":"勇气之火","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554073,"name":"天使&恶魔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779359,"name":"坦克-黑色","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766067,"name":"魏德","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009888,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802810,"name":"佩佩加","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721509,"name":"费奇基","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801972,"name":"Reddit","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779358,"name":"坦克猫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606353,"name":"地球","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771238,"name":"奇点","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005755020,"name":"新年 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008177,"name":"TO16","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801642,"name":"治安官","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398609,"name":"俄罗斯战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773533,"name":"毒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009885,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766065,"name":"JERRYYY21","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009892,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779046,"name":"等离子体","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773530,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779036,"name":"毒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801079,"name":"战斗斧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703730,"name":"勋爵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779623,"name":"跑酷大师 2023","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801088,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652014,"name":"永恒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009617355,"name":"坦克 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779355,"name":"休斯顿坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610627,"name":"拆毁者 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779033,"name":"退役机器人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005864460,"name":"最佳助手 2016","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801938,"name":"团队P","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652012,"name":"停不下来","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721510,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009613066,"name":"坦克旅行 2019","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779047,"name":"深红色","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801154,"name":"新兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703738,"name":"活动可回收1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801932,"name":"反系统","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762760,"name":"半路兄弟","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000755591,"name":"对玩家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009704890,"name":"手提袋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707380,"name":"Flash","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704098,"name":"冠军","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009769037,"name":"三叶草","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004008400,"name":"俄罗斯队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779048,"name":"青金石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009157,"name":"最佳助手 2025","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702845,"name":"缟玛瑙","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801091,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766064,"name":"大型坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801597,"name":"碎片","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009602487,"name":"故事","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652018,"name":"企鹅","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180236,"name":"国际比赛","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398606,"name":"德国战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703736,"name":"白银","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008939,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008238,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008235,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600880,"name":"游乐场","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756125,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756127,"name":"仁慈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779049,"name":"柑橘","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779871,"name":"TO14","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674720,"name":"火焰 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657338,"name":"阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009153,"name":"槲寄生","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009764018,"name":"新毛衣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007135671,"name":"Steam","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704215,"name":"青铜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802812,"name":"偏离者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008477291,"name":"霓虹灯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801928,"name":"愁云","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779131,"name":"2022 最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801094,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779356,"name":"美洲驼坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240693,"name":"桑巴","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652610,"name":"年度最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756126,"name":"公牛队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662014,"name":"巴西的精神","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779034,"name":"佩佩加","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663110,"name":"复活节彩蛋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703735,"name":"活动可回收2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601781,"name":"萨克诺斯护甲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801441,"name":"黑色红宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610628,"name":"拆毁者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704571,"name":"助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596614,"name":"声望","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554072,"name":"街机电子竞技","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005083020,"name":"天马","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771444,"name":"3D坦克 13 岁了","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739295,"name":"复仇","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703734,"name":"老兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801080,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554070,"name":"全部入选","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180237,"name":"辣椒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009767410,"name":"最佳助手 2021","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801090,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773534,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009617354,"name":"坦克 1.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006440672,"name":"微笑先生","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006703620,"name":"新的伪装","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008214541,"name":"坦克在莫斯科","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762761,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600790,"name":"年度最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007905,"name":"仙女座","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008030011,"name":"天空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779040,"name":"高级监护人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008943,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721508,"name":"企鹅","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008090,"name":"拼图","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008233,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657336,"name":"阴","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008234,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801092,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802779,"name":"TO15","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762759,"name":"杀戮","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009602488,"name":"耶 十周年!","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756124,"name":"半路兄弟","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779477,"name":"三叶草小队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717016,"name":"最佳助手 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762758,"name":"公牛队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008420,"name":"墨盒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600910,"name":"跑酷大师 2019","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697674,"name":"赏金猎人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802181,"name":"蓝宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009608639,"name":"涡轮","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703737,"name":"微芯片","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009100331,"name":"团队OK","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704695,"name":"跑酷大师","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009759752,"name":"甜蜜的技巧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008236,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771300,"name":"开发者 2K22","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009291491,"name":"雪人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606354,"name":"火星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704577,"name":"Youtuber TO","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009846,"name":"TO17","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008941,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801933,"name":"偏离者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803298,"name":"南瓜泥","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009100333,"name":"团队VK","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697675,"name":"暴徒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802156,"name":"甜蜜的礼物","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398608,"name":"波兰战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779476,"name":"妖精兄弟会","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766063,"name":"塔斯彭斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004008401,"name":"国际团队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779056,"name":"僵尸","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771301,"name":"YouTubers 2K22","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009891,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600901,"name":"冷冻","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009107052,"name":"南瓜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658849,"name":"跑酷大师 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005821640,"name":"去坦克尝试","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009465641,"name":"战争.优胜者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801081,"name":"薰衣草","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801087,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778315,"name":"恐怖","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180239,"name":"瓦维隆","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006706962,"name":" ","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006398341,"name":"脉冲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008946,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663111,"name":"稀有复活节彩蛋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661354,"name":"城市居民","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008231,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009886,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704574,"name":"恶魔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678471,"name":"11 年!","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773537,"name":"黑色镜子","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739297,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008232,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739296,"name":"班金","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801927,"name":"战斗斧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704335,"name":"记者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802138,"name":"Best Helper of 2023","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009655444,"name":"东方魅力","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009385730,"name":"顶级","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779037,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779055,"name":"免疫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606352,"name":"金星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779354,"name":"黑兹尔装甲工程","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802575,"name":"光泽度","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601780,"name":"萨克诺斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704333,"name":"硫酸","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802893,"name":"怀旧之情","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398607,"name":"英国战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779230,"name":"姜饼","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009646,"name":"时空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009890,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008973271,"name":"跑酷大师 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704694,"name":"航空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802806,"name":"极光","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004106860,"name":"巧克力坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010010093,"name":"迈阿密海滩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766062,"name":"JMPR","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008945,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801925,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007153,"name":"最佳助手 2024","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801941,"name":"被低估","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597230,"name":"野餐","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801089,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600152,"name":"光子","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779035,"name":"神圣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008942,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704697,"name":"滑翔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009670398,"name":"幸存者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008944,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704219,"name":"鳄鱼","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000755590,"name":"对开发人员","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802808,"name":"前 25 名或无","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008940,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554071,"name":"史诗守卫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779590,"name":"银河系","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662013,"name":"拉丁美洲的精神","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801074,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009736829,"name":"鸭子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009570585,"name":"玉兰","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597020,"name":"触手","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009431051,"name":"神童 2.0","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":10000,"currency":2},{"id":920009597015,"name":"齿轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656664,"name":"宇宙爆炸","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744685,"name":"镍","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668727,"name":"像素等离子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610624,"name":"黑白","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":12000,"currency":2},{"id":920009661132,"name":"钢铁之心","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702017,"name":"片假名","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597001,"name":"旋转器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618067,"name":"电动绵羊","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661133,"name":"流动的金属","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610626,"name":"搜捕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681188,"name":"发光器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600936,"name":"北极光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017176179,"name":"X 黑色","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":11000,"currency":2},{"id":920009661135,"name":"爱的迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681189,"name":"金合金","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599283,"name":"兔子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009656666,"name":"时髦医学","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596801,"name":"旁观者","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601560,"name":"外星人绑架","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601260,"name":"火魔像","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681190,"name":"构造板块","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009748070,"name":"阴极射线管","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601250,"name":"春天","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601450,"name":"lol","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681187,"name":"风扇","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656665,"name":"气候状况","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661134,"name":"时髦的霓虹灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649918,"name":"花火","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600632,"name":"银砖","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600750,"name":"触摸寒冷","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601711,"name":"泡泡糖","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621504,"name":"南瓜浆果","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009601464,"name":"微生物学","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600934,"name":"塞伯朋克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":19000,"currency":2},{"id":920009601210,"name":"荣誉","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007533971,"name":"流动","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":921009725833,"name":"集成电路","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626663,"name":"灵魂","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626660,"name":"魔术圈","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":17000,"currency":2},{"id":920009597013,"name":"放射性果冻","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621795,"name":"电子人","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600633,"name":"雷霆风暴","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600631,"name":"熔岩灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702018,"name":"破裂的光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618068,"name":"纳米防护装甲","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276281,"name":"节日彩灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008994081,"name":"梦魇","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662890,"name":"化学反应","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662889,"name":"纳米HUD","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756663,"name":"逆境","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756664,"name":"驾驶","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596451,"name":"勇气","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":30000,"currency":2},{"id":920009597141,"name":"枫叶","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009627400,"name":"量子迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626659,"name":"活体护甲","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":18000,"currency":2},{"id":920009595703,"name":"西伯利亚虎","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675330,"name":"星座","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009465643,"name":"银河","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621502,"name":"七十年代的乐趣","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601120,"name":"初吻","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621500,"name":"华丽的鳄鱼","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365555,"name":"眩晕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595701,"name":"火山喷发","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009645941,"name":"困在内部","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":16000,"currency":2},{"id":920009542641,"name":"银河系","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365553,"name":"矩阵","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":18000,"currency":2},{"id":920009668730,"name":"地球人","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742075,"name":"黑海","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598660,"name":"共生体","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598291,"name":"符文","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687167,"name":"印刷电路板","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599281,"name":"铁丝网","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605683,"name":"外星星云","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610625,"name":"獾-獾","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596354,"name":"帕斯提拉","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009613063,"name":"雷达","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702019,"name":"工艺剪刀","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621499,"name":"卡普利亚特","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009748071,"name":"绿锆石","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626662,"name":"坦克币坦克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":100000,"currency":1},{"id":920009662891,"name":"网络手里剑","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601460,"name":"钻石","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597011,"name":"发光二极管","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621503,"name":"几何形状的霓虹灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674719,"name":"碳星","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601262,"name":"全息","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009725834,"name":"飞轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600935,"name":"迪斯科 2.0","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009400455,"name":"跳动的心","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601712,"name":"银河星爆","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009768023,"name":"红色烟雾","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744320,"name":"辉光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687168,"name":"篝火","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702020,"name":"合金","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276271,"name":"通感","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365554,"name":"马赛克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618397,"name":"夜城","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009597143,"name":"富士山","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009740930,"name":"指尖玩具","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017175467,"name":"视觉干扰者","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597017,"name":"流星雨","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":13000,"currency":2},{"id":921009758958,"name":"煎蛋","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009647327,"name":"在树下","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668728,"name":"头部开膛手","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668729,"name":"迅速蔓延","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009653203,"name":"防寒外套","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597333,"name":"流行音乐合成器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607038,"name":"外星人皮肤","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618069,"name":"不是一个灯笼","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656663,"name":"数字北极光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605682,"name":"外星人再生","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662888,"name":"绿色四边形","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597332,"name":"电子蜂巢","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":921009687169,"name":"冲浪","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600620,"name":"正方体迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601263,"name":"藤本植物","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":15000,"currency":2},{"id":920009653202,"name":"冰乱舞","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601463,"name":"遥远的北方","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009189871,"name":"光谱","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":16000,"currency":2},{"id":920009595705,"name":"秘制酱料","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009646633,"name":"快乐的季节","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598860,"name":"井字棋","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687170,"name":"蓝色丁香","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601762,"name":"金色齿轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621501,"name":"烟幕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365534,"name":"昆古尔冰洞","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009751355,"name":"红色标记","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626654,"name":"亚当和夏娃","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681195,"name":"淘金者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009747843,"name":"狂野风格","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008536133,"name":"野生丛林","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009612841,"name":"红色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717737,"name":"春季花束","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605677,"name":"烧焦","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681196,"name":"越野车","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615939,"name":"神鸟","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007225462,"name":"观鸟者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005068,"name":"钒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009365542,"name":"培乐多","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009664157,"name":"病毒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595682,"name":"抽象线条","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004959661,"name":"蜘蛛","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":921009710983,"name":"游戏手柄","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009747842,"name":"逆波","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661136,"name":"巴布什卡的被子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006313000,"name":"石灰爆裂","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668726,"name":"创意工程师","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610629,"name":"蓝色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365547,"name":"硅酸盐","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":931009761273,"name":"薄荷糖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668723,"name":"时尚坦克手","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009725831,"name":"UFO","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365548,"name":"数独","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920004959691,"name":"液态金属","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920007987729,"name":"热带树叶","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615938,"name":"救生员","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009603228,"name":"奇怪的鱼","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595693,"name":"雷暴球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009621496,"name":"粉红色大象","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005371061,"name":"万圣节","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376821,"name":"薄荷","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":921009725832,"name":"丑角","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005376,"name":"睡衣","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009600933,"name":"木头迷彩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005371060,"name":"僵尸","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920009365549,"name":"曲折","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920006240691,"name":"日落伪装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675331,"name":"战舰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365546,"name":"波纹","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009662894,"name":"450 纳米","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005715670,"name":"金光闪烁","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595689,"name":"羽毛","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":921009710982,"name":"火山喷发","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005868360,"name":"雪花","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005374,"name":"月球土壤","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":920009656662,"name":"深蓝色像素","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663647,"name":"荞麦","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009611366,"name":"白色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004826760,"name":"金星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":750000,"currency":0},{"id":920009661139,"name":"珍贵的耳钉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668724,"name":"设计师氛围","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656658,"name":"大洋洲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662893,"name":"蓝色几何","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601471,"name":"远古巨龙","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661137,"name":"恒星和火焰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601652,"name":"黑曜石","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005062,"name":"故障","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009621497,"name":"可怕的事情","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626658,"name":"微型砖石","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707343,"name":"前卫派","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674717,"name":"飞镖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009603229,"name":"礼物包装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595699,"name":"彩色玻璃","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920009595697,"name":"炼乳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009684085,"name":"游戏玩家","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742074,"name":"海滩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365530,"name":"天蓝","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009365544,"name":"陶艺家","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":921009738090,"name":"流行它","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626656,"name":"烤炉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662895,"name":"祖母的沙发","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009761274,"name":"瞄准镜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365543,"name":"流行艺术","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009684084,"name":"环保型","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675332,"name":"核能太阳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365538,"name":"佩斯利火焰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009365536,"name":"莲花","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920007231181,"name":"视网膜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365545,"name":"脉冲星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":921009758815,"name":"落叶","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006148423,"name":"您所需要的是…","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365531,"name":"古奇旗子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009601651,"name":"压碎机","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006313001,"name":"丁香花瓣","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762778,"name":"毯子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674718,"name":"进攻","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006502632,"name":"加加林的山","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009738091,"name":"绿洲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615937,"name":"翻滚","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601650,"name":"塔兰图拉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365537,"name":"莫奈","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920005192443,"name":"水彩画","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":920009596453,"name":"微风","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":7000,"currency":2},{"id":920009656660,"name":"橙色海胆","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600930,"name":"红色果酱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662892,"name":"撕碎","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365532,"name":"幻觉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920004826769,"name":"神经元","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":920009600932,"name":"新加坡","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742073,"name":"52 区","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276300,"name":"新年礼物","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009653807,"name":"包装长筒袜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365540,"name":"山峰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009653806,"name":"丰富的装饰品","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005064,"name":"斯堪的纳维亚","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009678474,"name":"苏打水","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005370,"name":"草莓","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":921009687165,"name":"鹰眼","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678473,"name":"蛋糕","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376822,"name":"干旱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009668725,"name":"飞驰之星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365541,"name":"幻影","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009600931,"name":"蓝色果酱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595695,"name":"大都市","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004704579,"name":"永恒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920003139980,"name":"Vip 迷彩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009734907,"name":"星光大道","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007987681,"name":"冷静兄弟!","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004826768,"name":"青柠","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":921009713706,"name":"矢量","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009692268,"name":"靶子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009751354,"name":"化装舞会","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240690,"name":"钢微纤维","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009734906,"name":"和平, 工作, 五月!","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009758816,"name":"小木屋","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661138,"name":"外星人链甲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009692269,"name":"俄罗斯方块","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717738,"name":"复活节","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595691,"name":"火龙","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920004704454,"name":"月球漫步者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376820,"name":"琥珀","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":931009762777,"name":"平安夜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678472,"name":"烧烤","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605680,"name":"西瓜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621498,"name":"鱿鱼的手指","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707344,"name":"神经网络","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601640,"name":"帽子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365535,"name":"棒棒糖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920005192442,"name":"多米诺骨牌","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009365539,"name":"佩斯利冰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920008536134,"name":"外星人的秘密","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702021,"name":"热带地区","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702022,"name":"路障胶带","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595687,"name":"蓝方块","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009687164,"name":"声纳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605681,"name":"玉鳞","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009713707,"name":"问题","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704578,"name":"红色西装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920009595685,"name":"E236","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920007005372,"name":"生锈","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920007005378,"name":"牛排","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009653805,"name":"所有的好东西","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005066,"name":"理发店","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009365533,"name":"超立方体","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004826761,"name":"冰霜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":650000,"currency":0},{"id":920004959631,"name":"迪斯科","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004704214,"name":"外星人","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":920004703495,"name":"上帝之眼","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004826763,"name":"毛线衣","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":120000,"currency":0},{"id":920004826766,"name":"像素心","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004826767,"name":"夜晚","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":920004704338,"name":"铁匠","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":225000,"currency":0},{"id":920004704691,"name":"浣熊","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":210000,"currency":0},{"id":920004703851,"name":"纳米","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":350000,"currency":0},{"id":920004959751,"name":"牛仔裤","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":90000,"currency":0},{"id":920004703733,"name":"猛虎","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":500000,"currency":0},{"id":920004704336,"name":"雪豹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":400000,"currency":0},{"id":920004703499,"name":"蜂巢","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":120000,"currency":0},{"id":920004959841,"name":"撒哈拉沙漠","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004704331,"name":"绿宝石","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":370000,"currency":0},{"id":920004704690,"name":"伐木工","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":160000,"currency":0},{"id":920004704337,"name":"火山","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004703732,"name":"古典","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":300000,"currency":0},{"id":920004704332,"name":"地狱火","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":440000,"currency":0},{"id":920004704451,"name":"犀牛","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":37000,"currency":0},{"id":920004704330,"name":"镀铅","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":25000,"currency":0},{"id":920004703498,"name":"龙鳞骑士","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004826765,"name":"软花","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004703979,"name":"蟒蛇","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004703497,"name":"金钱豹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":300000,"currency":0},{"id":920004704095,"name":"斑纹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":75000,"currency":0},{"id":920004703857,"name":"链甲","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":920004704339,"name":"樱花","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":920004704459,"name":"爱你一万年","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004959811,"name":"万花筒","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":130000,"currency":0},{"id":920004703493,"name":"碳钎","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004959781,"name":"滑稽演员","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":40000,"currency":0},{"id":920004703855,"name":"原子","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":920004826762,"name":"宇宙空间","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":920004704096,"name":"花火","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":200000,"currency":0},{"id":920004704693,"name":"涂鸦","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":250000,"currency":0},{"id":920004704210,"name":"番茄玛丽","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004704692,"name":"非洲","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":400000,"currency":0},{"id":920004826764,"name":"初恋","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":110000,"currency":0},{"id":920004703496,"name":"死亡骑士","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":80000,"currency":0},{"id":920004704455,"name":"侵略者","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004704334,"name":"宙斯","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":500000,"currency":0},{"id":920004703971,"name":"海军","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":920005376824,"name":"草原","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":40000,"currency":0},{"id":920004703491,"name":"幻影骑士","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":920004703731,"name":"暴风雪","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":3000,"currency":0},{"id":920004704457,"name":"旋涡","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":13000,"currency":0},{"id":920004959871,"name":"五彩纸屑","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":13000,"currency":0},{"id":920004704217,"name":"极地隐身","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004703619,"name":"丛林杀手","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":9000,"currency":0},{"id":920004703494,"name":"隐身衣","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":14000,"currency":0},{"id":920004703492,"name":"沼泽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":2000,"currency":0},{"id":920004704453,"name":"破绽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004703859,"name":"沙漠","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":4500,"currency":0},{"id":920004703611,"name":"樱桃","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004703614,"name":"磐石","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":15000,"currency":0},{"id":920004704093,"name":"激浪","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":11000,"currency":0},{"id":920004703850,"name":"毕加索","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":65000,"currency":0},{"id":920004704097,"name":"森林","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":2500,"currency":0},{"id":920004703615,"name":"极地沼泽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704212,"name":"冬天","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":7000,"currency":0},{"id":920004703970,"name":"热带","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":8000,"currency":0},{"id":920004703853,"name":"岩浆","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704092,"name":"泥浆","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":6500,"currency":0},{"id":920004704211,"name":"丛林","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":1000,"currency":0},{"id":920004704450,"name":"游击队","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":4000,"currency":0},{"id":920004703854,"name":"像素","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":25000,"currency":0},{"id":920004704091,"name":"锈斑","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":12000,"currency":0},{"id":920004959721,"name":"苔藓","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":70000,"currency":0},{"id":920004703490,"name":"废墟","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":3500,"currency":0},{"id":920004703856,"name":"火星","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":45000,"currency":0},{"id":920004703739,"name":"翡翠","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004704218,"name":"松针","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004703617,"name":"流沙","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":6000,"currency":0},{"id":920005376823,"name":"红色城市","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":75000,"currency":0},{"id":920004703616,"name":"雪松","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":5500,"currency":0},{"id":920004703852,"name":"城市","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":7500,"currency":0},{"id":920004704094,"name":"风语者","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":1931009779875,"name":"天空蓝","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779882,"name":"黄色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779878,"name":"金色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779872,"name":"苹果色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703972,"name":"褐红色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704213,"name":"平静","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779874,"name":"偏蓝色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704216,"name":"幻影黑","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779879,"name":"黄马甲","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779881,"name":"紫罗兰色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703973,"name":"雪山飞狐","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779876,"name":"珊瑚色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704099,"name":"橄榄绿","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779873,"name":"海蓝色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779877,"name":"紫红色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703974,"name":"芥末","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779880,"name":"中国红","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703975,"name":"合金装备","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920009597070,"name":"获胜者","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623043,"name":"吸血鬼","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623044,"name":"不死族","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623042,"name":"幽灵","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601442,"name":"星光","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601441,"name":"兰尼","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601443,"name":"塔吉斯","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648083,"name":"精灵","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648084,"name":"圣诞老人","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648085,"name":"雪人","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601163,"name":"先生","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601164,"name":"女士","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601400,"name":"经销商","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703610,"name":"节日","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780117,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780075,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780076,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780124,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007464,"name":"实验性的烟雾","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780077,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780074,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780073,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780062,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780059,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780061,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780058,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007458,"name":"实验性的耀斑","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780120,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780060,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780121,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780140,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780139,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780137,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":183000,"currency":0},{"id":1931009780138,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007463,"name":"实验性的礼炮","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780141,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780143,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780142,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780066,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802782,"name":"实验性的磁铁","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780045,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780065,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780063,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780064,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780067,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780044,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780219,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007775,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780214,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780215,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780216,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780217,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780218,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780213,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007462,"name":"实验性的医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780068,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780122,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780071,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780070,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780069,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780123,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":118000,"currency":0},{"id":1931009780072,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780057,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780119,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780056,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780055,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007459,"name":"实验性的泡沫","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780054,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780125,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780051,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780080,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780118,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007466,"name":"实验性的星辰","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780079,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780078,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780082,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780081,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780115,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780165,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780161,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780159,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007465,"name":"实验性的雪球","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780164,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780162,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780163,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780160,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780153,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780151,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780149,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780150,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780155,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780148,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007457,"name":"实验性的球状体","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780152,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009803196,"name":"实验性的炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009770000,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780049,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1930009780046,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780047,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780014,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1,"currency":2},{"id":1931009780050,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780048,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780131,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780133,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780113,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780134,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780132,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780130,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780128,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007460,"name":"实验性的南瓜","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780178,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780176,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10100,"currency":0},{"id":1931009780179,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780181,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780182,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780180,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931010007461,"name":"实验性的迫击炮","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780177,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009602495,"name":"布鲁特斯","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1000,"currency":0},{"id":920009598471,"name":"破坏者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009627606,"name":"亥伯龙神","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":320000,"currency":0},{"id":1931009778276,"name":"亥伯龙神 XT","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598611,"name":"欺诈者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506512,"name":"助推器","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506514,"name":"守卫者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506518,"name":"机械师","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":1931009803273,"name":"Default","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803274,"name":"神谕者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009671854,"name":"危机","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":365000,"currency":0},{"id":1931009774811,"name":"危机 XT","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631019,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631024,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631023,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631022,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631018,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631020,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631021,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630947,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630946,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630942,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630943,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630945,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630944,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630941,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631103,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631107,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631105,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631102,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631106,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631108,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631104,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631039,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631041,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631042,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631044,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631043,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631045,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631040,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630929,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630932,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630927,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630928,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630933,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630931,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630930,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631027,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631029,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631026,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631028,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631031,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631025,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631030,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630968,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630964,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630967,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630965,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630966,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630963,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630962,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630961,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630958,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630956,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630960,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630959,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630955,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630957,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009707336,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009707335,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009707339,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009707338,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009707333,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707337,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009707334,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009665242,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009665504,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009665505,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009665500,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009665503,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009665501,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009661882,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009749936,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009749937,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009749939,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009749938,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009749940,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009749934,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009749935,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009687070,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009687068,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009687069,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009687071,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009687072,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009687067,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009687066,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630978,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630977,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630980,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630979,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630981,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630976,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630982,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631076,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631078,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631079,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631074,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631080,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631075,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631077,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009744558,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744560,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744562,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009741519,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744563,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744564,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744561,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631164,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631159,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631158,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631163,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631160,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631161,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631162,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631144,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631149,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631148,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631150,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631145,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631146,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631147,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631000,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630999,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631003,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630998,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630997,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631001,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631002,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631171,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631166,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631169,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631170,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631165,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631167,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631168,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630991,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630993,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630992,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630990,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630996,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630995,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630994,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631088,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631094,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631091,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631089,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631090,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631093,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631092,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009714088,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009714084,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009714087,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009714090,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009714089,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009714085,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009714086,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780258,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780259,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780255,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780251,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780260,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780256,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780257,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631125,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631129,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631127,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631128,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631124,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631126,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631123,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630986,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630987,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630989,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630984,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630985,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630988,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630983,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631156,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631151,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631155,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631152,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631153,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631157,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631154,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631016,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631017,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631015,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631013,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631011,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631014,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631012,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":931009771128,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":931009771125,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":931009771122,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771124,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":931009771127,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":931009771123,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":931009771126,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630975,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630974,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630971,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630972,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630970,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630969,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630973,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631050,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631049,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631048,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631051,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631046,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631052,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631047,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630916,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630918,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630919,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630915,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630914,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630913,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630917,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920004704699,"name":"勋爵","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789029,"name":"蜘蛛","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009789031,"name":"秃鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789009,"name":"猎鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789011,"name":"狐狸","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789033,"name":"鼬","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789007,"name":"鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789013,"name":"狮鹫","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789005,"name":"海豚","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789037,"name":"犰狳 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":275000,"currency":0},{"id":1931009789015,"name":"灰熊","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789019,"name":"山猫 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789027,"name":"鲨鱼","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789021,"name":"虎鲸","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789035,"name":"狼","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789017,"name":"狮子","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789006,"name":"獾","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789023,"name":"猫头鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920009629139,"name":"光谱 M","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780272,"name":"乌鸦","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004704851,"name":"光谱 B","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789025,"name":"黑豹 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004704850,"name":"光谱 A","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803187,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007548,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803195,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803188,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704852,"name":"光谱 C","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704698,"name":"恶魔","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009759269,"name":"螯","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812007,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812023,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812002,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812027,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812024,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812012,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812014,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812022,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812013,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812005,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812025,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812015,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812011,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812026,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812021,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812006,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812010,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812009,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812008,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812016,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780252,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649446,"name":"雷暴炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009612103,"name":"电磁炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607727,"name":"激光炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626652,"name":"极速炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812040,"name":"火龙珠 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780169,"name":"镭射炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780168,"name":"滑膛炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780029,"name":"冰风暴 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779702,"name":"轰天炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009493,"name":"蝎子 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812042,"name":"特斯拉 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009492,"name":"极速炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780034,"name":"离子炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778275,"name":"雷暴炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812004,"name":"火焰炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780028,"name":"电磁炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008894,"name":"火箭炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780001,"name":"磁力炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780006,"name":"激光炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780227,"name":"火箭炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779703,"name":"冰风暴 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009714801,"name":"特斯拉 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780032,"name":"雷暴炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774810,"name":"蝎子 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780308,"name":"海啸 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780171,"name":"雷暴炮 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780309,"name":"海啸 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780228,"name":"特斯拉 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780225,"name":"冰风暴 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780226,"name":"蝎子 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008958,"name":"火箭炮 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009729742,"name":"火箭炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658798,"name":"极速炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648668,"name":"激光炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681686,"name":"电磁炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601410,"name":"雷暴炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771254,"name":"火龙珠 RT 皮肤 ","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812045,"name":"电磁炮 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802582,"name":"特斯拉 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812048,"name":"激光炮 RF 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780230,"name":"蝎子 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779622,"name":"离子炮 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598871,"name":"镭射炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600521,"name":"离子炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600890,"name":"马格南 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661271,"name":"电磁炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596345,"name":"激光炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600651,"name":"磁力炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596348,"name":"火焰炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597310,"name":"冰风暴 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601362,"name":"火箭炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596346,"name":"雷暴炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601140,"name":"滑膛炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597080,"name":"轰天炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598350,"name":"火龙珠 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596347,"name":"极速炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784005,"name":"马格南 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784003,"name":"冰风暴 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780046,"name":"电磁炮 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812039,"name":"滑膛炮 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780234,"name":"轰天炮 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780311,"name":"雷暴炮 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009764463,"name":"冰风暴 SE 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780007,"name":"磁力炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009785007,"name":"电磁炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770959,"name":"轰天炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648019,"name":"火龙珠 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597040,"name":"雷暴炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774424,"name":"滑膛炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779045,"name":"特斯拉 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771443,"name":"镭射炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600940,"name":"激光炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009785006,"name":"极速炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770085,"name":"离子炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780002,"name":"冰风暴 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780004,"name":"火焰炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812034,"name":"镭射炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009760170,"name":"火焰炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780026,"name":"极速炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778883,"name":"滑膛炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009788026,"name":"磁力炮 DC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780229,"name":"滑膛炮 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801590,"name":"马格南 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752099,"name":"离子炮 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599320,"name":"旧火焰炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780027,"name":"猎人中甲 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778882,"name":"维京 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009760624,"name":"黄蜂轻甲 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596343,"name":"维京 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597170,"name":"泰坦 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599210,"name":"独裁者 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596342,"name":"蜂王 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600650,"name":"猎人中甲 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596341,"name":"黄蜂轻甲 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596344,"name":"猛犸象 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752104,"name":"猛犸象 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009788027,"name":"猎人中甲 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812047,"name":"蜂王 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812033,"name":"独裁者 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801532,"name":"泰坦 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780312,"name":"维京 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780232,"name":"黄蜂轻甲 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812041,"name":"泰坦 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778273,"name":"维京 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780005,"name":"独裁者 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779700,"name":"猎人中甲 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780033,"name":"猛犸象 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812003,"name":"黄蜂轻甲 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780003,"name":"蜂王 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009787041,"name":"霍珀 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008913,"name":"十字军 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780310,"name":"圣骑士 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780173,"name":"维京 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780224,"name":"蜂王 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780223,"name":"阿瑞斯 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009651438,"name":"猛犸象 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774423,"name":"泰坦 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770958,"name":"黄蜂轻甲 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":2931009771444,"name":"独裁者 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597060,"name":"维京 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770084,"name":"猎人中甲 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601280,"name":"蜂王 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812018,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812035,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812031,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812032,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812020,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812028,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812029,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812037,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812036,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812019,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812038,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812030,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017176178,"name":"蜂王 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009616645,"name":"猎人中甲 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649445,"name":"维京 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621495,"name":"泰坦 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009735892,"name":"猛犸象 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601730,"name":"维京 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681186,"name":"蜂王 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009664158,"name":"猎人中甲 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771253,"name":"圣骑士 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802583,"name":"霍珀 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780222,"name":"阿瑞斯 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779609,"name":"十字军 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780008,"name":"维京 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780167,"name":"蜂王 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707505,"name":"十字军 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009750345,"name":"圣骑士 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687219,"name":"霍珀 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681748,"name":"阿瑞斯 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598690,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599829,"name":"雪","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600025,"name":"寒冷","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600018,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600022,"name":"暗月","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601695,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601692,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601694,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601696,"name":"虚空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601680,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601690,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601670,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600044,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600032,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600035,"name":"雪","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600053,"name":"黑暗","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600039,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600030,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600045,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784001,"name":"魔法","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615223,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615220,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615219,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615222,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615221,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774784,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009659286,"name":"神秘的红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599994,"name":"虚空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599986,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600000,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600005,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599992,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600003,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599990,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599993,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600002,"name":"正午","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600136,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600128,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600117,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600120,"name":"电","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600140,"name":"烟雾","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600109,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600123,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600118,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771442,"name":"爆破手","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600081,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009777708,"name":"爆破手","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599878,"name":"电","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600070,"name":"暗月","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600072,"name":"珊瑚礁","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600069,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600080,"name":"天空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600089,"name":"粉红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600086,"name":"幻影黑","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600092,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600091,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009361,"name":"Experimental","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600059,"name":"太阳","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600060,"name":"火","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600141,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599963,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599774,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600142,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661408,"name":"暴力","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008509,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":1931010008506,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1800,"currency":0},{"id":1931010008507,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":18000,"currency":0},{"id":1931010008508,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":54000,"currency":0},{"id":1931010008510,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":540000,"currency":0},{"id":1931010008807,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931010008809,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931010008805,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931010008808,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931010008806,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931010007354,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931010007356,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931010007355,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931010007357,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931010007353,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931009803162,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931009803193,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931009803194,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931009780108,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931009780111,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009782058,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782056,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782054,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009803109,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782053,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782057,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782050,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009803110,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782046,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782049,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782051,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782047,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009782021,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":2},{"id":1931009782035,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":15000,"currency":2},{"id":1931009782022,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":2},{"id":1931009782028,"name":"50","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7500,"currency":2},{"id":1931009782025,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782017,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009803107,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782024,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782026,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782018,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009782039,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":0},{"id":1931009782042,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009803111,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4500,"currency":0},{"id":1931009782040,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":15000,"currency":0},{"id":1931009782044,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1499850,"currency":0},{"id":1931009782043,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":450000,"currency":0},{"id":1931009782029,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782030,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009803108,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782032,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782033,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782034,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":921009681435,"name":"坦克币箱","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481788,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476544,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482007,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471023,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471305,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482189,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147474824,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471030,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481805,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481660,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147468148,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482033,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482026,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481801,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476331,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147474231,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476301,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147479784,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482028,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482074,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481833,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147479782,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481447,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147478065,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482713,"name":"","category":14,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147472856,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482092,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0}]} \ No newline at end of file diff --git a/TankiOffline/app/src/jsMain/resources/lobby.css b/TankiOffline/app/src/jsMain/resources/lobby.css index f04125b..a39edc4 100644 --- a/TankiOffline/app/src/jsMain/resources/lobby.css +++ b/TankiOffline/app/src/jsMain/resources/lobby.css @@ -289,3 +289,120 @@ img { display: block; } .nav span { display: none; } .nav { justify-content: center; } } + +/* ---------------- React 车库 ---------------- */ +.garage-host { height: 100%; min-height: 0; } +.garage { + display: flex; flex-direction: column; gap: 12px; height: 100%; min-height: 0; +} +.garage-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; } +.garage-head h2 { margin: 0; font: 600 22px/1.2 BaseFontMedium, sans-serif; } +.garage-head h2 small { margin-left: 8px; color: var(--muted); font-size: 12px; font-weight: 400; } +.garage-search { + width: 240px; padding: 8px 12px; border-radius: 6px; + border: 1px solid rgba(255,255,255,.14); background: rgba(3,10,16,.72); color: #fff; outline: none; +} +.garage-search:focus { border-color: rgba(255,179,0,.6); } +.garage-tabs { display: flex; flex-wrap: wrap; gap: 6px; } +.garage-tab { + display: inline-flex; align-items: center; gap: 7px; + padding: 6px 12px; border-radius: 5px; font-size: 12px; + border: 1px solid rgba(255,255,255,.12); background: rgba(4,12,20,.62); color: #c7d7e6; +} +.garage-tab span { color: var(--muted); font-size: 10px; } +.garage-tab:hover { border-color: rgba(255,255,255,.3); } +.garage-tab.active { + border-color: #8a5d00; color: #241800; font-weight: 700; + background: linear-gradient(180deg, #ffc93d, #f29500); +} +.garage-tab.active span { color: #4a3200; } +.garage-main { flex: 1; min-height: 0; display: flex; gap: 14px; } +.garage-grid { + flex: 1; min-width: 0; overflow: auto; align-content: start; + display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; padding-right: 4px; +} +.garage-card { + position: relative; display: flex; flex-direction: column; align-items: stretch; + padding: 0; border-radius: 7px; overflow: hidden; text-align: left; + border: 1px solid rgba(255,255,255,.10); + border-top: 2px solid var(--rarity, #9aa3b2); + background: linear-gradient(180deg, rgba(20,34,48,.92), rgba(6,12,18,.94)); + color: var(--text); +} +.garage-card:hover { border-color: var(--rarity, #9aa3b2); transform: translateY(-1px); } +.garage-card.selected { box-shadow: 0 0 0 1px var(--rarity, #ffb300), 0 0 18px rgba(255,179,0,.18); } +.garage-card-art { + height: 64px; display: flex; align-items: center; justify-content: center; + font: 800 26px/1 BaseFontBold, sans-serif; color: var(--rarity, #9aa3b2); + background: radial-gradient(closest-side, color-mix(in srgb, var(--rarity, #9aa3b2) 38%, transparent), transparent 72%); +} +.garage-card-name { + padding: 0 8px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; +} +.garage-card-meta { + padding: 2px 8px 8px; display: flex; align-items: center; justify-content: space-between; gap: 6px; + color: var(--muted); font-size: 10px; +} +.garage-price { color: #ffd76a; } +.garage-premium { + position: absolute; top: 5px; right: 5px; padding: 0 5px; border-radius: 3px; + background: var(--accent); color: #241800; font: 800 9px/14px BaseFontBold, sans-serif; +} +.garage-empty { grid-column: 1 / -1; padding: 40px; text-align: center; color: var(--muted); } +.garage-detail { + width: 300px; flex: 0 0 300px; display: flex; flex-direction: column; gap: 8px; + padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.10); + background: rgba(6,14,22,.78); +} +.garage-detail h3 { margin: 0 0 4px; font: 600 17px/1.3 BaseFontMedium, sans-serif; } +.garage-preview { + height: 190px; border-radius: 6px; border: 1px solid rgba(255,255,255,.08); + background: + radial-gradient(60% 60% at 50% 45%, rgba(63,159,224,.16), transparent 70%), + linear-gradient(180deg, rgba(255,255,255,.04), transparent); +} +.garage-preview-label { color: var(--muted); font-size: 11px; text-align: center; margin-top: -4px; } +.garage-props { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; } +.garage-prop { + display: flex; align-items: center; justify-content: space-between; + padding: 5px 8px; border-radius: 4px; background: rgba(255,255,255,.03); font-size: 12px; +} +.garage-prop span { color: var(--muted); } +.garage-prop b { font-weight: 600; } + +/* ---------------- 大厅浮动元素 ---------------- */ +.lobby-chat { + position: absolute; left: 118px; bottom: 34px; width: 370px; z-index: 5; + padding: 9px 10px; border-radius: 8px; + border: 1px solid rgba(255,255,255,.08); + background: rgba(3,9,14,.72); backdrop-filter: blur(4px); +} +.chat-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-size: 12px; } +.lobby-chat .chat-box { height: 148px; } +.lobby-chat .chat-input { margin-top: 6px; } + +.play-fab { + position: absolute; right: 42px; bottom: 46px; z-index: 6; + display: flex; align-items: center; gap: 14px; + padding: 14px 34px 14px 24px; border-radius: 4px; + border: 1px solid #8a5d00; + background: linear-gradient(180deg, #ffc93d, #ef9100); + color: #241800; font: 800 22px/1 BaseFontBold, sans-serif; + box-shadow: 0 10px 28px rgba(0,0,0,.45), 0 0 24px rgba(255,179,0,.25); + letter-spacing: .04em; +} +.play-fab img { width: 34px; height: 34px; } +.play-fab:hover { filter: brightness(1.06); } + +/* 稀有度颜色(React 车库卡片) */ +.rarity-0 { --rarity: #9aa3b2; } +.rarity-1 { --rarity: #5fbf6a; } +.rarity-2 { --rarity: #3f8fe0; } +.rarity-3 { --rarity: #a05fe0; } +.rarity-4 { --rarity: #e0a13f; } +.rarity-5 { --rarity: #e05f5f; } + +@media (max-width: 900px) { + .lobby-chat { display: none; } + .play-fab { right: 18px; bottom: 24px; } +} diff --git a/TankiOffline/kotlin-js-store/package-lock.json b/TankiOffline/kotlin-js-store/package-lock.json new file mode 100644 index 0000000..6dd8a18 --- /dev/null +++ b/TankiOffline/kotlin-js-store/package-lock.json @@ -0,0 +1,6328 @@ +{ + "name": "TankiOffline", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "TankiOffline", + "version": "0.1.0", + "workspaces": [ + "packages/TankiOffline-app", + "packages/TankiOffline-app-test", + "packages/TankiOffline-core", + "packages/TankiOffline-core-test", + "packages/TankiOffline-net", + "packages/TankiOffline-net-test", + "packages/TankiOffline-state", + "packages/TankiOffline-state-test", + "packages_imported/kotlin-react-core/2025.5.0-19.1.0", + "packages_imported/kotlin-csstype/2025.5.0-3.1.3", + "packages_imported/kotlin-cssom-core/2025.5.0", + "packages_imported/kotlin-react-dom/2025.5.0-19.1.0", + "packages_imported/kotlin-emotion/2025.3.26" + ], + "devDependencies": {} + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.8", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", + "dependencies": { + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.11", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.11.tgz", + "integrity": "sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.11", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.11.tgz", + "integrity": "sha512-OZ6+oaK7GMyg3IfCpj8JOmn8n+w2rJbDT0LLfVDTLb1ZFeKDh3AiNELgCMUw175IJHSkLl74hG0M0VLsvx+gag==", + "dependencies": { + "@babel/types": "^7.29.11" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.10", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.29.10.tgz", + "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.10", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.10.tgz", + "integrity": "sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ==", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.9", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/@babel/types": { + "version": "7.29.11", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.11.tgz", + "integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.29.11", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmmirror.com/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/css": { + "version": "11.13.5", + "resolved": "https://registry.npmmirror.com/@emotion/css/-/css-11.13.5.tgz", + "integrity": "sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==", + "dependencies": { + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" + }, + "node_modules/@emotion/styled": { + "version": "11.14.1", + "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmmirror.com/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.3.tgz", + "integrity": "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.9", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.9.tgz", + "integrity": "sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "26.6.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-26.6.5.tgz", + "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==", + "dev": true, + "dependencies": { + "undici-types": "~8.9.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.18.2", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.19.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.19.0.tgz", + "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.30", + "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.30.tgz", + "integrity": "sha512-YJs6Pz17RMNv8HoyKREtCY38E3BV1nPkWVmIb+XN1uHC1Vqt3KZCH/uJH9ZKRoiKb/icZ6tvehyee6RZNbFfRA==", + "dev": true, + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.8", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.8.tgz", + "integrity": "sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA==", + "dev": true, + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.16.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bonjour-service": { + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.4.4.tgz", + "integrity": "sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.29.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.29.4.tgz", + "integrity": "sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "baseline-browser-mapping": "^2.11.29", + "caniuse-lite": "^1.0.30001816", + "electron-to-chromium": "^1.5.459", + "node-releases": "^2.0.59", + "update-browserslist-db": "^1.3.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001817", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001817.tgz", + "integrity": "sha512-uZ1JG80BwhtMalIAGPxPfmNhHyd/B/nTdr3hITWlRamSyAdUStP1Gop01e7SD5q6J90ixJvWDbvmiFVfDgn4bw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.8.2.tgz", + "integrity": "sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "destroy": "1.2.0", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmmirror.com/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmmirror.com/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/diff": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/diff/-/diff-5.2.2.tgz", + "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.461", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.461.tgz", + "integrity": "sha512-3WZFARz1By+/rYcqQ0OLj4UcEdhd6tz2LEcDtKBUq7ey77EeJ1OtetY/5hjSUxw7dC5r5mA7FfkhRbqO9vnTCg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.6.11", + "resolved": "https://registry.npmmirror.com/engine.io/-/engine.io-6.6.11.tgz", + "integrity": "sha512-z34mGpLoY/82ZbkX1LqGMIaf3wjVMPL6gVC681QDqnmzJ26synI8qAE32P+a7UazmpJZ8UGrFIeAavgRfXzYrg==", + "dev": true, + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "@types/ws": "^8.5.12", + "accepts": "~1.3.4", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.21.0" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.26.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.26.0.tgz", + "integrity": "sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", + "dev": true, + "peer": true + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.22.3", + "resolved": "https://registry.npmmirror.com/express/-/express-4.22.3.tgz", + "integrity": "sha512-Bdcs4+3qlpVlx2NRn6fgX2Ue2/gGRaPeawebgclM0ERSCqDpA+owF1fdPwjJUTAJWMTuAaxjDf+hzb0/4eKvvw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.13", + "proxy-addr": "~2.0.7", + "qs": "~6.16.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-uri": { + "version": "3.1.9", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.9.tgz", + "integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ] + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fflate": { + "version": "0.8.3", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.3.tgz", + "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flatted": { + "version": "3.4.4", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.16.1", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.1.tgz", + "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/format-util": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/format-util/-/format-util-1.0.5.tgz", + "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==", + "dev": true + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.10.tgz", + "integrity": "sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.5.0.tgz", + "integrity": "sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.17.0", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.17.0.tgz", + "integrity": "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==", + "dependencies": { + "hasown": "^2.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmmirror.com/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-mocha": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/karma-mocha/-/karma-mocha-2.0.1.tgz", + "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.3" + } + }, + "node_modules/karma-sourcemap-loader": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz", + "integrity": "sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.10" + } + }, + "node_modules/karma-webpack": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/karma-webpack/-/karma-webpack-5.0.1.tgz", + "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^9.0.3", + "webpack-merge": "^4.1.5" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/karma-webpack/node_modules/brace-expansion": { + "version": "2.1.7", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/karma-webpack/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kotlin-cssom-core": { + "resolved": "packages_imported/kotlin-cssom-core/2025.5.0", + "link": true + }, + "node_modules/kotlin-csstype": { + "resolved": "packages_imported/kotlin-csstype/2025.5.0-3.1.3", + "link": true + }, + "node_modules/kotlin-emotion": { + "resolved": "packages_imported/kotlin-emotion/2025.3.26", + "link": true + }, + "node_modules/kotlin-react-core": { + "resolved": "packages_imported/kotlin-react-core/2025.5.0-19.1.0", + "link": true + }, + "node_modules/kotlin-react-dom": { + "resolved": "packages_imported/kotlin-react-dom/2025.5.0-19.1.0", + "link": true + }, + "node_modules/kotlin-web-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz", + "integrity": "sha512-xkVGl60Ygn/zuLkDPx+oHj7jeLR7hCvoNF99nhwXMn8a3ApB4lLiC9pk4ol4NHPjyoCbvQctBqvzUcp8pkqyWw==", + "dev": true, + "dependencies": { + "format-util": "^1.0.5" + } + }, + "node_modules/launch-editor": { + "version": "2.14.2", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.14.2.tgz", + "integrity": "sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==", + "dev": true, + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.10.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.2.tgz", + "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", + "dev": true, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/log4js/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/log4js/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimizer-webpack-plugin": { + "version": "5.13.1", + "resolved": "https://registry.npmmirror.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.13.1.tgz", + "integrity": "sha512-1mhAfvachWYYOm8tpmany5NLuvP+F2wxZWBSX8DC0uFS2wJpM9q3rWgN9wBooAH9d5V12wX0BjyJe4fMjHMarQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.31", + "jest-worker": "^27.4.5", + "schema-utils": "^4.6.0", + "terser": "^5.51.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@napi-rs/image": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "imagemin": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "sharp": { + "optional": true + }, + "svgo": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "10.7.3", + "resolved": "https://registry.npmmirror.com/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.1.7", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.7.tgz", + "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-forge": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.59", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.59.tgz", + "integrity": "sha512-5qr2okC4ItAI0hG5SaV0HoYMpnM/Y6+Oqr7AmPYy/2uEoGvS+GbSKLeRxSS1uAdu59yz0ouzcuXievSgg///WA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.8.tgz", + "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.16.1", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.16.1.tgz", + "integrity": "sha512-5Px6J7rfHBAGUhNQ3es4YzcOdBBw0SDcVtThJml4RdnKw4tKs2epA0kPZ+K8X+WiHktT93RHVcQ/3ym5aTCgtg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "dev": true, + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-19.3.1.tgz", + "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.3.1.tgz", + "integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==", + "dependencies": { + "scheduler": "^0.28.0" + }, + "peerDependencies": { + "react": "^19.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.13", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.13.tgz", + "integrity": "sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.17.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.28.0", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.28.0.tgz", + "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==" + }, + "node_modules/schema-utils": { + "version": "4.8.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.8.1.tgz", + "integrity": "sha512-x39pYlJPyH7Uge5QO64B9XGP9zLDc9WNmiQZc+CE3IzZPvMu3lHOuAMGpYNoPixEL7MSWlGhYTg5UlLSL8G6iw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15", + "ajv": "^8.20.0", + "ajv-formats": "^3.0.1", + "ajv-keywords": "^5.1.0" + }, + "bin": { + "schema-utils": "bin/schema-utils.js" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.112.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.12.0", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.12.0.tgz", + "integrity": "sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/socket.io": { + "version": "4.8.4", + "resolved": "https://registry.npmmirror.com/socket.io/-/socket.io-4.8.4.tgz", + "integrity": "sha512-9ZV9zg8vN8hO3Y25DhR7nUkJ1VDnBhq5O/JrXhFT9s6+F0gqytSASTHVfCFc2mJXaTfARroErplXlzFWwETZqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.8", + "resolved": "https://registry.npmmirror.com/socket.io-adapter/-/socket.io-adapter-2.5.8.tgz", + "integrity": "sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==", + "dev": true, + "dependencies": { + "debug": "~4.4.1", + "ws": "~8.21.0" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmmirror.com/socket.io-parser/-/socket.io-parser-4.2.7.tgz", + "integrity": "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy-transport/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/spdy/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/spdy/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/streamroller/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/TankiOffline-app": { + "resolved": "packages/TankiOffline-app", + "link": true + }, + "node_modules/TankiOffline-app-test": { + "resolved": "packages/TankiOffline-app-test", + "link": true + }, + "node_modules/TankiOffline-core": { + "resolved": "packages/TankiOffline-core", + "link": true + }, + "node_modules/TankiOffline-core-test": { + "resolved": "packages/TankiOffline-core-test", + "link": true + }, + "node_modules/TankiOffline-net": { + "resolved": "packages/TankiOffline-net", + "link": true + }, + "node_modules/TankiOffline-net-test": { + "resolved": "packages/TankiOffline-net-test", + "link": true + }, + "node_modules/TankiOffline-state": { + "resolved": "packages/TankiOffline-state", + "link": true + }, + "node_modules/TankiOffline-state-test": { + "resolved": "packages/TankiOffline-state-test", + "link": true + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.51.2", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.51.2.tgz", + "integrity": "sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "8.9.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", + "dev": true + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.3.4.tgz", + "integrity": "sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.6.3.tgz", + "integrity": "sha512-s3NZy0QpTY9qGqzc0wtz4qI28z3+5qKbbAec4MV4G9N3CfgZ9wgvQRr0cl2jh/tqkWG1NWHkmVMHZpCamev5Wg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "5.112.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.112.0.tgz", + "integrity": "sha512-NIBpsRuCll036haDDt/CfcTDfsWNR9Z782nMRMI9D377BsGcYzZDTNU5TyzhCJzPIcihAxMBaMAhq2WSaDrH8Q==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.26.0", + "es-module-lexer": "^2.1.0", + "events": "^3.2.0", + "graceful-fs": "^4.2.11", + "mime-db": "^1.54.0", + "minimizer-webpack-plugin": "^5.13.0", + "schema-utils": "^4.5.0", + "tapable": "^2.3.0", + "watchpack": "^2.6.1", + "webpack-sources": "^3.6.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-cli/node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.6.0.tgz", + "integrity": "sha512-EIMmPVvNI0CYXyRPp34F2Qk7W37/BZVZIofS6LAUnrNjCVahS+hO4mxwFJDjQjODTGZDtVzLYoN2+1dYkhk9qA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.5", + "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.5.tgz", + "integrity": "sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.21.3", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.21.3.tgz", + "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages_imported/kotlin-cssom-core/2025.5.0": { + "version": "2025.5.0", + "devDependencies": {} + }, + "packages_imported/kotlin-csstype/2025.5.0-3.1.3": { + "version": "2025.5.0-3.1.3", + "devDependencies": {} + }, + "packages_imported/kotlin-emotion/2025.3.26": { + "version": "2025.3.26", + "dependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/css": "^11.13.5", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "react": "^19.1.0" + }, + "devDependencies": {} + }, + "packages_imported/kotlin-react-core/2025.5.0-19.1.0": { + "version": "2025.5.0-19.1.0", + "dependencies": { + "react": "^19.1.0" + }, + "devDependencies": {} + }, + "packages_imported/kotlin-react-dom/2025.5.0-19.1.0": { + "version": "2025.5.0-19.1.0", + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": {} + }, + "packages/TankiOffline-app": { + "version": "0.0.0-unspecified", + "dependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/css": "^11.13.5", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "fflate": "0.8.3", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "ws": "8.18.0" + }, + "devDependencies": { + "kotlin-web-helpers": "2.0.0", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "typescript": "5.5.4", + "webpack": "5.94.0", + "webpack-cli": "5.1.4", + "webpack-dev-server": "4.15.2" + } + }, + "packages/TankiOffline-app-test": { + "version": "0.0.0-unspecified", + "dependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/css": "^11.13.5", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.0", + "fflate": "0.8.3", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "ws": "8.18.0" + }, + "devDependencies": { + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-sourcemap-loader": "0.4.0", + "karma-webpack": "5.0.1", + "kotlin-web-helpers": "2.0.0", + "mocha": "10.7.3", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "typescript": "5.5.4", + "webpack": "5.94.0", + "webpack-cli": "5.1.4" + } + }, + "packages/TankiOffline-app-test/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/TankiOffline-app-test/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/TankiOffline-app-test/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true + }, + "packages/TankiOffline-app-test/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/TankiOffline-app-test/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/TankiOffline-app-test/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "packages/TankiOffline-app-test/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/TankiOffline-app/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/TankiOffline-app/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/TankiOffline-app/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true + }, + "packages/TankiOffline-app/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/TankiOffline-app/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/TankiOffline-app/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "packages/TankiOffline-app/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "packages/TankiOffline-core": { + "version": "0.0.0-unspecified", + "dependencies": { + "fflate": "0.8.3" + }, + "devDependencies": {} + }, + "packages/TankiOffline-core-test": { + "version": "0.0.0-unspecified", + "dependencies": { + "fflate": "0.8.3" + }, + "devDependencies": { + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-sourcemap-loader": "0.4.0", + "karma-webpack": "5.0.1", + "kotlin-web-helpers": "2.0.0", + "mocha": "10.7.3", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "typescript": "5.5.4", + "webpack": "5.94.0", + "webpack-cli": "5.1.4" + } + }, + "packages/TankiOffline-core-test/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/TankiOffline-core-test/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/TankiOffline-core-test/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true + }, + "packages/TankiOffline-core-test/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/TankiOffline-core-test/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/TankiOffline-core-test/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "packages/TankiOffline-net": { + "version": "0.0.0-unspecified", + "dependencies": { + "fflate": "0.8.3" + }, + "devDependencies": {} + }, + "packages/TankiOffline-net-test": { + "version": "0.0.0-unspecified", + "dependencies": { + "fflate": "0.8.3" + }, + "devDependencies": { + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-sourcemap-loader": "0.4.0", + "karma-webpack": "5.0.1", + "kotlin-web-helpers": "2.0.0", + "mocha": "10.7.3", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "typescript": "5.5.4", + "webpack": "5.94.0", + "webpack-cli": "5.1.4" + } + }, + "packages/TankiOffline-net-test/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/TankiOffline-net-test/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/TankiOffline-net-test/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true + }, + "packages/TankiOffline-net-test/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/TankiOffline-net-test/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/TankiOffline-net-test/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "packages/TankiOffline-state": { + "version": "0.0.0-unspecified", + "devDependencies": {} + }, + "packages/TankiOffline-state-test": { + "version": "0.0.0-unspecified", + "devDependencies": { + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-sourcemap-loader": "0.4.0", + "karma-webpack": "5.0.1", + "kotlin-web-helpers": "2.0.0", + "mocha": "10.7.3", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "typescript": "5.5.4", + "webpack": "5.94.0", + "webpack-cli": "5.1.4" + } + }, + "packages/TankiOffline-state-test/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/TankiOffline-state-test/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "packages/TankiOffline-state-test/node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true + }, + "packages/TankiOffline-state-test/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "packages/TankiOffline-state-test/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "packages/TankiOffline-state-test/node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + } + } +}