@weppy/roblox-mcp 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +2 -2
  3. package/README.md +47 -0
  4. package/docs/en/installation/claude-code.md +2 -2
  5. package/docs/en/installation/roblox-plugin.md +3 -2
  6. package/docs/en/pro-upgrade.md +2 -1
  7. package/docs/es/installation/claude-code.md +2 -2
  8. package/docs/es/installation/roblox-plugin.md +3 -2
  9. package/docs/es/pro-upgrade.md +2 -1
  10. package/docs/id/installation/claude-code.md +2 -2
  11. package/docs/id/installation/roblox-plugin.md +3 -2
  12. package/docs/id/pro-upgrade.md +2 -1
  13. package/docs/ja/installation/claude-code.md +2 -2
  14. package/docs/ja/installation/roblox-plugin.md +3 -2
  15. package/docs/ja/pro-upgrade.md +2 -1
  16. package/docs/ko/installation/claude-code.md +2 -2
  17. package/docs/ko/installation/roblox-plugin.md +3 -2
  18. package/docs/ko/pro-upgrade.md +2 -1
  19. package/docs/pt-br/installation/claude-code.md +2 -2
  20. package/docs/pt-br/installation/roblox-plugin.md +3 -2
  21. package/docs/pt-br/pro-upgrade.md +2 -1
  22. package/package.json +1 -1
  23. package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
  24. package/plugins/weppy-roblox-mcp/dist/e2e/helpers/cleanup.js +1 -1
  25. package/plugins/weppy-roblox-mcp/dist/e2e/helpers/test-fixtures.js +1 -1
  26. package/plugins/weppy-roblox-mcp/dist/e2e/helpers/tool-executor.js +1 -1
  27. package/plugins/weppy-roblox-mcp/dist/e2e/setup/e2e-setup.js +1 -1
  28. package/plugins/weppy-roblox-mcp/dist/e2e/setup/global-setup.js +1 -1
  29. package/plugins/weppy-roblox-mcp/dist/e2e/setup/studio-connection.js +1 -1
  30. package/plugins/weppy-roblox-mcp/dist/http-bridge.js +1 -1
  31. package/plugins/weppy-roblox-mcp/dist/index.js +1 -1
  32. package/plugins/weppy-roblox-mcp/dist/server.js +1 -1
  33. package/plugins/weppy-roblox-mcp/dist/tools/asset-tools.js +1 -1
  34. package/plugins/weppy-roblox-mcp/dist/tools/bulk-tools.js +1 -1
  35. package/plugins/weppy-roblox-mcp/dist/tools/camera-tools.js +1 -1
  36. package/plugins/weppy-roblox-mcp/dist/tools/connection-tools.js +1 -1
  37. package/plugins/weppy-roblox-mcp/dist/tools/environment-tools.js +1 -1
  38. package/plugins/weppy-roblox-mcp/dist/tools/index.js +1 -1
  39. package/plugins/weppy-roblox-mcp/dist/tools/instance-tools.js +1 -1
  40. package/plugins/weppy-roblox-mcp/dist/tools/log-tools.js +1 -1
  41. package/plugins/weppy-roblox-mcp/dist/tools/property-tools.js +1 -1
  42. package/plugins/weppy-roblox-mcp/dist/tools/raycast-tools.js +1 -1
  43. package/plugins/weppy-roblox-mcp/dist/tools/script-tools.js +1 -1
  44. package/plugins/weppy-roblox-mcp/dist/tools/search-tools.js +1 -1
  45. package/plugins/weppy-roblox-mcp/dist/tools/selection-tools.js +1 -1
  46. package/plugins/weppy-roblox-mcp/dist/tools/spatial-tools.js +1 -1
  47. package/plugins/weppy-roblox-mcp/dist/tools/state-tools.js +1 -1
  48. package/plugins/weppy-roblox-mcp/dist/tools/tag-tools.js +1 -1
  49. package/plugins/weppy-roblox-mcp/dist/tools/terrain-tools.js +1 -1
  50. package/plugins/weppy-roblox-mcp/dist/tools/visualization-tools.js +1 -1
  51. package/plugins/weppy-roblox-mcp/dist/types/index.js +1 -1
  52. package/plugins/weppy-roblox-mcp/dist/utils/logger.js +1 -1
  53. package/plugins/weppy-roblox-mcp/dist/utils/quota-checker.js +1 -1
  54. package/plugins/weppy-roblox-mcp/dist/utils/tool-history.js +1 -1
  55. package/plugins/weppy-roblox-mcp/dist/utils/type-converter.js +1 -1
  56. package/plugins/weppy-roblox-mcp/dist/utils/validation.js +1 -1
  57. package/plugins/weppy-roblox-mcp/dist/version.js +1 -1
  58. package/docs/en/README.md +0 -64
  59. package/roblox-plugin/WeppyRobloxMCP.rbxm +0 -3
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Roblox MCP server and tools for AI-powered game development",
9
- "version": "0.1.4",
9
+ "version": "0.1.5",
10
10
  "pluginRoot": "./plugins"
11
11
  },
12
12
  "plugins": [
@@ -14,7 +14,7 @@
14
14
  "name": "weppy-roblox-mcp",
15
15
  "source": "./weppy-roblox-mcp",
16
16
  "description": "MCP server for Roblox Studio integration - 132 tools for AI-powered game development with specialized agents and skills",
17
- "version": "0.1.4",
17
+ "version": "0.1.5",
18
18
  "author": {
19
19
  "name": "hope1026"
20
20
  },
package/CHANGELOG.md CHANGED
@@ -3,11 +3,11 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
5
 
6
- ## [0.1.4] - 2026-02-07
6
+ ## [0.1.5] - 2026-02-07
7
7
 
8
8
  ### Other Changes
9
9
 
10
- - update path
10
+ - update guide
11
11
 
12
12
 
13
13
  ## [0.1.3] - 2026-02-07
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # Roblox MCP
2
+
3
+ **English** | [한국어](docs/ko/README.md) | [日本語](docs/ja/README.md) | [Español](docs/es/README.md) | [Português](docs/pt-br/README.md) | [Bahasa Indonesia](docs/id/README.md)
4
+
5
+ > Control Roblox Studio with AI.
6
+
7
+ [![Demo](https://img.youtube.com/vi/3jrUpBbZPaw/maxresdefault.jpg)](https://youtu.be/3jrUpBbZPaw)
8
+
9
+ ## Installation
10
+
11
+ ### 1. Install Roblox Plugin
12
+
13
+ 👉 [Plugin Installation Guide](docs/en/installation/roblox-plugin.md)
14
+
15
+ ### 2. Configure MCP Server
16
+
17
+ Works with any AI app that supports MCP. Choose your AI app:
18
+
19
+ | AI App | Setup Guide |
20
+ |--------|-------------|
21
+ | Claude Code | [Setup](docs/en/installation/claude-code.md) |
22
+ | Claude Desktop | [Setup](docs/en/installation/claude-app.md) |
23
+ | Codex CLI | [Setup](docs/en/installation/codex-cli.md) |
24
+ | Codex Desktop | [Setup](docs/en/installation/codex-app.md) |
25
+ | Gemini CLI | [Setup](docs/en/installation/gemini-cli.md) |
26
+ | Cursor, Windsurf, etc. | [Setup](docs/en/installation/antigravity.md) |
27
+
28
+ ## Tools
29
+
30
+ 👉 [Full Tools List](docs/en/tools/overview.md)
31
+
32
+ ## Troubleshooting
33
+
34
+ - **"Not Connected"**: Click Connect button in the plugin again
35
+ - **Port**: Uses port 3002 (localhost only)
36
+
37
+ ## Links
38
+
39
+ - [GitHub](https://github.com/hope1026/roblox-mcp)
40
+ - [Issue Report](https://github.com/hope1026/roblox-mcp/issues)
41
+
42
+ ## License
43
+
44
+ Free to use for game development.
45
+
46
+ ✅ **Allowed**: Game development, commercial games, personal projects
47
+ ❌ **Not Allowed**: Software resale, creating competing products
@@ -24,7 +24,7 @@ Run in Claude Code terminal:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # Install plugin
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  Verify installation:
@@ -77,7 +77,7 @@ Claude Code manages MCP servers automatically:
77
77
  ```bash
78
78
  # Clear cache and retry
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### Server won't start
@@ -4,7 +4,8 @@ How to install the plugin to connect AI agents with Roblox Studio.
4
4
 
5
5
  ## 1. Download Plugin
6
6
 
7
- Download the `WeppyRobloxMCP.rbxm` file from [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin).
7
+ 1. Download `weppy-roblox-mcp-basic.zip` from [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)
8
+ 2. Extract the ZIP file — you'll find the `roblox-plugin/WeppyRobloxMCP.rbxm` file and setup guides inside
8
9
 
9
10
  ## 2. Install Plugin
10
11
 
@@ -14,7 +15,7 @@ Download the `WeppyRobloxMCP.rbxm` file from [GitHub Releases](https://github.co
14
15
 
15
16
  ![Open Plugins Folder](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. **Copy** the downloaded `.rbxm` file into the opened folder
18
+ 4. **Copy** the `WeppyRobloxMCP.rbxm` file from the extracted folder into the opened Plugins folder
18
19
  5. **Restart Roblox Studio**
19
20
 
20
21
  ## 3. Verify Installation
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### Step 1: Buy on Gumroad
23
23
 
24
- 1. Go to [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph)
24
+ 1. Go to [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ )
25
26
  2. Download the plugin
26
27
 
27
28
  ### Step 2: Install Plugin
@@ -24,7 +24,7 @@ Ejecuta en la terminal de Claude Code:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # Instalar plugin
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  Verificar instalacion:
@@ -77,7 +77,7 @@ Claude Code gestiona el servidor MCP automaticamente:
77
77
  ```bash
78
78
  # Limpiar cache y reintentar
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### El servidor no inicia
@@ -4,7 +4,8 @@ Instrucciones para instalar el plugin que conecta Roblox Studio con agentes de I
4
4
 
5
5
  ## 1. Descargar el Plugin
6
6
 
7
- Descarga el archivo `WeppyRobloxMCP.rbxm` desde [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin).
7
+ 1. Descarga `weppy-roblox-mcp-basic.zip` desde [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)
8
+ 2. Extrae el archivo ZIP — encontraras el archivo `roblox-plugin/WeppyRobloxMCP.rbxm` y guias de instalacion
8
9
 
9
10
  ## 2. Instalar el Plugin
10
11
 
@@ -14,7 +15,7 @@ Descarga el archivo `WeppyRobloxMCP.rbxm` desde [GitHub Releases](https://github
14
15
 
15
16
  ![Abrir Plugins Folder](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. **Copia** el archivo `.rbxm` descargado a la carpeta abierta
18
+ 4. **Copia** el archivo `WeppyRobloxMCP.rbxm` de la carpeta extraida a la carpeta de Plugins abierta
18
19
  5. **Reinicia Roblox Studio**
19
20
 
20
21
  ## 3. Verificar la Instalacion
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### Paso 1: Comprar en Gumroad
23
23
 
24
- 1. Visita [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph)
24
+ 1. Visita [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ )
25
26
  2. Descarga el plugin
26
27
 
27
28
  ### Paso 2: Instalar el Plugin
@@ -24,7 +24,7 @@ Jalankan di terminal Claude Code:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # Instal plugin
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  Verifikasi instalasi:
@@ -77,7 +77,7 @@ Claude Code mengelola MCP server secara otomatis:
77
77
  ```bash
78
78
  # Bersihkan cache lalu coba lagi
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### Server tidak dimulai
@@ -4,7 +4,8 @@ Panduan instalasi plugin untuk menghubungkan AI agent di Roblox Studio.
4
4
 
5
5
  ## 1. Unduh Plugin
6
6
 
7
- Unduh file `WeppyRobloxMCP.rbxm` dari [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin).
7
+ 1. Unduh `weppy-roblox-mcp-basic.zip` dari [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)
8
+ 2. Ekstrak file ZIP — Anda akan menemukan file `roblox-plugin/WeppyRobloxMCP.rbxm` dan panduan instalasi
8
9
 
9
10
  ## 2. Instal Plugin
10
11
 
@@ -14,7 +15,7 @@ Unduh file `WeppyRobloxMCP.rbxm` dari [GitHub Releases](https://github.com/hope1
14
15
 
15
16
  ![Buka Plugins Folder](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. **Salin** file `.rbxm` yang diunduh ke folder yang terbuka
18
+ 4. **Salin** file `WeppyRobloxMCP.rbxm` dari folder yang diekstrak ke folder Plugins yang terbuka
18
19
  5. **Restart Roblox Studio**
19
20
 
20
21
  ## 3. Verifikasi Instalasi
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### Langkah 1: Beli di Gumroad
23
23
 
24
- 1. Kunjungi [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph)
24
+ 1. Kunjungi [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ )
25
26
  2. Unduh plugin
26
27
 
27
28
  ### Langkah 2: Instal Plugin
@@ -24,7 +24,7 @@ Claude Codeターミナルで実行:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # プラグインをインストール
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  インストール確認:
@@ -77,7 +77,7 @@ Claude CodeはMCPサーバーを自動的に管理します:
77
77
  ```bash
78
78
  # キャッシュをクリアして再試行
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### サーバーが起動しない
@@ -4,7 +4,8 @@ Roblox StudioでAIエージェントと連携するためのプラグインイ
4
4
 
5
5
  ## 1. プラグインのダウンロード
6
6
 
7
- [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin)から `WeppyRobloxMCP.rbxm` ファイルをダウンロードします。
7
+ 1. [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)から `weppy-roblox-mcp-basic.zip` をダウンロードします
8
+ 2. ZIPファイルを解凍します — `roblox-plugin/WeppyRobloxMCP.rbxm` ファイルとセットアップガイドが含まれています
8
9
 
9
10
  ## 2. プラグインのインストール
10
11
 
@@ -14,7 +15,7 @@ Roblox StudioでAIエージェントと連携するためのプラグインイ
14
15
 
15
16
  ![Plugins Folderを開く](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. 開いたフォルダにダウンロードした `.rbxm` ファイルを**コピー**
18
+ 4. 解凍したフォルダから `WeppyRobloxMCP.rbxm` ファイルを開いたPluginsフォルダに**コピー**
18
19
  5. **Roblox Studioを再起動**
19
20
 
20
21
  ## 3. インストール確認
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### ステップ1: Gumroadで購入
23
23
 
24
- 1. [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph) にアクセス
24
+ 1. [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ ) にアクセス
25
26
  2. プラグインをダウンロード
26
27
 
27
28
  ### ステップ2: プラグインのインストール
@@ -24,7 +24,7 @@ Claude Code 터미널에서 실행:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # 플러그인 설치
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  설치 확인:
@@ -77,7 +77,7 @@ Claude Code는 MCP 서버를 자동으로 관리합니다:
77
77
  ```bash
78
78
  # 캐시 정리 후 재시도
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### 서버가 시작되지 않음
@@ -4,7 +4,8 @@ Roblox Studio에서 AI 에이전트와 연결하기 위한 플러그인 설치
4
4
 
5
5
  ## 1. 플러그인 다운로드
6
6
 
7
- [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin)에서 `WeppyRobloxMCP.rbxm` 파일을 다운로드합니다.
7
+ 1. [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)에서 `weppy-roblox-mcp-basic.zip`을 다운로드합니다
8
+ 2. ZIP 파일을 압축 해제합니다 — `roblox-plugin/WeppyRobloxMCP.rbxm` 파일과 설치 가이드가 포함되어 있습니다
8
9
 
9
10
  ## 2. 플러그인 설치
10
11
 
@@ -14,7 +15,7 @@ Roblox Studio에서 AI 에이전트와 연결하기 위한 플러그인 설치
14
15
 
15
16
  ![Plugins Folder 열기](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. 열린 폴더에 다운로드한 `.rbxm` 파일을 **복사**
18
+ 4. 압축 해제한 폴더에서 `WeppyRobloxMCP.rbxm` 파일을 열린 Plugins 폴더에 **복사**
18
19
  5. **Roblox Studio 재시작**
19
20
 
20
21
  ## 3. 설치 확인
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### 1단계: Gumroad에서 구매
23
23
 
24
- 1. [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph) 접속
24
+ 1. [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ ) 접속
25
26
  2. 플러그인 다운로드
26
27
 
27
28
  ### 2단계: 플러그인 설치
@@ -24,7 +24,7 @@ Execute no terminal do Claude Code:
24
24
  /plugin marketplace add hope1026/roblox-mcp
25
25
 
26
26
  # Instalar plugin
27
- /plugin install @weppy/roblox-mcp
27
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
28
28
  ```
29
29
 
30
30
  Verificar instalacao:
@@ -77,7 +77,7 @@ O Claude Code gerencia o servidor MCP automaticamente:
77
77
  ```bash
78
78
  # Limpe o cache e tente novamente
79
79
  /plugin cache clear
80
- /plugin install @weppy/roblox-mcp
80
+ /plugin install weppy-roblox-mcp@hope1026-roblox-mcp
81
81
  ```
82
82
 
83
83
  ### O servidor nao inicia
@@ -4,7 +4,8 @@ Como instalar o plugin para conectar com agentes de IA no Roblox Studio.
4
4
 
5
5
  ## 1. Baixar o Plugin
6
6
 
7
- Baixe o arquivo `WeppyRobloxMCP.rbxm` em [GitHub Releases](https://github.com/hope1026/roblox-mcp/roblox-plugin).
7
+ 1. Baixe `weppy-roblox-mcp-basic.zip` em [GitHub Releases](https://github.com/hope1026/roblox-mcp/releases/latest)
8
+ 2. Extraia o arquivo ZIP — voce encontrara o arquivo `roblox-plugin/WeppyRobloxMCP.rbxm` e guias de instalacao
8
9
 
9
10
  ## 2. Instalar o Plugin
10
11
 
@@ -14,7 +15,7 @@ Baixe o arquivo `WeppyRobloxMCP.rbxm` em [GitHub Releases](https://github.com/ho
14
15
 
15
16
  ![Abrir Plugins Folder](../../assets/screenshots/plugins_menu.png)
16
17
 
17
- 4. **Copie** o arquivo `.rbxm` baixado para a pasta aberta
18
+ 4. **Copie** o arquivo `WeppyRobloxMCP.rbxm` da pasta extraida para a pasta de Plugins aberta
18
19
  5. **Reinicie o Roblox Studio**
19
20
 
20
21
  ## 3. Verificar a Instalacao
@@ -21,7 +21,8 @@
21
21
 
22
22
  ### Passo 1: Compre no Gumroad
23
23
 
24
- 1. Acesse [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph)
24
+ 1. Acesse [Gumroad - Weppy Roblox Plugin](https://sunityplugin.gumroad.com/l/chllph?utm_source=github&utm_medium=repo&utm_campaign=sunity_plugin
25
+ )
25
26
  2. Baixe o plugin
26
27
 
27
28
  ### Passo 2: Instale o Plugin
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weppy/roblox-mcp",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "MCP (Model Context Protocol) server for Roblox Studio integration - enables AI coding agents to interact with Roblox Studio in real-time",
5
5
  "main": "plugins/weppy-roblox-mcp/dist/index.js",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weppy-roblox-mcp",
3
3
  "description": "MCP server for Roblox Studio integration - 130+ tools for AI-powered game development with specialized agents and skills",
4
- "version": "0.1.4",
4
+ "version": "0.1.5",
5
5
  "author": {
6
6
  "name": "hope1026"
7
7
  },
@@ -1 +1 @@
1
- (function(_0x58396e,_0x21f9de){const _0x38bee1={_0x1dd7f7:0x8b,_0xa3d22e:0xa3,_0x34a8d0:0xa0,_0x338755:0xc7,_0x33c78c:0xb2,_0x4eb0b6:0xbb,_0x8a276:0xb3,_0x44f622:0x7f,_0x58437a:0x9b,_0x4a920d:0xc3,_0x48ea6b:0xa1,_0x607310:0xc0,_0x132c28:0xa6,_0x2b04dd:0xc3,_0x1514e4:0xa8,_0x124d4f:0xaa,_0x1d3e4b:0x72,_0x17a58c:0x86,_0x177c68:0x99,_0x5b28aa:0x91,_0x22a8ae:0x78,_0x373cab:0x8f},_0x531b04={_0x26a876:0x171},_0x2ff367=_0x58396e();function _0x23eaa3(_0x5497db,_0x10abc6,_0x2e9480,_0x6d207){return _0xc2a7(_0x10abc6- -_0x531b04._0x26a876,_0x2e9480);}function _0x335dd2(_0x3eb228,_0x4d4862,_0x26e764,_0x52dd){return _0xc2a7(_0x52dd- -0x162,_0x3eb228);}while(!![]){try{const _0x414122=parseInt(_0x23eaa3(_0x38bee1._0x1dd7f7,_0x38bee1._0xa3d22e,0x9e,_0x38bee1._0x34a8d0))/0x1*(parseInt(_0x23eaa3(_0x38bee1._0x338755,_0x38bee1._0x33c78c,0xc7,_0x38bee1._0x4eb0b6))/0x2)+parseInt(_0x335dd2(_0x38bee1._0x8a276,_0x38bee1._0x34a8d0,0x82,0x9d))/0x3*(parseInt(_0x335dd2(0x97,_0x38bee1._0x44f622,0xa6,_0x38bee1._0x58437a))/0x4)+parseInt(_0x335dd2(_0x38bee1._0x4a920d,_0x38bee1._0x48ea6b,0xd0,0xb6))/0x5*(parseInt(_0x335dd2(0x8e,_0x38bee1._0x607310,0xae,_0x38bee1._0x132c28))/0x6)+-parseInt(_0x335dd2(0xcd,0xe0,0xdf,_0x38bee1._0x2b04dd))/0x7+parseInt(_0x335dd2(0xa0,0xbc,0xd5,0xbd))/0x8*(parseInt(_0x23eaa3(0x9f,_0x38bee1._0x1514e4,0xb6,_0x38bee1._0x124d4f))/0x9)+parseInt(_0x23eaa3(0x9f,0x83,_0x38bee1._0x1d3e4b,_0x38bee1._0x17a58c))/0xa+-parseInt(_0x23eaa3(_0x38bee1._0x177c68,_0x38bee1._0x5b28aa,_0x38bee1._0x22a8ae,_0x38bee1._0x373cab))/0xb;if(_0x414122===_0x21f9de)break;else _0x2ff367['push'](_0x2ff367['shift']());}catch(_0x49e170){_0x2ff367['push'](_0x2ff367['shift']());}}}(_0x143d,0xa9da7));import{executeTool}from'./tool-executor.js';import{TEST_NAMESPACE}from'./test-fixtures.js';const createdInstances=new Set();export function trackTestInstance(_0x3c0f23){const _0xec4ed7={_0x1b1535:0x18d,_0x266d14:0x171,_0x5f5d27:0x17c,_0x3923eb:0x156},_0x4490cf={_0x4aef46:0xab};function _0x2a41af(_0x73ad7c,_0x18fa6c,_0x363b6b,_0x236fef){return _0xc2a7(_0x18fa6c- -_0x4490cf._0x4aef46,_0x363b6b);}createdInstances[_0x2a41af(_0xec4ed7._0x1b1535,_0xec4ed7._0x266d14,_0xec4ed7._0x5f5d27,_0xec4ed7._0x3923eb)](_0x3c0f23);}export function untrackTestInstance(_0x292ed7){const _0x10e18d={_0xb42b2e:0x346};function _0x1884e5(_0x1666a6,_0x2eb7e1,_0x11e40a,_0x2f8d58){return _0xc2a7(_0x2f8d58-0x14f,_0x11e40a);}createdInstances[_0x1884e5(0x347,0x37d,_0x10e18d._0xb42b2e,0x362)](_0x292ed7);}export function getTrackedInstances(){const _0x3b32a1={_0x419c70:0x274},_0x58452c={_0x3f30d6:0x71};function _0x4a76c0(_0x5ccca9,_0x225ae2,_0x5e97a1,_0x492b54){return _0xc2a7(_0x5ccca9-_0x58452c._0x3f30d6,_0x5e97a1);}return Array[_0x4a76c0(0x26c,0x267,0x276,_0x3b32a1._0x419c70)](createdInstances);}export function clearTracking(){const _0x2cb698={_0x93c35d:0x512,_0xf315b3:0x4fc,_0x4ed8f9:0x4f3};function _0x9a34af(_0x4bfd2f,_0x5cc96e,_0x2fd3e3,_0x2e354d){return _0xc2a7(_0x2fd3e3-0x307,_0x2e354d);}createdInstances[_0x9a34af(0x4df,_0x2cb698._0x93c35d,_0x2cb698._0xf315b3,_0x2cb698._0x4ed8f9)]();}export async function deleteTestInstance(_0x5736ab){const _0x296f27={_0x1ed432:0x25a,_0x1bfcb7:0x249,_0x1ddefd:0x235,_0x4457a4:0x223,_0x17dd3c:0x24b,_0x32d9c1:0x23e,_0x2a148e:0x4b0,_0x4b9c61:0x49a,_0x2d3dba:0x491,_0x2f1e3c:0x4ae,_0x5e6338:0x47e,_0x9fe2d9:0x496,_0x196682:0x24f,_0x521a4a:0x245,_0x1c39d5:0x49c,_0x934ce5:0x491,_0x1a100f:0x49e,_0x5d8592:0x48e,_0x50c699:0x256,_0x48374c:0x230},_0x182b5e={_0x276927:0x18},_0x37c2e4={_0x38daba:0x28c},_0x3eacfb={};_0x3eacfb[_0x2be3af(_0x296f27._0x1ed432,_0x296f27._0x1bfcb7,_0x296f27._0x1ddefd,0x245)]=_0x2be3af(0x221,0x228,0x23b,0x22a)+'tance',_0x3eacfb[_0x2be3af(0x237,0x211,0x214,_0x296f27._0x4457a4)]=function(_0x143b6e,_0x126c35){return _0x143b6e!==_0x126c35;},_0x3eacfb[_0x1f07c0(0x4c9,0x494,0x4bc,0x4ac)]=_0x2be3af(0x254,_0x296f27._0x17dd3c,_0x296f27._0x4457a4,_0x296f27._0x32d9c1),_0x3eacfb[_0x1f07c0(0x4b7,_0x296f27._0x2a148e,_0x296f27._0x4b9c61,0x4b3)]=_0x1f07c0(_0x296f27._0x2d3dba,_0x296f27._0x2f1e3c,_0x296f27._0x5e6338,_0x296f27._0x9fe2d9);const _0x308066=_0x3eacfb,_0x7d2548={};function _0x1f07c0(_0x25f183,_0x345e34,_0x5e6e3f,_0x5f3177){return _0xc2a7(_0x5f3177-_0x37c2e4._0x38daba,_0x345e34);}_0x7d2548[_0x2be3af(0x24b,0x22c,0x211,0x22e)]=_0x5736ab;const _0x4c021c=await executeTool(_0x308066[_0x2be3af(0x24b,0x230,_0x296f27._0x196682,_0x296f27._0x521a4a)],_0x7d2548);if(_0x4c021c[_0x1f07c0(0x49d,0x494,0x489,_0x296f27._0x1c39d5)]){if(_0x308066[_0x1f07c0(0x48d,_0x296f27._0x934ce5,0x49d,0x497)](_0x308066[_0x1f07c0(_0x296f27._0x1a100f,_0x296f27._0x2d3dba,_0x296f27._0x5d8592,0x4ac)],_0x308066[_0x2be3af(_0x296f27._0x50c699,_0x296f27._0x48374c,0x256,0x23f)]))return untrackTestInstance(_0x5736ab),!![];else _0x4ecf93['add'](_0x4ed735);}function _0x2be3af(_0x574943,_0x1acab7,_0x2cc881,_0x2a7a96){return _0xc2a7(_0x2a7a96-_0x182b5e._0x276927,_0x2cc881);}return![];}export async function cleanupTrackedInstances(){const _0x414e73={_0x35c479:0x46a,_0x3f0b76:0x46f,_0xa842b7:0x449,_0x24b40f:0x453,_0x151dc7:0x2d3,_0x519545:0x2dd},_0x4f7c49={'DYung':function(_0x550408,_0x50953d){return _0x550408!==_0x50953d;},'SSYll':'yJthO','XJNQM':function(_0x3d7605,_0x362a5f){return _0x3d7605(_0x362a5f);}};let _0x50391b=0x0;function _0x39a8ad(_0x5a1db5,_0x222d69,_0x24a6af,_0x2b34c4){return _0xc2a7(_0x2b34c4-0x243,_0x5a1db5);}for(const _0x1e1f57 of Array['from'](createdInstances)){if(_0x4f7c49['DYung'](_0x4f7c49[_0x39a8ad(_0x414e73._0x35c479,_0x414e73._0x3f0b76,0x469,0x464)],_0x4f7c49[_0x39a8ad(_0x414e73._0xa842b7,0x47d,_0x414e73._0x24b40f,0x464)]))_0x3efcb3++;else{const _0x97c948=await _0x4f7c49[_0x36424e(_0x414e73._0x151dc7,0x2de,0x2d2,_0x414e73._0x519545)](deleteTestInstance,_0x1e1f57);_0x97c948&&_0x50391b++;}}function _0x36424e(_0xde5020,_0x208d40,_0x2b810a,_0x44d0f6){return _0xc2a7(_0xde5020-0xd9,_0x208d40);}return _0x50391b;}function _0xc2a7(_0x2774ed,_0x2e31ea){_0x2774ed=_0x2774ed-0x1f2;const _0x143d00=_0x143d();let _0xc2a72c=_0x143d00[_0x2774ed];if(_0xc2a7['MWfDDq']===undefined){var _0x4cba22=function(_0x46dd0d){const _0x4e2ac7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a9323='',_0x51e542='';for(let _0x4ecf93=0x0,_0x4ed735,_0x2df6e1,_0xd4ae97=0x0;_0x2df6e1=_0x46dd0d['charAt'](_0xd4ae97++);~_0x2df6e1&&(_0x4ed735=_0x4ecf93%0x4?_0x4ed735*0x40+_0x2df6e1:_0x2df6e1,_0x4ecf93++%0x4)?_0x2a9323+=String['fromCharCode'](0xff&_0x4ed735>>(-0x2*_0x4ecf93&0x6)):0x0){_0x2df6e1=_0x4e2ac7['indexOf'](_0x2df6e1);}for(let _0x45ff06=0x0,_0x18242e=_0x2a9323['length'];_0x45ff06<_0x18242e;_0x45ff06++){_0x51e542+='%'+('00'+_0x2a9323['charCodeAt'](_0x45ff06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51e542);};_0xc2a7['nwSGmS']=_0x4cba22,_0xc2a7['uXwNUy']={},_0xc2a7['MWfDDq']=!![];}const _0x177009=_0x143d00[0x0],_0x20d620=_0x2774ed+_0x177009,_0x4e645c=_0xc2a7['uXwNUy'][_0x20d620];return!_0x4e645c?(_0xc2a72c=_0xc2a7['nwSGmS'](_0xc2a72c),_0xc2a7['uXwNUy'][_0x20d620]=_0xc2a72c):_0xc2a72c=_0x4e645c,_0xc2a72c;}export async function cleanupAllTestInstances(){const _0x51aac1={_0x596111:0x70,_0x2a360c:0x382,_0x3bbedd:0x39b,_0x49a427:0x38a,_0x255492:0x8e,_0x37d59f:0xa9,_0x5d624d:0xa0,_0x5788fd:0x7a,_0x45c889:0x5b,_0x2f97c4:0x365,_0x35801:0x374,_0x4cc00f:0x6e,_0x465dbd:0x71,_0x10fb43:0x87,_0x5a53b2:0x68,_0x35a85a:0x3a7,_0x498ff9:0x371,_0x307ef5:0x369,_0xcb6247:0x375,_0x232308:0x85,_0x2fa2f7:0x72,_0x2489a6:0x38f,_0x5210a0:0x37a,_0x27849c:0x373,_0x67de53:0x39c,_0xf47be2:0x57,_0x350f70:0x6d,_0xbd3e87:0x6a,_0x429c48:0x93,_0xd6a698:0x81,_0xa41958:0x398,_0x31cbfa:0x96,_0x1adcf2:0x8d,_0x175800:0x84,_0x42cc8e:0x3ae,_0x4bcec0:0x376,_0x5cf01b:0x37f,_0x3806c0:0x39e,_0x9e92e9:0x5f,_0x2acdb1:0x387,_0x1b18fa:0x3b8,_0x5af414:0x77,_0x44e699:0x8b,_0x35efba:0x80,_0x4aed6a:0x8f,_0x1a38bd:0x375,_0x47ae4d:0x38d,_0x37d4b1:0x373,_0x502a17:0x398,_0x3e4776:0x381,_0x454143:0x391,_0xbd3255:0x396,_0x5794b8:0x38a,_0x18faac:0x370,_0x3c88b6:0x56,_0x17a8e4:0x63,_0x46213b:0x45,_0x36166e:0x365,_0x4b2bed:0x377},_0x188094={_0x256218:0x287},_0x2aea20={'HawBl':function(_0x19526c,_0x1315d5,_0x27b7ea){return _0x19526c(_0x1315d5,_0x27b7ea);},'uwakE':_0x135606(-0x7a,-0x73,-0x65,-_0x51aac1._0x596111),'sxZFj':_0xe3913f(0x385,_0x51aac1._0x2a360c,_0x51aac1._0x3bbedd,_0x51aac1._0x49a427),'LlPAN':function(_0x47bb87,_0xe1749c){return _0x47bb87===_0xe1749c;},'qGMDn':_0x135606(-0x8f,-0xa8,-_0x51aac1._0x255492,-_0x51aac1._0x596111),'PvRoL':function(_0x4632fd,_0xb0ff94,_0x29ce05){return _0x4632fd(_0xb0ff94,_0x29ce05);},'oKOQk':_0x135606(-_0x51aac1._0x37d59f,-_0x51aac1._0x5d624d,-0x8b,-0xa9)+'name','eBrBl':_0x135606(-0x65,-_0x51aac1._0x5788fd,-_0x51aac1._0x596111,-_0x51aac1._0x45c889)+_0xe3913f(0x36c,_0x51aac1._0x2f97c4,_0x51aac1._0x35801,0x36a),'UQHgk':function(_0x45ddd9,_0x497d90){return _0x45ddd9!==_0x497d90;},'lnpYk':_0x135606(-_0x51aac1._0x4cc00f,-_0x51aac1._0x465dbd,-0x5d,-0x53),'Dhruc':_0x135606(-_0x51aac1._0x10fb43,-0x92,-0x86,-_0x51aac1._0x5a53b2),'xeNWP':function(_0x365964,_0x8b998a){return _0x365964(_0x8b998a);},'FPBSD':_0xe3913f(0x3a6,_0x51aac1._0x35a85a,0x38c,_0x51aac1._0x498ff9),'CIgvP':_0xe3913f(_0x51aac1._0x307ef5,0x36d,_0x51aac1._0xcb6247,0x367),'kAZsJ':function(_0x48f77c){return _0x48f77c();}};function _0x135606(_0x3c3b97,_0x5e2f43,_0x36cc71,_0x1b938b){return _0xc2a7(_0x36cc71- -_0x188094._0x256218,_0x1b938b);}let _0x49d9ae=0x0;try{const _0xad686a=await _0x2aea20[_0x135606(-0x88,-_0x51aac1._0x232308,-0x82,-_0x51aac1._0x2fa2f7)](executeTool,_0xe3913f(0x370,_0x51aac1._0x2489a6,_0x51aac1._0x5210a0,_0x51aac1._0x5210a0)+_0xe3913f(0x3a3,_0x51aac1._0x27849c,0x387,_0x51aac1._0x67de53),{'root':_0x2aea20['uwakE'],'namePattern':TEST_NAMESPACE,'matchType':_0x2aea20[_0x135606(-0x80,-_0x51aac1._0xf47be2,-_0x51aac1._0x350f70,-_0x51aac1._0xbd3e87)],'recursive':!![]});if(_0xad686a['success']&&_0xad686a['data']?.['instances']){if(_0x2aea20['LlPAN'](_0x2aea20[_0x135606(-_0x51aac1._0x429c48,-0x91,-_0x51aac1._0xd6a698,-0x9b)],_0x2aea20['qGMDn']))for(const _0x4aa4f0 of _0xad686a[_0xe3913f(_0x51aac1._0x5210a0,0x37d,0x385,_0x51aac1._0xa41958)][_0x135606(-_0x51aac1._0x31cbfa,-_0x51aac1._0x1adcf2,-_0x51aac1._0x175800,-0x87)]){const _0x50545f=await deleteTestInstance(_0x4aa4f0[_0xe3913f(_0x51aac1._0x42cc8e,_0x51aac1._0x4bcec0,0x394,_0x51aac1._0x5cf01b)]);_0x50545f&&_0x49d9ae++;}else return _0x5e39bc['from'](_0x56000d);}const _0x1ec25a=await _0x2aea20[_0xe3913f(_0x51aac1._0x3806c0,0x3a2,0x3aa,0x3ab)](executeTool,_0x2aea20['oKOQk'],{'root':_0x2aea20[_0x135606(-_0x51aac1._0x9e92e9,-0x67,-0x69,-0x7f)],'namePattern':TEST_NAMESPACE,'matchType':_0xe3913f(_0x51aac1._0x2acdb1,_0x51aac1._0x1b18fa,_0x51aac1._0x3bbedd,0x3b8),'recursive':!![]});if(_0x1ec25a[_0x135606(-_0x51aac1._0x2fa2f7,-0x61,-_0x51aac1._0x5af414,-_0x51aac1._0x44e699)]&&_0x1ec25a[_0x135606(-0x6b,-0x92,-_0x51aac1._0x35efba,-0x84)]?.['instances']){if(_0x2aea20[_0x135606(-0xa4,-0x74,-0x89,-_0x51aac1._0x4aed6a)](_0x2aea20[_0xe3913f(_0x51aac1._0xcb6247,_0x51aac1._0x1a38bd,_0x51aac1._0x47ae4d,0x3ab)],_0x2aea20['Dhruc']))for(const _0x318e03 of _0x1ec25a['data'][_0xe3913f(_0x51aac1._0x37d4b1,_0x51aac1._0x502a17,_0x51aac1._0x3e4776,0x377)]){const _0x252e12=await _0x2aea20['xeNWP'](deleteTestInstance,_0x318e03['path']);_0x252e12&&(_0x2aea20['UQHgk'](_0x2aea20['FPBSD'],_0x2aea20[_0xe3913f(0x37b,_0x51aac1._0x307ef5,0x371,0x384)])?_0x49d9ae++:_0x45ff06[_0xe3913f(0x3a7,0x3ae,_0x51aac1._0x454143,_0x51aac1._0xbd3255)](_0x18242e));}else return![];}}catch(_0x25f01c){console[_0xe3913f(_0x51aac1._0x5794b8,0x38c,_0x51aac1._0x18faac,0x372)](_0x135606(-_0x51aac1._0x3c88b6,-_0x51aac1._0x17a8e4,-0x5c,-_0x51aac1._0x46213b)+_0xe3913f(_0x51aac1._0x36166e,_0x51aac1._0x4b2bed,0x37e,0x379),_0x25f01c);}function _0xe3913f(_0x548ffd,_0x4d5075,_0x4e8af6,_0x228984){return _0xc2a7(_0x4e8af6-0x17e,_0x228984);}return _0x2aea20['kAZsJ'](clearTracking),_0x49d9ae;}export async function clearVisualizations(){const _0xeef84d={_0x12327d:0x375,_0x22dd40:0x5fc,_0x104106:0x5eb,_0x14b14f:0x5f6,_0x5a7e07:0x369,_0x2f0cf4:0x5c6,_0x4ef7c7:0x600,_0x107316:0x5d9,_0xbe8491:0x5c0,_0x3e9e10:0x5d8};function _0x26ff87(_0x5d3cbb,_0x28de77,_0x54558f,_0x4cc3f8){return _0xc2a7(_0x54558f-0x16c,_0x5d3cbb);}const _0x538041={};_0x538041['NFbIM']=_0x26ff87(0x35f,0x387,0x37d,_0xeef84d._0x12327d)+'ion_clear',_0x538041[_0x5af566(_0xeef84d._0x22dd40,_0xeef84d._0x22dd40,0x5e5,0x5e7)]=function(_0x4a7761,_0x15b779){return _0x4a7761!==_0x15b779;};function _0x5af566(_0x35898d,_0x56d418,_0x416311,_0x3c41f9){return _0xc2a7(_0x3c41f9-0x3d2,_0x35898d);}_0x538041[_0x5af566(0x5ea,0x609,_0xeef84d._0x104106,_0xeef84d._0x14b14f)]=_0x26ff87(0x38e,0x375,0x387,_0xeef84d._0x5a7e07);const _0x38eacc=_0x538041;try{const _0x490737=await executeTool(_0x38eacc['NFbIM'],{});return _0x490737[_0x5af566(_0xeef84d._0x2f0cf4,_0xeef84d._0x4ef7c7,_0xeef84d._0x107316,0x5e2)];}catch{if(_0x38eacc['SQLtV'](_0x38eacc['PoPKK'],_0x38eacc['PoPKK']))_0x172815[_0x5af566(_0xeef84d._0xbe8491,0x5d5,_0xeef84d._0x3e9e10,0x5c7)]();else return![];}}function _0x143d(){const _0x5eab98=['q0LNDLa','mtmZmJK1nJbpvMLyCNa','y2XLyxi','Chrtzxj2AwnL','vMndvgu','ALrbzvC','AuLfDe4','wePouu0','zNjVBq','C2vHCMnOx2j5xW','ndm0ntq4zMTyDLvI','vvfiz2S','ovPiDwzmAG','CM5PBMC6','C1n3C04','mtKWmtC2mJvXv2Lrqwu','Aw5ZDgfUy2vZ','uLHUvKO','sgf3qMW','CuDnrg4','zgf0yq','nty2mta2v0jjtujM','BMfTzq','v0PlAKq','y1rKA2G','BgL6yxrPB24','AvvuCMu','yvv4ALC','Bg5WwwS','C3vJy2vZCW','DMLZDwfSAxPHDa','zgvSzxrLx2LUCW','zgvSzxrL','ndaWmuXnu21SDq','u1fmDfy','Cgf0Aa','u2vYDMvYu2nYAq','mtvbCNHuqwO','mZG4mdm3n2PHEuDmwq','C3HArMO','qKvxs2K','ywrK','y29UDgfPBNm','zujYqMW','mtzKuw9mBe4','vxLcDuO','u1nzBgW','v29YA3nWywnL','mtK4yxLmuMri','ug9qs0S','ntqZmdeXn1bYt3bUAq','DNDntgy','tMrlt3u','uhL5r2y','turJtgm','rgflv0m','q2XLyw51Ccb3yq','uhzsB0W','terLvxC','D2fYBG'];_0x143d=function(){return _0x5eab98;};return _0x143d();}export function createCleanupFn(_0x2a9d3b={}){const _0x34b489={_0x46f0cb:0x170,_0xbb68ab:0x17c,_0x3ca3e1:0x16b,_0x1dea31:0xd9,_0x3be801:0xd1},_0x4af9e2={_0xc2b03a:0x100,_0x2d4a29:0xee,_0x5b41aa:0x104,_0x59848e:0x112},_0x56c740={_0x1b2a69:0x59,_0x2f4f4c:0xe8},_0x4e6b4f={_0x3e018b:0x394};function _0x218346(_0x2eb367,_0x5c764e,_0x3ba66c,_0x748cf2){return _0xc2a7(_0x748cf2- -_0x4e6b4f._0x3e018b,_0x5c764e);}function _0x5c8661(_0x173fcf,_0x1f8bbf,_0x2ba3e9,_0xa37e27){return _0xc2a7(_0x173fcf- -0x11f,_0x1f8bbf);}const _0x5e8765={'PyyGf':_0x218346(-_0x34b489._0x46f0cb,-0x158,-_0x34b489._0xbb68ab,-_0x34b489._0x3ca3e1),'iUTre':_0x5c8661(_0x34b489._0x1dea31,_0x34b489._0x3be801,0xe1,0xd8),'UsxNO':function(_0x56df78){return _0x56df78();},'RXnVJ':function(_0x39d70b){return _0x39d70b();}};return async()=>{const _0x47e729={_0x40896b:0x25,_0x42e27b:0x196};function _0x1adaec(_0x55cd05,_0x59026f,_0x1f204b,_0x2684ba){return _0x218346(_0x55cd05-_0x56c740._0x1b2a69,_0x2684ba,_0x1f204b-0x34,_0x1f204b-_0x56c740._0x2f4f4c);}function _0x24178e(_0x2fe4ac,_0x5ca2e2,_0x1f6a51,_0x3ba39f){return _0x218346(_0x2fe4ac-_0x47e729._0x40896b,_0x5ca2e2,_0x1f6a51-_0x47e729._0x42e27b,_0x1f6a51-0x7e);}_0x5e8765[_0x24178e(-_0x4af9e2._0xc2b03a,-0xe1,-_0x4af9e2._0x2d4a29,-0x104)]!==_0x5e8765[_0x1adaec(-0x90,-0x8d,-0x9f,-0x8f)]?(_0x2a9d3b['clearVisua'+_0x24178e(-0x112,-0x102,-0x10a,-_0x4af9e2._0x5b41aa)]&&await _0x5e8765['UsxNO'](clearVisualizations),await _0x5e8765[_0x24178e(-0xf5,-0x117,-_0x4af9e2._0x59848e,-0xf5)](cleanupTrackedInstances)):_0x4702b1++;};}
1
+ (function(_0x52f1be,_0x19a07d){const _0x5308f1={_0x153be2:0x12f,_0x4eefe6:0x15c,_0x5d526c:0x164,_0x1070aa:0x16a,_0x258e04:0x179,_0x176772:0x160,_0x463a70:0x15e,_0xa3db04:0x16d,_0xfca68e:0x1a6,_0x37262d:0x192,_0x4bd8e1:0x142,_0xc3341:0x162,_0x5293fa:0x153,_0x32b9aa:0x155,_0x234af3:0x178,_0x3d0678:0x188,_0x18bca9:0x167,_0x176d56:0x176,_0x446285:0x187,_0x522aa2:0x19a,_0xa8a1a:0x16d,_0x1a2e6b:0x16b,_0x4f5f7e:0x152,_0x48e29b:0x184},_0x266566={_0x18ebcb:0x94};function _0x51b0cb(_0x455d2b,_0x1881c6,_0x1b681a,_0x156723){return _0x428c(_0x156723- -_0x266566._0x18ebcb,_0x1881c6);}function _0x5590ba(_0x36b426,_0x5e5eec,_0x288d42,_0xa5962){return _0x428c(_0x5e5eec- -0x79,_0xa5962);}const _0x46c727=_0x52f1be();while(!![]){try{const _0x2fef79=parseInt(_0x51b0cb(_0x5308f1._0x153be2,0x164,_0x5308f1._0x4eefe6,0x145))/0x1*(-parseInt(_0x5590ba(_0x5308f1._0x5d526c,0x181,_0x5308f1._0x1070aa,0x19a))/0x2)+-parseInt(_0x51b0cb(0x151,_0x5308f1._0x258e04,_0x5308f1._0x176772,0x164))/0x3+parseInt(_0x5590ba(0x142,0x15d,_0x5308f1._0x463a70,_0x5308f1._0xa3db04))/0x4*(-parseInt(_0x5590ba(0x188,0x195,_0x5308f1._0xfca68e,_0x5308f1._0x37262d))/0x5)+-parseInt(_0x51b0cb(0x143,_0x5308f1._0x4bd8e1,_0x5308f1._0xc3341,_0x5308f1._0x5293fa))/0x6*(parseInt(_0x5590ba(0x160,0x166,_0x5308f1._0x32b9aa,_0x5308f1._0x234af3))/0x7)+-parseInt(_0x51b0cb(_0x5308f1._0x3d0678,_0x5308f1._0x18bca9,_0x5308f1._0x176d56,0x16c))/0x8*(-parseInt(_0x51b0cb(0x123,0x139,0x150,0x140))/0x9)+parseInt(_0x5590ba(_0x5308f1._0x446285,0x182,_0x5308f1._0x522aa2,_0x5308f1._0xa8a1a))/0xa+-parseInt(_0x5590ba(_0x5308f1._0x1a2e6b,_0x5308f1._0xa3db04,_0x5308f1._0x4f5f7e,0x166))/0xb*(-parseInt(_0x5590ba(0x168,_0x5308f1._0x48e29b,0x17b,_0x5308f1._0xa3db04))/0xc);if(_0x2fef79===_0x19a07d)break;else _0x46c727['push'](_0x46c727['shift']());}catch(_0x332a18){_0x46c727['push'](_0x46c727['shift']());}}}(_0x22f1,0x352db));import{executeTool}from'./tool-executor.js';import{TEST_NAMESPACE}from'./test-fixtures.js';const createdInstances=new Set();export function trackTestInstance(_0x84f69a){const _0x21b998={_0x4a093d:0xb,_0x2d74c9:0x10};function _0x760b3f(_0x469994,_0x54540f,_0xa0e537,_0xd060de){return _0x428c(_0x469994- -0x1e3,_0xa0e537);}createdInstances[_0x760b3f(-_0x21b998._0x4a093d,-0x6,-0xf,_0x21b998._0x2d74c9)](_0x84f69a);}export function untrackTestInstance(_0x1f0c1){const _0xdd0422={_0x4d7717:0x1d,_0x446cf9:0x1c,_0x3bd534:0x1};function _0x19c9cb(_0x5e5b04,_0x537162,_0x565136,_0x4230fa){return _0x428c(_0x4230fa- -0x1f1,_0x537162);}createdInstances[_0x19c9cb(0x9,_0xdd0422._0x4d7717,-_0xdd0422._0x446cf9,-_0xdd0422._0x3bd534)](_0x1f0c1);}export function getTrackedInstances(){const _0x394778={_0x59206d:0x508,_0x49094f:0x4fe,_0x588008:0x510},_0x130690={_0x282103:0x341};function _0x498ee8(_0x3f25bf,_0x5703d7,_0x538b91,_0x4ef4dc){return _0x428c(_0x4ef4dc-_0x130690._0x282103,_0x538b91);}return Array[_0x498ee8(0x52b,_0x394778._0x59206d,_0x394778._0x49094f,_0x394778._0x588008)](createdInstances);}export function clearTracking(){function _0x2cdf46(_0x5b4b29,_0x49a08d,_0x144097,_0x259cf7){return _0x428c(_0x49a08d- -0x1a1,_0x5b4b29);}createdInstances[_0x2cdf46(0xf,0x2f,0x1b,0x36)]();}function _0x428c(_0x33e19c,_0xc1d318){_0x33e19c=_0x33e19c-0x1cd;const _0x22f134=_0x22f1();let _0x428c55=_0x22f134[_0x33e19c];if(_0x428c['xwmJXg']===undefined){var _0x6229d1=function(_0x1ed0fd){const _0x584aad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cbe2f='',_0x3d3b19='';for(let _0x324ee0=0x0,_0x165e14,_0x2280a2,_0xc2aa0a=0x0;_0x2280a2=_0x1ed0fd['charAt'](_0xc2aa0a++);~_0x2280a2&&(_0x165e14=_0x324ee0%0x4?_0x165e14*0x40+_0x2280a2:_0x2280a2,_0x324ee0++%0x4)?_0x3cbe2f+=String['fromCharCode'](0xff&_0x165e14>>(-0x2*_0x324ee0&0x6)):0x0){_0x2280a2=_0x584aad['indexOf'](_0x2280a2);}for(let _0x52d057=0x0,_0x22bec8=_0x3cbe2f['length'];_0x52d057<_0x22bec8;_0x52d057++){_0x3d3b19+='%'+('00'+_0x3cbe2f['charCodeAt'](_0x52d057)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d3b19);};_0x428c['edQGFU']=_0x6229d1,_0x428c['cYAzPf']={},_0x428c['xwmJXg']=!![];}const _0x2251b4=_0x22f134[0x0],_0xf4f991=_0x33e19c+_0x2251b4,_0x3c1a87=_0x428c['cYAzPf'][_0xf4f991];return!_0x3c1a87?(_0x428c55=_0x428c['edQGFU'](_0x428c55),_0x428c['cYAzPf'][_0xf4f991]=_0x428c55):_0x428c55=_0x3c1a87,_0x428c55;}export async function deleteTestInstance(_0x399ec3){const _0x2e24ed={_0x43a1ad:0x312,_0x51d64f:0x318,_0x2cd1ca:0x33b,_0x4a16a:0x32d,_0x2d0b62:0x356,_0x5d6739:0x348,_0x416ab3:0x35c,_0x179136:0x35e,_0x15fa63:0x31e,_0x19be42:0x2fe,_0x27682f:0x2f8,_0x5a8ffd:0x30d,_0x525231:0x326,_0x12db31:0xc3,_0x373e72:0xde,_0x4f86a6:0x31a,_0x42b71a:0x10c,_0x53bc3:0xf3,_0x12317b:0x108,_0x4cb137:0xda};function _0x4b7da7(_0x33fad7,_0x21f978,_0x53f64f,_0x267904){return _0x428c(_0x21f978- -0x2c5,_0x33fad7);}const _0x153a41={'atLRd':function(_0x48735a,_0x825d25,_0x27a09e){return _0x48735a(_0x825d25,_0x27a09e);},'TcOOA':_0x3ab40e(_0x2e24ed._0x43a1ad,0x2f5,_0x2e24ed._0x51d64f,0x303)+_0x3ab40e(_0x2e24ed._0x2cd1ca,0x355,_0x2e24ed._0x4a16a,_0x2e24ed._0x2d0b62),'bTbjk':function(_0x552896,_0x3e5206){return _0x552896!==_0x3e5206;},'FXpcX':_0x3ab40e(0x33d,_0x2e24ed._0x5d6739,_0x2e24ed._0x416ab3,_0x2e24ed._0x179136),'iniRd':_0x3ab40e(0x31d,0x338,_0x2e24ed._0x15fa63,0x30e),'zYwgW':function(_0x2b1b3a,_0x559451){return _0x2b1b3a(_0x559451);}},_0x2a5def={};_0x2a5def[_0x3ab40e(0x306,_0x2e24ed._0x19be42,_0x2e24ed._0x27682f,_0x2e24ed._0x5a8ffd)]=_0x399ec3;const _0x895ac7=await _0x153a41['atLRd'](executeTool,_0x153a41['TcOOA'],_0x2a5def);function _0x3ab40e(_0xe843ab,_0x45861b,_0x26de5c,_0x5b3dac){return _0x428c(_0xe843ab-0x131,_0x45861b);}if(_0x895ac7[_0x3ab40e(_0x2e24ed._0x525231,0x32a,0x328,0x341)]){if(_0x153a41[_0x4b7da7(-_0x2e24ed._0x12db31,-0xdc,-0xef,-_0x2e24ed._0x373e72)](_0x153a41[_0x3ab40e(0x31e,_0x2e24ed._0x4f86a6,0x31d,0x315)],_0x153a41[_0x4b7da7(-_0x2e24ed._0x42b71a,-0xf7,-0xea,-0xe7)]))return _0x153a41[_0x4b7da7(-0xe5,-_0x2e24ed._0x53bc3,-_0x2e24ed._0x12317b,-_0x2e24ed._0x4cb137)](untrackTestInstance,_0x399ec3),!![];else _0x3dcf58++;}return![];}function _0x22f1(){const _0x23c412=['zLjKAgm','ELL3z1C','vxzUru4','mZq0otyXBNzdz0HV','Cgf0Aa','oti3nKHrwxPtvW','zNvmCMe','ywrK','mJuZodfyv2HPCha','DMLZDwfSAxPHDa','q2XLyw51Ccb3yq','veXoruy','zwjuwgu','EevjCwy','mZi3odHrz09Lsxa','v29YA3nWywnL','zgvSzxrLx2LUCW','u0HOzKe','D2fYBG','Aw9Ux2nSzwfY','qLDmr00','odK1nffttM5nEa','mZKWy3vUsxD0','C21bq28','yLrIAMS','y29UDgfPBNm','q2v4D2K','EM54thm','rLHWy1G','tfzoAva','CM5PBMC6','zgvSzxrL','zgf0yq','sgnrt3G','DM1ztvm','z3vouwO','C3vJy2vZCW','EejjCNi','Chrtzxj2AwnL','mte5odKYnK9tz2DxCW','yujbzeu','mtzHBezyv0G','oda3mtyWwgLvvLrU','u2vYDMvYu2nYAq','mtm4mZz1yMztthi','uwjxv2G','yvHQCLa','mJriyK5zs2O','rKr1Dg0','AfLVtvK','BMfTzq','wunpyuO','zuf0yxe','rgrqCu8','C2vHCMnOx2j5xW','uunpywu','B3zUA1C','DgfUy2u','zK1SyLy','tfn6BxO','z2XJzKe','mJbnDwjdENa','Aw5ZDgfUy2vZ','Aw5PuMq','zNjVBq','y2XLyxi'];_0x22f1=function(){return _0x23c412;};return _0x22f1();}export async function cleanupTrackedInstances(){const _0x44bf09={_0x44758f:0x527,_0x5514fe:0x58d,_0x587100:0x59d,_0x350f39:0x56e,_0x21510c:0x55a,_0x2be902:0x582,_0x1008ac:0x55d,_0x5412aa:0x51e,_0x364887:0x535},_0x30a62e={_0x5cb6e5:0x336};function _0x2c64ca(_0x2289ac,_0x1f913e,_0x5138e2,_0x11112c){return _0x428c(_0x2289ac-0x385,_0x1f913e);}const _0x5e7b5c={'HcQOx':_0xf73c4f(_0x44bf09._0x44758f,0x553,0x53a,0x53b),'xBIrr':function(_0x28fea8,_0x66c5d0){return _0x28fea8(_0x66c5d0);}};let _0x495f99=0x0;function _0xf73c4f(_0x380e28,_0x54a21e,_0x3bb238,_0x500321){return _0x428c(_0x3bb238-_0x30a62e._0x5cb6e5,_0x380e28);}for(const _0x29458f of Array['from'](createdInstances)){if(_0x2c64ca(_0x44bf09._0x5514fe,0x5ae,_0x44bf09._0x587100,_0x44bf09._0x350f39)===_0x5e7b5c[_0x2c64ca(0x577,_0x44bf09._0x21510c,_0x44bf09._0x2be902,_0x44bf09._0x1008ac)])_0x1327eb[_0xf73c4f(0x530,0x4f9,0x519,0x4ff)]('Cleanup\x20wa'+'rning:',_0x2bc244);else{const _0x3ad789=await _0x5e7b5c[_0xf73c4f(_0x44bf09._0x5412aa,_0x44bf09._0x364887,0x52c,0x53d)](deleteTestInstance,_0x29458f);_0x3ad789&&_0x495f99++;}}return _0x495f99;}export async function cleanupAllTestInstances(){const _0x4297f4={_0x35b63f:0x1a,_0xf05fb5:0xd,_0x9c484b:0x6,_0x4cd91f:0x1,_0x16338a:0xf,_0x186c63:0x23,_0x3162af:0x11,_0x132fcd:0xe,_0x54167f:0x26c,_0x569249:0x297,_0x136b50:0x265,_0x240e1e:0x49,_0x2fc7f9:0x2c,_0x3b97ae:0x40,_0x377730:0x2a,_0x103a89:0x2a,_0x26b0c8:0x1a,_0x2273e2:0x47,_0x3be06f:0x35,_0xf515ec:0x30,_0xc40e55:0x16,_0x428db5:0x1e,_0x92244e:0x21,_0x5e546e:0xa,_0x45b810:0x26,_0x268b93:0x2,_0x196cfa:0x18,_0xe32cf2:0x3,_0x38389c:0x2ac,_0x33e3b2:0x2b5,_0x323f00:0x2ae,_0x299c68:0x4,_0x161dc9:0x6,_0x332204:0x4,_0x38cda5:0x10,_0x134b28:0x2f,_0x5ca4aa:0x3,_0x157127:0x19,_0x56c7ea:0x2,_0x5897c1:0x279,_0x172705:0x294,_0x4173b9:0x2a5,_0x4a82eb:0x288,_0x24632a:0x292,_0x54fde0:0x37,_0x23fcf5:0x2ca,_0x4949a9:0x2a9,_0x5d94b3:0x2ad,_0x438331:0x2ba,_0x1be882:0x2ab,_0x535d93:0x2b1,_0x17e366:0xa,_0x4f52e4:0x2b0,_0x41b7f3:0x1c,_0x4c3fa8:0x2a8,_0x2fd221:0x2b2,_0x2a454f:0x28e,_0x4806e6:0x294,_0x428e05:0x2ae,_0x227bd0:0x10,_0x2f65df:0x27,_0xaace82:0x32,_0x2a021c:0x14,_0x3521c9:0x24,_0x1edc2e:0x4,_0x34a2aa:0x290,_0x3f4bb2:0x28d,_0x2b893e:0x28e,_0x4b5a29:0x29e,_0x3030de:0x2d1,_0x35c249:0x2ca,_0x50f97e:0x13,_0x1efd1c:0x281};function _0x410fd1(_0x198691,_0x4cc409,_0x461e14,_0x44774c){return _0x428c(_0x44774c- -0x1dd,_0x461e14);}function _0x24b450(_0x9d6e4d,_0x46af4c,_0x3821cd,_0xc096e6){return _0x428c(_0xc096e6-0xaf,_0x46af4c);}const _0x5d5bd6={'SHhfA':function(_0x572d84,_0x310a65){return _0x572d84(_0x310a65);},'BWLGM':function(_0x4e4e56,_0x339df5,_0xc574e1){return _0x4e4e56(_0x339df5,_0xc574e1);},'aXjrP':_0x410fd1(_0x4297f4._0x35b63f,_0x4297f4._0xf05fb5,-_0x4297f4._0x9c484b,0xd),'fuLra':function(_0x14c227,_0x54587c){return _0x14c227!==_0x54587c;},'IdzFx':_0x410fd1(-_0x4297f4._0x4cd91f,-_0x4297f4._0x16338a,_0x4297f4._0x186c63,_0x4297f4._0x3162af),'eAtaq':_0x410fd1(-0xe,0x22,0x23,_0x4297f4._0x132fcd),'UvnEN':function(_0x4e55dd,_0x36977d){return _0x4e55dd===_0x36977d;},'vmYMS':'ebTXe','FDutm':function(_0x10aa1c,_0x5defcb){return _0x10aa1c(_0x5defcb);},'fMlbV':_0x24b450(_0x4297f4._0x54167f,_0x4297f4._0x569249,_0x4297f4._0x136b50,0x280),'DdPqO':_0x410fd1(_0x4297f4._0x240e1e,_0x4297f4._0x2fc7f9,_0x4297f4._0x3b97ae,_0x4297f4._0x377730)+'name','TLNEF':_0x24b450(0x2c6,0x2a0,0x295,0x2ab)+_0x410fd1(0x6,-0x7,_0x4297f4._0x103a89,_0x4297f4._0x26b0c8),'aBAdE':function(_0x409c40,_0x5b1287){return _0x409c40(_0x5b1287);},'hYoMY':function(_0x142a66,_0x47f9cf){return _0x142a66===_0x47f9cf;},'qWzum':'dOFFR','xEIqf':_0x410fd1(_0x4297f4._0x2273e2,0x3b,_0x4297f4._0x3be06f,_0x4297f4._0xf515ec)};let _0x575de2=0x0;try{const _0x2f2a80=await _0x5d5bd6[_0x410fd1(-0x18,0x15,_0x4297f4._0xc40e55,0x8)](executeTool,_0x410fd1(0x31,_0x4297f4._0x3be06f,_0x4297f4._0x428db5,0x2a)+_0x410fd1(0x39,_0x4297f4._0x92244e,_0x4297f4._0x5e546e,_0x4297f4._0x45b810),{'root':_0x410fd1(0x5,-_0x4297f4._0x268b93,_0x4297f4._0x196cfa,_0x4297f4._0xe32cf2),'namePattern':TEST_NAMESPACE,'matchType':_0x5d5bd6[_0x24b450(_0x4297f4._0x38389c,0x2aa,_0x4297f4._0x33e3b2,_0x4297f4._0x323f00)],'recursive':!![]});if(_0x2f2a80['success']&&_0x2f2a80[_0x410fd1(0x26,-_0x4297f4._0x299c68,0x18,0x14)]?.[_0x410fd1(-_0x4297f4._0x161dc9,-0x10,_0x4297f4._0x332204,-_0x4297f4._0x38cda5)]){if(_0x5d5bd6[_0x410fd1(0x4,0x10,0x1a,-_0x4297f4._0x9c484b)](_0x5d5bd6['IdzFx'],_0x5d5bd6[_0x410fd1(0x1d,0x27,0x18,0x28)]))for(const _0x4e8d10 of _0x2f2a80[_0x410fd1(0x28,-0x1,_0x4297f4._0x134b28,0x14)][_0x410fd1(-_0x4297f4._0x5ca4aa,-_0x4297f4._0x157127,-0x15,-_0x4297f4._0x38cda5)]){if(_0x5d5bd6[_0x410fd1(-_0x4297f4._0x56c7ea,0xd,-0x8,-0xa)](_0x24b450(_0x4297f4._0x5897c1,_0x4297f4._0x172705,_0x4297f4._0x4173b9,0x28c),_0x5d5bd6[_0x24b450(0x2c3,_0x4297f4._0x4a82eb,_0x4297f4._0x24632a,0x2a2)])){const _0x3d66a8=await _0x5d5bd6[_0x410fd1(0x40,_0x4297f4._0x54fde0,0xa,0x24)](deleteTestInstance,_0x4e8d10['path']);_0x3d66a8&&(_0x5d5bd6['UvnEN'](_0x5d5bd6[_0x24b450(_0x4297f4._0x23fcf5,0x2d1,_0x4297f4._0x4949a9,0x2ba)],_0x5d5bd6[_0x24b450(0x29b,_0x4297f4._0x5d94b3,_0x4297f4._0x438331,0x2ba)])?_0x575de2++:_0x52d057[_0x24b450(0x2b2,0x285,_0x4297f4._0x1be882,0x29f)](_0x22bec8));}else return _0x5d5bd6[_0x24b450(0x293,_0x4297f4._0x535d93,0x2af,0x291)](_0x2871a5,_0x4e1aba),!![];}else return _0x2222b1[_0x410fd1(-0x1a,-_0x4297f4._0x17e366,-0x2,-_0x4297f4._0x132fcd)](_0x27de52);}const _0x36785d=await _0x5d5bd6[_0x24b450(_0x4297f4._0x4f52e4,_0x4297f4._0x24632a,0x2b4,0x294)](executeTool,_0x5d5bd6[_0x24b450(0x2bb,0x2ce,0x2ab,0x2b5)],{'root':_0x5d5bd6[_0x410fd1(-0x2,-_0x4297f4._0x41b7f3,-0x19,-0x1)],'namePattern':TEST_NAMESPACE,'matchType':_0x24b450(_0x4297f4._0x4c3fa8,0x27c,_0x4297f4._0x2fd221,0x299),'recursive':!![]});if(_0x36785d[_0x24b450(0x2a4,_0x4297f4._0x2a454f,_0x4297f4._0x4806e6,0x2a4)]&&_0x36785d[_0x24b450(_0x4297f4._0x428e05,0x2ac,0x282,0x2a0)]?.[_0x410fd1(-0x2d,-0x1f,-0x13,-_0x4297f4._0x227bd0)])for(const _0x3da930 of _0x36785d[_0x410fd1(_0x4297f4._0x2f65df,_0x4297f4._0xaace82,0x11,_0x4297f4._0x2a021c)][_0x410fd1(-_0x4297f4._0x3521c9,0xb,-_0x4297f4._0x1edc2e,-0x10)]){const _0x336c8b=await _0x5d5bd6[_0x24b450(_0x4297f4._0x34a2aa,_0x4297f4._0x3f4bb2,0x2c0,_0x4297f4._0x4c3fa8)](deleteTestInstance,_0x3da930[_0x24b450(0x285,_0x4297f4._0x2b893e,_0x4297f4._0x4b5a29,0x284)]);_0x336c8b&&(_0x5d5bd6[_0x24b450(_0x4297f4._0x3030de,0x2a1,_0x4297f4._0x35c249,_0x4297f4._0x535d93)](_0x5d5bd6['qWzum'],_0x5d5bd6[_0x410fd1(0x1d,_0x4297f4._0x50f97e,-0xe,0x1)])?_0x115a63++:_0x575de2++);}}catch(_0x161c4e){console['warn'](_0x24b450(0x2a1,0x276,_0x4297f4._0x1efd1c,0x28a)+_0x410fd1(0x2e,0x22,0x2,0x12),_0x161c4e);}return clearTracking(),_0x575de2;}export async function clearVisualizations(){const _0x5cf329={_0x1c2e79:0x201,_0x2125a9:0x233,_0x5769e7:0x229,_0x518abb:0x220,_0x239891:0x247,_0x161a90:0x21e,_0x3a580b:0x230,_0x53f049:0x24c,_0x52ad82:0x240,_0xa798e6:0x231},_0x2f438b={_0x36adb7:0x3c},_0x5d9653={_0x242367:0x2b9},_0x50f784={'VBiXO':function(_0x5977ac,_0x2d9868,_0x688c9d){return _0x5977ac(_0x2d9868,_0x688c9d);},'guNQj':_0x4bc027(_0x5cf329._0x1c2e79,0x1fa,_0x5cf329._0x2125a9,0x216)+_0x4bc027(0x241,_0x5cf329._0x5769e7,0x219,_0x5cf329._0x518abb)};function _0x501934(_0x2a6ae9,_0x202f6d,_0xac4a28,_0x548c24){return _0x428c(_0x2a6ae9- -_0x5d9653._0x242367,_0xac4a28);}function _0x4bc027(_0x13da9f,_0x264992,_0x323820,_0x3727d7){return _0x428c(_0x3727d7-_0x2f438b._0x36adb7,_0x323820);}try{const _0x88c9c1=await _0x50f784['VBiXO'](executeTool,_0x50f784[_0x4bc027(_0x5cf329._0x239891,_0x5cf329._0x161a90,0x216,_0x5cf329._0x3a580b)],{});return _0x88c9c1[_0x4bc027(_0x5cf329._0x53f049,_0x5cf329._0x52ad82,0x23f,_0x5cf329._0xa798e6)];}catch{return![];}}export function createCleanupFn(_0xdcdc49={}){const _0x264107={_0x468993:0x235,_0x49e1cd:0x213,_0x5927c8:0x21c},_0x5578e5={_0x173ae4:0x451,_0x451339:0x46c,_0x444931:0x45f,_0x27afd7:0x45a,_0x59c9c4:0x469,_0x459387:0x44b,_0x5054e6:0x466},_0x2fe630={_0x396261:0x5f,_0x363617:0x66,_0x35f64d:0x245},_0x201906={_0x9b40cf:0x172,_0x506841:0x2ea},_0x27a40b={'hIWwd':function(_0x279648,_0x1b2daf){return _0x279648!==_0x1b2daf;},'ovnkW':_0x50fd13(_0x264107._0x468993,_0x264107._0x49e1cd,0x211,_0x264107._0x5927c8),'smACo':function(_0x1da44c){return _0x1da44c();}};function _0x50fd13(_0x2b0b2b,_0x2d29e3,_0x3bd292,_0x35932b){return _0x428c(_0x35932b-0x1e,_0x2d29e3);}return async()=>{function _0x3ae742(_0xa340fa,_0xf6ddc4,_0x3dbe12,_0x3458ba){return _0x50fd13(_0xa340fa-0xb1,_0x3458ba,_0x3dbe12-_0x201906._0x9b40cf,_0xf6ddc4-_0x201906._0x506841);}function _0x8c059a(_0x20dec5,_0x54ca33,_0x4f0010,_0x3cb233){return _0x50fd13(_0x20dec5-_0x2fe630._0x396261,_0x3cb233,_0x4f0010-_0x2fe630._0x363617,_0x54ca33-_0x2fe630._0x35f64d);}if(_0x27a40b['hIWwd'](_0x27a40b[_0x8c059a(_0x5578e5._0x173ae4,_0x5578e5._0x451339,_0x5578e5._0x444931,_0x5578e5._0x27afd7)],_0x27a40b['ovnkW']))return![];else _0xdcdc49['clearVisua'+'lization']&&await _0x27a40b[_0x8c059a(_0x5578e5._0x59c9c4,_0x5578e5._0x459387,_0x5578e5._0x5054e6,0x468)](clearVisualizations),await cleanupTrackedInstances();};}