@profoundlogic/coderflow-server 0.4.2 → 0.4.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.
- package/README.md +1 -1
- package/dist/README.md +1 -1
- package/dist/base-image/entrypoint.sh +2 -1
- package/dist/coder-server.js +1 -1
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/agent-models.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/automation-service.js +1 -0
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/bindings.js +1 -0
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/config-migration.js +1 -1
- package/dist/lib/container-credential-sync.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-askpass.sh +16 -0
- package/dist/lib/git-commit-details-route.js +1 -1
- package/dist/lib/git-history-diff-guardrails.js +1 -1
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/group-objective-linking.js +1 -1
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/judge-blinding.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/migration-to-scoped-rbac.js +1 -0
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/objective-context.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/permission-resolver.js +1 -0
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/role-definitions.js +1 -0
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-format.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/task-source-metadata.js +1 -0
- package/dist/lib/teams.js +1 -0
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package-lock.json +211 -21
- package/dist/package.json +3 -1
- package/dist/playwright.config.js +1 -0
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/automations.js +1 -0
- package/dist/routes/bindings.js +1 -0
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/roles.js +1 -0
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/teams.js +1 -0
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/scripts/migrate-config-to-data-dir.js +1 -1
- package/dist/scripts/migrate-to-scoped-rbac.js +2 -0
- package/dist/start.js +1 -1
- package/dist/start.js.bak +1381 -0
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/automation-links.js +1 -0
- package/dist/web-ui/public/automation-schedule.js +1 -0
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/docs/_sidebar.md +1 -0
- package/dist/web-ui/public/docs/admin/automations.md +75 -0
- package/dist/web-ui/public/docs/admin/git-providers.md +10 -5
- package/dist/web-ui/public/docs/admin/installation.md +1 -1
- package/dist/web-ui/public/docs/admin/users-and-roles.md +14 -4
- package/dist/web-ui/public/environments.css +253 -125
- package/dist/web-ui/public/environments.html +366 -2
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.css +42 -0
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
- package/dist/web-ui/public/git-history.html +15 -0
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.html +27 -0
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/pr-dialog.js +1 -1
- package/dist/web-ui/public/roles.html +247 -0
- package/dist/web-ui/public/roles.js +1 -0
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.html +84 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.css +6 -0
- package/dist/web-ui/public/skills.html +35 -0
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/styles.css +278 -161
- package/dist/web-ui/public/task.html +33 -2
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/teams.html +285 -0
- package/dist/web-ui/public/teams.js +1 -0
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.html +87 -29
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +7 -3
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
})();
|
|
24
24
|
</script>
|
|
25
25
|
<link rel="stylesheet" href="styles.css?v=83">
|
|
26
|
-
<script type="module" src="users.js?v=
|
|
26
|
+
<script type="module" src="users.js?v=60"></script>
|
|
27
27
|
<!-- Dev QA shortcut: Ctrl+Shift+Q to launch current page in QA mode -->
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
@@ -51,6 +51,15 @@
|
|
|
51
51
|
</svg>
|
|
52
52
|
</button>
|
|
53
53
|
<div class="dropdown-menu admin-dropdown" id="admin-menu" hidden>
|
|
54
|
+
<button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='teams.html'">
|
|
55
|
+
<svg class="option-icon icon-teams" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
56
|
+
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
|
|
57
|
+
<circle cx="9" cy="7" r="4"></circle>
|
|
58
|
+
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
|
|
59
|
+
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
|
60
|
+
</svg>
|
|
61
|
+
<span class="option-text">Teams</span>
|
|
62
|
+
</button>
|
|
54
63
|
<button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='environments.html'">
|
|
55
64
|
<svg class="option-icon icon-environments" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
56
65
|
<circle cx="12" cy="12" r="10"></circle>
|
|
@@ -59,6 +68,12 @@
|
|
|
59
68
|
</svg>
|
|
60
69
|
<span class="option-text">Environments</span>
|
|
61
70
|
</button>
|
|
71
|
+
<button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='roles.html'">
|
|
72
|
+
<svg class="option-icon icon-roles" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
73
|
+
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
|
|
74
|
+
</svg>
|
|
75
|
+
<span class="option-text">Roles</span>
|
|
76
|
+
</button>
|
|
62
77
|
<button type="button" class="dropdown-item admin-menu-item" onclick="window.location.href='skills.html'">
|
|
63
78
|
<svg class="option-icon icon-skills" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
64
79
|
<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path>
|
|
@@ -131,7 +146,7 @@
|
|
|
131
146
|
<th>Username</th>
|
|
132
147
|
<th>Name</th>
|
|
133
148
|
<th>Email</th>
|
|
134
|
-
<th>
|
|
149
|
+
<th>Access</th>
|
|
135
150
|
<th>Created</th>
|
|
136
151
|
<th>Actions</th>
|
|
137
152
|
</tr>
|
|
@@ -149,7 +164,7 @@
|
|
|
149
164
|
<!-- Create/Edit User Modal -->
|
|
150
165
|
<div id="user-modal" class="modal" hidden>
|
|
151
166
|
<div class="modal-overlay"></div>
|
|
152
|
-
<div class="modal-content">
|
|
167
|
+
<div class="modal-content" style="max-width: 640px;">
|
|
153
168
|
<div class="modal-header">
|
|
154
169
|
<h2 id="modal-title">Create User</h2>
|
|
155
170
|
<button class="modal-close" id="close-user-modal">×</button>
|
|
@@ -210,38 +225,81 @@
|
|
|
210
225
|
</div>
|
|
211
226
|
</div>
|
|
212
227
|
|
|
213
|
-
<div class="
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
228
|
+
<div id="form-error" class="login-error" hidden></div>
|
|
229
|
+
</form>
|
|
230
|
+
<p class="field-hint" style="margin-top: 1rem;">After creating a user, assign environment access through <strong>Access Bindings</strong> or by adding them to <strong>Teams</strong>.</p>
|
|
231
|
+
</div>
|
|
232
|
+
<div class="modal-footer" id="user-modal-footer">
|
|
233
|
+
<button class="btn-ghost" id="cancel-user">Cancel</button>
|
|
234
|
+
<button class="btn-primary" id="save-user">Save User</button>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
223
238
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
239
|
+
<!-- Access Bindings Modal -->
|
|
240
|
+
<div id="bindings-modal" class="modal" hidden>
|
|
241
|
+
<div class="modal-overlay"></div>
|
|
242
|
+
<div class="modal-content" style="max-width: 640px;">
|
|
243
|
+
<div class="modal-header">
|
|
244
|
+
<h2 id="bindings-modal-title">Access Bindings</h2>
|
|
245
|
+
<button class="modal-close" id="close-bindings-modal">×</button>
|
|
246
|
+
</div>
|
|
247
|
+
<div class="modal-body">
|
|
248
|
+
<div id="bindings-server-admin-section" style="padding: 0.875rem 1rem; margin-bottom: 1rem; background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: 8px;">
|
|
249
|
+
<label style="display: flex; align-items: center; gap: 0.5rem; cursor: pointer;">
|
|
250
|
+
<input type="checkbox" id="user-is-server-admin" style="width: auto; margin: 0;">
|
|
251
|
+
<span style="font-weight: 600;">Server Admin</span>
|
|
252
|
+
</label>
|
|
253
|
+
<p class="field-hint" style="margin-top: 0.375rem; margin-bottom: 0;">Grants full system access with all permissions, bypassing environment bindings.</p>
|
|
254
|
+
</div>
|
|
255
|
+
<div id="user-bindings-loading" class="loading" hidden>Loading bindings…</div>
|
|
256
|
+
<div id="user-bindings-empty" hidden style="padding: 1.5rem 0; text-align: center; color: var(--color-text-secondary);">
|
|
257
|
+
No direct user bindings.
|
|
258
|
+
</div>
|
|
259
|
+
<div id="user-team-bindings-note" hidden style="padding: 0.875rem 1rem; margin-top: 0.75rem; background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-radius: 8px; font-size: 0.875rem; color: var(--color-text-secondary);">
|
|
260
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align: -3px; margin-right: 0.375rem;">
|
|
261
|
+
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
|
|
262
|
+
<circle cx="9" cy="7" r="4"></circle>
|
|
263
|
+
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
|
|
264
|
+
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
|
|
265
|
+
</svg>
|
|
266
|
+
<span id="user-team-bindings-text">This user also has access via team memberships.</span>
|
|
267
|
+
</div>
|
|
268
|
+
<div id="user-bindings-list-container">
|
|
269
|
+
<table class="users-table" id="user-bindings-table">
|
|
270
|
+
<thead>
|
|
271
|
+
<tr>
|
|
272
|
+
<th>Environment</th>
|
|
273
|
+
<th>Role</th>
|
|
274
|
+
<th>Actions</th>
|
|
275
|
+
</tr>
|
|
276
|
+
</thead>
|
|
277
|
+
<tbody id="user-bindings-table-body"></tbody>
|
|
278
|
+
</table>
|
|
279
|
+
</div>
|
|
280
|
+
<div id="user-bindings-actions" style="margin-top: 1rem;">
|
|
281
|
+
<button type="button" class="btn-secondary btn-small" id="add-user-binding-btn">+ Add Binding</button>
|
|
282
|
+
</div>
|
|
283
|
+
<!-- Inline add-binding form -->
|
|
284
|
+
<div id="add-user-binding-form" hidden style="margin-top: 0.75rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface-elevated);">
|
|
285
|
+
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 0.75rem;">
|
|
286
|
+
<div>
|
|
287
|
+
<label style="font-size: 0.8rem; margin-bottom: 0.25rem; display: block;">Environment</label>
|
|
288
|
+
<select id="user-binding-environment" class="form-input" style="font-size: 0.875rem;"></select>
|
|
231
289
|
</div>
|
|
232
|
-
<
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
<!-- Permission categories will be populated here -->
|
|
290
|
+
<div>
|
|
291
|
+
<label style="font-size: 0.8rem; margin-bottom: 0.25rem; display: block;">Role</label>
|
|
292
|
+
<select id="user-binding-role" class="form-input" style="font-size: 0.875rem;"></select>
|
|
236
293
|
</div>
|
|
237
294
|
</div>
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
295
|
+
<div style="display: flex; gap: 0.5rem;">
|
|
296
|
+
<button type="button" class="btn-primary btn-small" id="save-user-binding-btn">Add Binding</button>
|
|
297
|
+
<button type="button" class="btn-ghost btn-small" id="cancel-user-binding-btn">Cancel</button>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
241
300
|
</div>
|
|
242
301
|
<div class="modal-footer">
|
|
243
|
-
<button class="btn-ghost" id="
|
|
244
|
-
<button class="btn-primary" id="save-user">Save User</button>
|
|
302
|
+
<button class="btn-ghost" id="close-bindings-modal-footer">Done</button>
|
|
245
303
|
</div>
|
|
246
304
|
</div>
|
|
247
305
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1fa1f6=_0x2ec8;(function(_0x1a332b,_0x5a9d7c){const _0x431749=_0x2ec8,_0x353bab=_0x1a332b();while(!![]){try{const _0x394e35=-parseInt(_0x431749(0x10f))/0x1+parseInt(_0x431749(0x134))/0x2+-parseInt(_0x431749(0x12d))/0x3+parseInt(_0x431749(0x19e))/0x4+-parseInt(_0x431749(0xea))/0x5*(-parseInt(_0x431749(0x192))/0x6)+parseInt(_0x431749(0x109))/0x7+-parseInt(_0x431749(0x193))/0x8;if(_0x394e35===_0x5a9d7c)break;else _0x353bab['push'](_0x353bab['shift']());}catch(_0x1c0fd8){_0x353bab['push'](_0x353bab['shift']());}}}(_0x1552,0xc2cc3));import{API,Utils,ConfirmDialog,CustomSelect,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';const state={'users':[],'editingUserId':null,'deletingUserId':null,'setupLinkData':null,'emailConfigured':![],'currentUser':null,'rolesInfo':null,'selectedPermissions':[],'permissionsExpanded':![],'roleCustomSelect':null},ROLE_DESCRIPTIONS={'viewer':'Read-only\x20access\x20to\x20own\x20tasks\x20and\x20environments','developer':_0x1fa1f6(0x160),'manager':_0x1fa1f6(0xee),'admin':_0x1fa1f6(0x19c)},ROLE_NAMES={'viewer':_0x1fa1f6(0x102),'developer':_0x1fa1f6(0x17f),'manager':'Manager','admin':_0x1fa1f6(0x167)};function formatRoleName(_0x118b70){return ROLE_NAMES[_0x118b70]||_0x118b70;}const PERMISSION_CATEGORIES={'tasks':_0x1fa1f6(0x184),'environments':_0x1fa1f6(0x15f),'users':'Users','settings':'Settings','server':_0x1fa1f6(0x10b),'apikeys':_0x1fa1f6(0x13e)};document[_0x1fa1f6(0x17d)](_0x1fa1f6(0xec),async()=>{initTheme(),mountThemeToggle(),await checkAdminAccess(),await initializeAdminMenu(state['currentUser']),await checkEmailConfig(),bindEventListeners(),await loadUsers();});async function checkAdminAccess(){const _0x2a791b=_0x1fa1f6;try{const _0x15f5f2=await API[_0x2a791b(0x11f)]();state['currentUser']=_0x15f5f2;try{state[_0x2a791b(0xe3)]=await API['getRolesInfo']();}catch(_0x251f3a){Utils[_0x2a791b(0x195)](_0x2a791b(0x117),_0x2a791b(0x147)),setTimeout(()=>{const _0x34bce9=_0x2a791b;window[_0x34bce9(0x17a)][_0x34bce9(0x15a)]=_0x34bce9(0x103);},0x7d0);return;}setupRoleDescriptions();}catch(_0x280b5a){window[_0x2a791b(0x17a)][_0x2a791b(0x15a)]=_0x2a791b(0x19b);}}function setupRoleDescriptions(){const _0x5db209=_0x1fa1f6,_0x37653e=document['getElementById'](_0x5db209(0x17e)),_0xbc35ab=document[_0x5db209(0x163)]('role-description');if(!_0x37653e||!_0xbc35ab)return;state['rolesInfo']?.[_0x5db209(0x146)]&&(_0x37653e[_0x5db209(0x14f)]='',state['rolesInfo']['roles'][_0x5db209(0x18a)](_0x473481=>{const _0x1ae887=_0x5db209;if(_0x473481[_0x1ae887(0xf7)]){const _0x1622bb=document[_0x1ae887(0x181)](_0x1ae887(0x126));_0x1622bb[_0x1ae887(0x17b)]=_0x473481['value'],_0x1622bb[_0x1ae887(0x137)]=_0x473481['name'],_0x37653e[_0x1ae887(0x183)](_0x1622bb);}}));state[_0x5db209(0x106)]=new CustomSelect(_0x37653e),_0x37653e[_0x5db209(0x17d)](_0x5db209(0xe2),()=>{const _0xfea421=_0x5db209,_0x41ee24=_0x37653e[_0xfea421(0x17b)];_0xbc35ab[_0xfea421(0x137)]=ROLE_DESCRIPTIONS[_0x41ee24]||'',handleRoleChange();});const _0xfa912a=_0x37653e[_0x5db209(0x17b)];_0xbc35ab[_0x5db209(0x137)]=ROLE_DESCRIPTIONS[_0xfa912a]||'',setupPermissionsSection();}function setupPermissionsSection(){const _0x1e624d=_0x1fa1f6,_0x598e60=document['getElementById'](_0x1e624d(0xfb)),_0x48dec0=document[_0x1e624d(0x163)](_0x1e624d(0x18f)),_0x57b6e1=state[_0x1e624d(0xe3)]?.[_0x1e624d(0x18d)]?.[_0x1e624d(0x17c)](_0x1d3e31=>_0x1d3e31[_0x1e624d(0xf7)]);if(!_0x57b6e1||!_0x598e60||!_0x48dec0){if(_0x598e60)_0x598e60[_0x1e624d(0x125)]['display']=_0x1e624d(0x120);return;}_0x598e60['style'][_0x1e624d(0x155)]=_0x1e624d(0x112);const _0x3aef1a={};state[_0x1e624d(0xe3)][_0x1e624d(0x18d)][_0x1e624d(0x18a)](_0x5b2398=>{const _0x30ef01=_0x1e624d;if(!_0x5b2398['canAssign'])return;const [_0x2c5a64]=_0x5b2398['key'][_0x30ef01(0x182)](':');!_0x3aef1a[_0x2c5a64]&&(_0x3aef1a[_0x2c5a64]=[]),_0x3aef1a[_0x2c5a64]['push'](_0x5b2398);}),_0x48dec0['innerHTML']=Object[_0x1e624d(0x129)](_0x3aef1a)['map'](([_0x3e0c54,_0x5728b2])=>_0x1e624d(0x1a0)+(PERMISSION_CATEGORIES[_0x3e0c54]||_0x3e0c54)+_0x1e624d(0xe9)+_0x5728b2['map'](_0xe54bde=>_0x1e624d(0x115)+Utils['escapeHtml'](_0xe54bde[_0x1e624d(0x157)])+_0x1e624d(0x170)+_0xe54bde[_0x1e624d(0xf3)]+_0x1e624d(0x10d)+_0xe54bde['key'][_0x1e624d(0x182)](':')[0x1]+_0x1e624d(0xd0))[_0x1e624d(0x13f)]('')+_0x1e624d(0xe7))['join'](''),_0x48dec0[_0x1e624d(0x14d)](_0x1e624d(0x135))[_0x1e624d(0x18a)](_0x35c9cc=>{const _0x52a6d3=_0x1e624d;_0x35c9cc[_0x52a6d3(0x17d)](_0x52a6d3(0xe2),handlePermissionChange);});}function getRolePermissions(_0x432582){const _0x23a061=_0x1fa1f6,_0x53d833={'admin':['*'],'manager':[_0x23a061(0x153),'tasks:execute',_0x23a061(0xfc),'tasks:view_all',_0x23a061(0x131),_0x23a061(0x16e),'tasks:judge',_0x23a061(0x130),_0x23a061(0x119),_0x23a061(0x12b),'users:view',_0x23a061(0xed),_0x23a061(0x140),_0x23a061(0x138),'apikeys:manage_own'],'developer':[_0x23a061(0x153),_0x23a061(0xfe),_0x23a061(0xfc),_0x23a061(0x131),_0x23a061(0x119),'environments:view_details',_0x23a061(0xd1)],'viewer':[_0x23a061(0xfc),_0x23a061(0x119),_0x23a061(0x12b),_0x23a061(0xd1)]};return _0x53d833[_0x432582]||[];}function roleHasPermission(_0x4692f3,_0x37ac1f){const _0x44061b=_0x1fa1f6,_0x53dbfe=getRolePermissions(_0x4692f3);if(_0x53dbfe[_0x44061b(0x150)]('*'))return!![];if(_0x53dbfe['includes'](_0x37ac1f))return!![];const [_0xe476d]=_0x37ac1f[_0x44061b(0x182)](':');if(_0x53dbfe['includes'](_0xe476d+':*'))return!![];return![];}function togglePermissionsSection(){const _0x14d2ee=_0x1fa1f6,_0x17a4a2=document[_0x14d2ee(0x163)]('permissions-list'),_0x225251=document[_0x14d2ee(0x163)](_0x14d2ee(0x113));if(!_0x17a4a2||!_0x225251)return;state[_0x14d2ee(0x11c)]=!state[_0x14d2ee(0x11c)],state[_0x14d2ee(0x11c)]?(_0x17a4a2[_0x14d2ee(0x125)][_0x14d2ee(0x155)]=_0x14d2ee(0x112),_0x225251[_0x14d2ee(0x137)]='Hide'):(_0x17a4a2[_0x14d2ee(0x125)]['display']=_0x14d2ee(0x120),_0x225251[_0x14d2ee(0x137)]='Show');}function handlePermissionChange(_0x78912d){const _0x568c1e=_0x1fa1f6,_0x10e7a3=_0x78912d['target'],_0x4339ec=_0x10e7a3[_0x568c1e(0x17b)];_0x10e7a3[_0x568c1e(0x197)]?!state[_0x568c1e(0x107)]['includes'](_0x4339ec)&&state['selectedPermissions'][_0x568c1e(0x172)](_0x4339ec):state[_0x568c1e(0x107)]=state[_0x568c1e(0x107)][_0x568c1e(0x171)](_0x46d1ff=>_0x46d1ff!==_0x4339ec);}function updatePermissionCheckboxes(_0xc3ae4c=[],_0x2effcf=null){const _0x647b8e=_0x1fa1f6;state[_0x647b8e(0x107)]=[..._0xc3ae4c];const _0x220173=document['getElementById'](_0x647b8e(0x18f)),_0x1e8e72=_0x2effcf||document[_0x647b8e(0x163)](_0x647b8e(0x17e))?.[_0x647b8e(0x17b)]||'developer';if(!_0x220173)return;_0x220173[_0x647b8e(0x14d)](_0x647b8e(0x127))['forEach'](_0xff1ae4=>{const _0x1c5bc6=_0x647b8e,_0x58f4d9=_0xff1ae4['querySelector']('.permission-checkbox'),_0x3fcee4=_0xff1ae4['querySelector'](_0x1c5bc6(0x133)),_0x3223a7=_0x58f4d9[_0x1c5bc6(0x17b)],_0x7e4d03=roleHasPermission(_0x1e8e72,_0x3223a7),_0x29d518=_0xc3ae4c[_0x1c5bc6(0x150)](_0x3223a7);if(_0x7e4d03)_0x58f4d9[_0x1c5bc6(0x197)]=!![],_0x58f4d9[_0x1c5bc6(0x16d)]=!![],_0xff1ae4[_0x1c5bc6(0xf2)][_0x1c5bc6(0xfd)](_0x1c5bc6(0xe6)),_0xff1ae4['classList'][_0x1c5bc6(0x14b)](_0x1c5bc6(0x169)),_0x3fcee4&&(_0x3fcee4['style'][_0x1c5bc6(0x155)]=_0x1c5bc6(0x177),_0x3fcee4['textContent']=_0x1e8e72);else{if(_0x29d518){_0x58f4d9[_0x1c5bc6(0x197)]=!![],_0x58f4d9['disabled']=![],_0xff1ae4[_0x1c5bc6(0xf2)][_0x1c5bc6(0x14b)]('permission-from-role'),_0xff1ae4['classList'][_0x1c5bc6(0xfd)]('permission-custom');if(_0x3fcee4)_0x3fcee4[_0x1c5bc6(0x125)]['display']=_0x1c5bc6(0x120);}else{_0x58f4d9[_0x1c5bc6(0x197)]=![],_0x58f4d9[_0x1c5bc6(0x16d)]=![],_0xff1ae4[_0x1c5bc6(0xf2)][_0x1c5bc6(0x14b)](_0x1c5bc6(0xe6),'permission-custom');if(_0x3fcee4)_0x3fcee4[_0x1c5bc6(0x125)][_0x1c5bc6(0x155)]=_0x1c5bc6(0x120);}}});}function handleRoleChange(){const _0x57686a=_0x1fa1f6,_0x161971=document[_0x57686a(0x163)](_0x57686a(0x17e))?.[_0x57686a(0x17b)];_0x161971&&updatePermissionCheckboxes(state[_0x57686a(0x107)],_0x161971);}function resetPermissionsSection(){const _0x211671=_0x1fa1f6;state['selectedPermissions']=[],state[_0x211671(0x11c)]=![];const _0x1178f7=document['getElementById'](_0x211671(0x18f)),_0x277fc5=document['getElementById'](_0x211671(0x113));_0x1178f7&&(_0x1178f7[_0x211671(0x125)][_0x211671(0x155)]=_0x211671(0x120));_0x277fc5&&(_0x277fc5[_0x211671(0x137)]=_0x211671(0x16b));const _0x2c9972=document[_0x211671(0x163)](_0x211671(0x17e))?.['value']||'developer';updatePermissionCheckboxes([],_0x2c9972);}async function checkEmailConfig(){const _0x274e9e=_0x1fa1f6;try{const _0x442d53=await API['getEmailConfig']();state[_0x274e9e(0xde)]=_0x442d53[_0x274e9e(0xf4)];}catch(_0x589b8b){console[_0x274e9e(0x147)](_0x274e9e(0x168),_0x589b8b),state['emailConfigured']=![];}}function bindEventListeners(){const _0x5b470a=_0x1fa1f6;document[_0x5b470a(0x163)](_0x5b470a(0x14c))?.[_0x5b470a(0x17d)](_0x5b470a(0x191),showCreateUserModal),document[_0x5b470a(0x163)]('close-user-modal')?.[_0x5b470a(0x17d)]('click',hideUserModal),document[_0x5b470a(0x163)](_0x5b470a(0x19a))?.[_0x5b470a(0x17d)](_0x5b470a(0x191),hideUserModal),document[_0x5b470a(0x163)]('save-user')?.[_0x5b470a(0x17d)]('click',saveUser),document[_0x5b470a(0x105)](_0x5b470a(0x189))?.['addEventListener'](_0x5b470a(0x191),hideUserModal),document['getElementById'](_0x5b470a(0x1a1))?.[_0x5b470a(0x17d)]('click',hideDeleteModal),document[_0x5b470a(0x163)]('cancel-delete')?.[_0x5b470a(0x17d)](_0x5b470a(0x191),hideDeleteModal),document['getElementById']('confirm-delete')?.['addEventListener'](_0x5b470a(0x191),confirmDeleteUser),document[_0x5b470a(0x105)](_0x5b470a(0x161))?.[_0x5b470a(0x17d)]('click',hideDeleteModal),document[_0x5b470a(0x163)](_0x5b470a(0xd9))?.['addEventListener']('click',hideSetupLinkModal),document[_0x5b470a(0x163)](_0x5b470a(0xe1))?.[_0x5b470a(0x17d)]('click',hideSetupLinkModal),document['getElementById'](_0x5b470a(0x114))?.[_0x5b470a(0x17d)](_0x5b470a(0x191),copySetupLink),document[_0x5b470a(0x163)](_0x5b470a(0xeb))?.['addEventListener'](_0x5b470a(0x191),emailSetupLink),document[_0x5b470a(0x105)](_0x5b470a(0x13c))?.[_0x5b470a(0x17d)](_0x5b470a(0x191),hideSetupLinkModal),document['getElementById']('skip-password')?.[_0x5b470a(0x17d)](_0x5b470a(0xe2),handleSkipPasswordChange),document['getElementById'](_0x5b470a(0x19f))?.['addEventListener'](_0x5b470a(0x191),togglePermissionsSection),document[_0x5b470a(0x163)](_0x5b470a(0x14a))?.[_0x5b470a(0x17d)](_0x5b470a(0x191),loadUsers);}async function loadUsers(){const _0x2cbd1f=_0x1fa1f6,_0x52fb43=document[_0x2cbd1f(0x163)](_0x2cbd1f(0x144)),_0x4d90dd=document['getElementById']('users-error'),_0x1ba292=document['getElementById'](_0x2cbd1f(0x128));try{_0x52fb43[_0x2cbd1f(0x173)]=![],_0x4d90dd[_0x2cbd1f(0x173)]=!![],_0x1ba292[_0x2cbd1f(0x173)]=!![];const _0x572c63=await API[_0x2cbd1f(0x148)]();state['users']=_0x572c63[_0x2cbd1f(0x186)]||[],renderUsers(),_0x52fb43['hidden']=!![],_0x1ba292[_0x2cbd1f(0x173)]=![];}catch(_0x3c7861){console[_0x2cbd1f(0x147)]('Failed\x20to\x20load\x20users',_0x3c7861),_0x52fb43[_0x2cbd1f(0x173)]=!![],_0x4d90dd['hidden']=![],document[_0x2cbd1f(0x163)](_0x2cbd1f(0x178))[_0x2cbd1f(0x137)]=_0x3c7861['message'];}}function renderUsers(){const _0x3e243f=_0x1fa1f6,_0x2d4412=document[_0x3e243f(0x163)](_0x3e243f(0xe4)),_0x317a42=document[_0x3e243f(0x163)](_0x3e243f(0x175));if(!_0x2d4412)return;_0x317a42&&(_0x317a42[_0x3e243f(0x137)]=state[_0x3e243f(0x186)][_0x3e243f(0x154)]+_0x3e243f(0x11a)+(state[_0x3e243f(0x186)][_0x3e243f(0x154)]===0x1?'':'s'));const _0x8bafd7=[...state[_0x3e243f(0x186)]]['sort']((_0x212bec,_0x42eee1)=>{const _0x1de389=_0x3e243f,_0x2f0bac=new Date(_0x212bec[_0x1de389(0xdb)])[_0x1de389(0xf5)](),_0x31303c=new Date(_0x42eee1['created_at'])[_0x1de389(0xf5)]();return _0x31303c-_0x2f0bac;});_0x2d4412[_0x3e243f(0x14f)]=_0x8bafd7['map'](_0xbe78dd=>_0x3e243f(0x187)+Utils[_0x3e243f(0x143)](_0xbe78dd[_0x3e243f(0x151)])+_0x3e243f(0x139)+Utils[_0x3e243f(0x143)](_0xbe78dd[_0x3e243f(0x15d)])+'</td>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils['escapeHtml'](_0xbe78dd[_0x3e243f(0x100)])+'</td>\x0a\x20\x20\x20\x20\x20\x20<td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22role-badge\x20role-'+_0xbe78dd[_0x3e243f(0x123)]+'\x22>'+formatRoleName(_0xbe78dd[_0x3e243f(0x123)])+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0xbe78dd[_0x3e243f(0x18d)]?.[_0x3e243f(0x154)]?_0x3e243f(0x118)+_0xbe78dd[_0x3e243f(0x18d)]['join'](',\x20')+_0x3e243f(0xd3)+_0xbe78dd[_0x3e243f(0x18d)][_0x3e243f(0x154)]+_0x3e243f(0x141):'')+'\x0a\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils[_0x3e243f(0x18b)](_0xbe78dd[_0x3e243f(0xdb)])+'</td>\x0a\x20\x20\x20\x20\x20\x20<td>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22user-actions\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22btn-secondary\x20btn-small\x22\x20onclick=\x22window.editUser(\x27'+_0xbe78dd['id']+_0x3e243f(0x121)+_0xbe78dd['id']+_0x3e243f(0xf9)+_0xbe78dd['id']+_0x3e243f(0xd8))[_0x3e243f(0x13f)]('');}function showCreateUserModal(){const _0x2dc24b=_0x1fa1f6;state[_0x2dc24b(0x152)]=null;const _0x155b86=document[_0x2dc24b(0x163)](_0x2dc24b(0xef)),_0x2e7327=document[_0x2dc24b(0x163)](_0x2dc24b(0xf6)),_0xbf1d2b=document['getElementById']('user-password'),_0xa71162=document[_0x2dc24b(0x163)](_0x2dc24b(0x132)),_0x4749e4=document['getElementById'](_0x2dc24b(0x142)),_0x52256c=document[_0x2dc24b(0x163)]('skip-password-container'),_0x32e79d=document[_0x2dc24b(0x163)](_0x2dc24b(0x179));_0x2e7327['textContent']=_0x2dc24b(0x10e),document[_0x2dc24b(0x163)]('user-form')[_0x2dc24b(0x165)](),_0xbf1d2b[_0x2dc24b(0x176)]=!![];if(_0xa71162)_0xa71162['textContent']='*';_0x52256c&&(_0x52256c[_0x2dc24b(0x125)][_0x2dc24b(0x155)]='block',_0x32e79d[_0x2dc24b(0x197)]=![]),_0x4749e4&&(_0x4749e4['textContent']='Minimum\x208\x20characters'),resetPermissionsSection(),_0x155b86[_0x2dc24b(0x173)]=![],setTimeout(()=>{const _0xb28e62=_0x2dc24b;document[_0xb28e62(0x163)](_0xb28e62(0x174))['focus']();},0x64);}window[_0x1fa1f6(0xf1)]=function(_0x5159e9){const _0xb24eae=_0x1fa1f6,_0x1a09cb=state['users']['find'](_0x1e78a6=>_0x1e78a6['id']===_0x5159e9);if(!_0x1a09cb)return;state[_0xb24eae(0x152)]=_0x5159e9;const _0x38a3b0=document[_0xb24eae(0x163)](_0xb24eae(0xef)),_0x4feae1=document[_0xb24eae(0x163)](_0xb24eae(0xf6)),_0x429ea2=document['getElementById'](_0xb24eae(0xda)),_0x4b007d=document['getElementById'](_0xb24eae(0x132)),_0x37576e=document[_0xb24eae(0x163)](_0xb24eae(0x142)),_0x309ed4=document['getElementById'](_0xb24eae(0xd7));_0x4feae1[_0xb24eae(0x137)]=_0xb24eae(0x15b),document[_0xb24eae(0x163)](_0xb24eae(0x174))[_0xb24eae(0x17b)]=_0x1a09cb[_0xb24eae(0x151)],document[_0xb24eae(0x163)](_0xb24eae(0x159))[_0xb24eae(0x17b)]=_0x1a09cb[_0xb24eae(0x15d)],document['getElementById'](_0xb24eae(0x13b))[_0xb24eae(0x17b)]=_0x1a09cb['email'];const _0x981807=document[_0xb24eae(0x163)](_0xb24eae(0x17e));_0x981807[_0xb24eae(0x17b)]=_0x1a09cb['role'],_0x981807[_0xb24eae(0xce)](new Event('change',{'bubbles':!![]})),_0x429ea2[_0xb24eae(0x17b)]='',_0x429ea2[_0xb24eae(0x176)]=![];if(_0x4b007d)_0x4b007d[_0xb24eae(0x137)]='';_0x309ed4&&(_0x309ed4[_0xb24eae(0x125)][_0xb24eae(0x155)]=_0xb24eae(0x120));_0x37576e&&(_0x37576e[_0xb24eae(0x137)]='Leave\x20blank\x20to\x20keep\x20current\x20password');const _0x9120b1=_0x1a09cb['permissions']||[];updatePermissionCheckboxes(_0x9120b1,_0x1a09cb[_0xb24eae(0x123)]);if(_0x9120b1['length']>0x0){state[_0xb24eae(0x11c)]=!![];const _0x53cfea=document[_0xb24eae(0x163)](_0xb24eae(0x18f)),_0x353546=document[_0xb24eae(0x163)](_0xb24eae(0x113));if(_0x53cfea)_0x53cfea[_0xb24eae(0x125)][_0xb24eae(0x155)]=_0xb24eae(0x112);if(_0x353546)_0x353546['textContent']=_0xb24eae(0x15c);}else{state[_0xb24eae(0x11c)]=![];const _0xafe145=document[_0xb24eae(0x163)](_0xb24eae(0x18f)),_0xc3d47c=document['getElementById'](_0xb24eae(0x113));if(_0xafe145)_0xafe145['style'][_0xb24eae(0x155)]=_0xb24eae(0x120);if(_0xc3d47c)_0xc3d47c['textContent']='Show';}_0x38a3b0[_0xb24eae(0x173)]=![],setTimeout(()=>{const _0x38358d=_0xb24eae;document[_0x38358d(0x163)](_0x38358d(0x174))[_0x38358d(0xdd)]();},0x64);};function hideUserModal(){const _0x334627=_0x1fa1f6,_0x428390=document['getElementById'](_0x334627(0xef)),_0x4267d7=document['getElementById']('form-error'),_0x416e3f=document[_0x334627(0x163)](_0x334627(0xf8));_0x428390['hidden']=!![],_0x4267d7[_0x334627(0x173)]=!![],state[_0x334627(0x152)]=null,_0x416e3f&&(_0x416e3f['disabled']=![],_0x416e3f['textContent']=_0x334627(0x12c));}async function saveUser(){const _0x7262c0=_0x1fa1f6,_0x4b14ef=document['getElementById']('user-form'),_0x57ac23=document['getElementById'](_0x7262c0(0x179))?.[_0x7262c0(0x197)]||![];if(!_0x57ac23&&!_0x4b14ef[_0x7262c0(0x111)]()){_0x4b14ef[_0x7262c0(0x11e)]();return;}const _0x1b5163=document['getElementById']('form-error'),_0x5556a5=document[_0x7262c0(0x163)](_0x7262c0(0xf8)),_0x2982c1=document[_0x7262c0(0x163)](_0x7262c0(0x174))[_0x7262c0(0x17b)][_0x7262c0(0x10c)](),_0x19bd31=document['getElementById'](_0x7262c0(0x159))[_0x7262c0(0x17b)]['trim'](),_0x18ad08=document[_0x7262c0(0x163)](_0x7262c0(0x13b))['value']['trim'](),_0x35ddf5=document['getElementById'](_0x7262c0(0xda))[_0x7262c0(0x17b)],_0x2752bf=document['getElementById']('user-role')[_0x7262c0(0x17b)];if(!_0x2982c1||!_0x19bd31||!_0x18ad08){_0x1b5163['textContent']=_0x7262c0(0x116),_0x1b5163[_0x7262c0(0x173)]=![],_0x1b5163['scrollIntoView']({'behavior':'smooth','block':'nearest'});return;}_0x1b5163[_0x7262c0(0x173)]=!![];const _0x220ca8=_0x5556a5['textContent'];_0x5556a5[_0x7262c0(0x16d)]=!![],_0x5556a5['textContent']=state[_0x7262c0(0x152)]?'Updating...':'Creating...';try{if(state[_0x7262c0(0x152)]){const _0x55b76a={'username':_0x2982c1,'name':_0x19bd31,'email':_0x18ad08};if(_0x2752bf)_0x55b76a[_0x7262c0(0x123)]=_0x2752bf;_0x35ddf5&&(_0x55b76a[_0x7262c0(0x185)]=_0x35ddf5),state[_0x7262c0(0xe3)]?.[_0x7262c0(0x18d)]?.[_0x7262c0(0x17c)](_0x3724f3=>_0x3724f3['canAssign'])&&(_0x55b76a[_0x7262c0(0x18d)]=state[_0x7262c0(0x107)]),await API[_0x7262c0(0x166)](state[_0x7262c0(0x152)],_0x55b76a),Utils['showToast'](_0x7262c0(0x158),_0x7262c0(0x12e)),await loadUsers(),hideUserModal();}else{const _0x2935ff={'username':_0x2982c1,'name':_0x19bd31,'email':_0x18ad08,'role':_0x2752bf};if(!_0x57ac23){if(!_0x35ddf5)throw new Error(_0x7262c0(0x190));_0x2935ff['password']=_0x35ddf5;}state[_0x7262c0(0xe3)]?.['permissions']?.[_0x7262c0(0x17c)](_0x2c1261=>_0x2c1261[_0x7262c0(0xf7)])&&state['selectedPermissions'][_0x7262c0(0x154)]>0x0&&(_0x2935ff[_0x7262c0(0x18d)]=state[_0x7262c0(0x107)]);const _0x2ef65e=await API[_0x7262c0(0x198)](_0x2935ff),_0x542a76=_0x2ef65e[_0x7262c0(0xe0)];if(_0x57ac23||!_0x35ddf5){const _0x40b888=await API['createPasswordToken'](_0x542a76['id'],_0x7262c0(0x11b),![]);state[_0x7262c0(0x110)]={'username':_0x542a76[_0x7262c0(0x151)],'email':_0x542a76[_0x7262c0(0x100)],'url':_0x40b888[_0x7262c0(0xd5)][_0x7262c0(0xf0)],'userId':_0x542a76['id'],'type':_0x7262c0(0x11b),'emailSent':![]},await loadUsers(),hideUserModal(),showSetupLinkModal();}else Utils[_0x7262c0(0x195)](_0x7262c0(0xdc),_0x7262c0(0x12e)),await loadUsers(),hideUserModal();}}catch(_0x519e82){console['error'](_0x7262c0(0x156),_0x519e82),_0x1b5163[_0x7262c0(0x137)]=_0x519e82[_0x7262c0(0xd4)],_0x1b5163[_0x7262c0(0x173)]=![],_0x1b5163[_0x7262c0(0x149)]({'behavior':'smooth','block':'nearest'}),_0x5556a5[_0x7262c0(0x16d)]=![],_0x5556a5[_0x7262c0(0x137)]=_0x220ca8;}}window['deleteUser']=function(_0x5292c3){const _0x19e32f=_0x1fa1f6,_0x88bc40=state['users']['find'](_0x5b4319=>_0x5b4319['id']===_0x5292c3);if(!_0x88bc40)return;state[_0x19e32f(0xcf)]=_0x5292c3;const _0x52b3c2=document[_0x19e32f(0x163)](_0x19e32f(0x18e)),_0x194f52=document['getElementById'](_0x19e32f(0x122));_0x194f52[_0x19e32f(0x137)]=_0x88bc40[_0x19e32f(0x15d)]+'\x20('+_0x88bc40[_0x19e32f(0x151)]+')',_0x52b3c2[_0x19e32f(0x173)]=![];};function hideDeleteModal(){const _0x42c89a=_0x1fa1f6,_0x43fe3a=document[_0x42c89a(0x163)](_0x42c89a(0x18e));_0x43fe3a[_0x42c89a(0x173)]=!![],state['deletingUserId']=null;}async function confirmDeleteUser(){const _0x1e0cb7=_0x1fa1f6;if(!state[_0x1e0cb7(0xcf)])return;const _0x280e2f=document['getElementById'](_0x1e0cb7(0x162)),_0x4d15da=_0x280e2f[_0x1e0cb7(0x137)];_0x280e2f[_0x1e0cb7(0x16d)]=!![],_0x280e2f[_0x1e0cb7(0x137)]=_0x1e0cb7(0x188);try{await API[_0x1e0cb7(0xff)](state[_0x1e0cb7(0xcf)]),Utils[_0x1e0cb7(0x195)](_0x1e0cb7(0x19d),_0x1e0cb7(0x12e)),await loadUsers(),hideDeleteModal();}catch(_0x151809){console[_0x1e0cb7(0x147)](_0x1e0cb7(0x10a),_0x151809),Utils[_0x1e0cb7(0x195)](_0x1e0cb7(0x16c)+_0x151809[_0x1e0cb7(0xd4)],'error'),_0x280e2f[_0x1e0cb7(0x16d)]=![],_0x280e2f[_0x1e0cb7(0x137)]=_0x4d15da;}}function _0x2ec8(_0x5d8b4d,_0x4c2fe2){_0x5d8b4d=_0x5d8b4d-0xce;const _0x155205=_0x1552();let _0x2ec85d=_0x155205[_0x5d8b4d];if(_0x2ec8['cCFyqq']===undefined){var _0x3d7fb1=function(_0x4720e5){const _0x49ecd2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x118b70='',_0x15f5f2='';for(let _0x251f3a=0x0,_0x280b5a,_0x37653e,_0xbc35ab=0x0;_0x37653e=_0x4720e5['charAt'](_0xbc35ab++);~_0x37653e&&(_0x280b5a=_0x251f3a%0x4?_0x280b5a*0x40+_0x37653e:_0x37653e,_0x251f3a++%0x4)?_0x118b70+=String['fromCharCode'](0xff&_0x280b5a>>(-0x2*_0x251f3a&0x6)):0x0){_0x37653e=_0x49ecd2['indexOf'](_0x37653e);}for(let _0xfa912a=0x0,_0x473481=_0x118b70['length'];_0xfa912a<_0x473481;_0xfa912a++){_0x15f5f2+='%'+('00'+_0x118b70['charCodeAt'](_0xfa912a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15f5f2);};_0x2ec8['tQdkAQ']=_0x3d7fb1,_0x2ec8['JbfFgX']={},_0x2ec8['cCFyqq']=!![];}const _0x4db129=_0x155205[0x0],_0xe3f8b8=_0x5d8b4d+_0x4db129,_0x4bab7e=_0x2ec8['JbfFgX'][_0xe3f8b8];return!_0x4bab7e?(_0x2ec85d=_0x2ec8['tQdkAQ'](_0x2ec85d),_0x2ec8['JbfFgX'][_0xe3f8b8]=_0x2ec85d):_0x2ec85d=_0x4bab7e,_0x2ec85d;}function handleSkipPasswordChange(_0x59005a){const _0x5f0349=_0x1fa1f6,_0x3eca39=document[_0x5f0349(0x163)](_0x5f0349(0xda)),_0x3e324f=_0x59005a['target']['checked'];_0x3e324f?(_0x3eca39[_0x5f0349(0x176)]=![],_0x3eca39[_0x5f0349(0x16d)]=!![],_0x3eca39[_0x5f0349(0x17b)]=''):(_0x3eca39['required']=!![],_0x3eca39[_0x5f0349(0x16d)]=![]);}function showSetupLinkModal(){const _0x25297f=_0x1fa1f6;if(!state[_0x25297f(0x110)])return;const _0x64949f=document[_0x25297f(0x163)](_0x25297f(0xd6)),_0x389097=document[_0x25297f(0x163)](_0x25297f(0x180)),_0xe8d5ad=document['getElementById'](_0x25297f(0xfa)),_0x773a5f=document[_0x25297f(0x163)]('email-setup-link'),_0xf9343b=document[_0x25297f(0x163)]('email-button-text');_0x389097[_0x25297f(0x137)]=state[_0x25297f(0x110)][_0x25297f(0x151)],_0xe8d5ad[_0x25297f(0x137)]=state[_0x25297f(0x110)][_0x25297f(0x136)],_0x773a5f&&_0xf9343b&&(_0x773a5f[_0x25297f(0x16d)]=![],_0xf9343b[_0x25297f(0x137)]=_0x25297f(0x12a),state['emailConfigured']&&!state[_0x25297f(0x110)][_0x25297f(0x145)]?_0x773a5f[_0x25297f(0x125)][_0x25297f(0x155)]=_0x25297f(0x196):_0x773a5f[_0x25297f(0x125)][_0x25297f(0x155)]='none'),_0x64949f[_0x25297f(0x173)]=![];}function _0x1552(){const _0x2bbd64=['Aw5SAw5L','DxnLCNmTzxjYB3iTBwvZC2fNzq','C2TPCc1WyxnZD29Yza','Bg9JyxrPB24','DMfSDwu','C29Tzq','ywrKrxzLBNrmAxn0zw5LCG','DxnLCI1YB2XL','rgv2zwXVCgvY','C2v0DxaTBgLUAY11C2vYBMfTzq','y3jLyxrLrwXLBwvUDa','C3bSAxq','yxbWzw5Kq2HPBgq','vgfZA3m','CgfZC3DVCMq','DxnLCNm','cIaGica8Dhi+cIaGicaGidX0zd4kicaGicaGica8zgL2ignSyxnZpsj1C2vYlxvZzxjUyw1LiJ4kicaGicaGicaGia','rgvSzxrPBMCUlI4','i3vZzxiTBw9KywWGlM1VzgfSlw92zxjSyxK','zM9YrwfJAa','zM9YBwf0uMvSyxrPDMvuAw1L','rMfPBgvKihrVigvTywLSihnLDhvWigXPBMS','CgvYBwLZC2LVBNm','zgvSzxrLlw1VzgfS','CgvYBwLZC2LVBNmTBgLZDa','ugfZC3DVCMqGAxmGCMvXDwLYzwqGzM9Yig5LDYb1C2vYCW','y2XPy2S','ntK0nJbgCgfQtNm','mtq1ndK3nKnwz3jbua','zw1HAwWTyNv0Dg9UlxrLEhq','C2HVD1rVyxn0','Aw5SAw5LlwjSB2nR','y2HLy2TLza','y3jLyxrLvxnLCG','y2XPCgjVyxjK','y2fUy2vSlxvZzxi','Bg9NAw4UAhrTBa','rNvSBcbZExn0zw0GywnJzxnZihDPDgGGywXSihbLCM1PC3nPB25Z','vxnLCIbKzwXLDgvKihn1y2nLC3nMDwXSEq','mtC2nte2nfrjwhzZvq','Dg9Nz2XLlxbLCM1PC3nPB25Z','cIaGica8zgL2ignSyxnZpsjWzxjTAxnZAw9UlwnHDgvNB3j5iJ4kicaGicaGpgG0ignSyxnZpsjWzxjTAxnZAw9UlwnHDgvNB3j5lxrPDgXLiJ4','y2XVC2uTzgvSzxrLlw1VzgfS','zgLZCgf0y2HfDMvUDa','zgvSzxrPBMDvC2vYswq','pc9ZCgfUpGOGicaGicaGicaGica8C3bHBIbJBgfZCZ0ICgvYBwLZC2LVBI1YB2XLlwjHzgDLiIbZDhLSzt0IzgLZCgXHEtOGBM9UztSIpNjVBgu8l3nWyw4+cIaGicaGicaGica8l2XHyMvSpGOGicaGicaGia','yxbPA2v5CZPTyw5Hz2vFB3DU','DxnLCKLK','iJ4R','BwvZC2fNzq','Dg9Rzw4','C2v0DxaTBgLUAY1TB2rHBa','C2TPCc1WyxnZD29Yzc1JB250ywLUzxi','jYKIpKrLBgv0ztWVyNv0Dg9UpGOGicaGicaGidWVzgL2pGOGicaGica8l3rKpGOGicaGpc90CJ4kica','y2XVC2uTC2v0DxaTBgLUAY1TB2rHBa','DxnLCI1WyxnZD29Yza','y3jLyxrLzf9HDa','vxnLCIbJCMvHDgvKihn1y2nLC3nMDwXSEq','zM9JDxm','zw1HAwXdB25MAwD1CMvK','DhLWzq','DxnLCG','y2XVC2uTC2v0DxaTBgLUAW','y2HHBMDL','CM9SzxnjBMzV','DxnLCNmTDgfIBguTyM9KEq','r2vUzxjHDguGysbWyxnZD29YzcbYzxnLDcbSAw5RigzVCIa','CgvYBwLZC2LVBI1MCM9TlxjVBgu','cIaGicaGidWVzgL2pGOGicaGpc9KAxy+cIaG','kt8GvgHPCYb3AwXSignYzwf0zsbHigXPBMSGDgHHDcb0Agv5ignHBIb1C2uGDg8GC2v0igeGBMv3ihbHC3n3B3jKlG','pc9Ond4kicaGicaGpgrPDIbJBgfZCZ0ICgvYBwLZC2LVBI1PDgvTCYi+cIaGicaGicaG','mZyWrMTqteLj','zw1HAwWTC2v0DxaTBgLUAW','re9nq29UDgvUDeXVywrLza','DxnLCNm6y3jLyxrL','vxnLCIbTyw5Hz2vTzw50igfUzcb0yxnRig92zxjZAwDODcbJyxbHyMLSAxrPzxm','DxnLCI1TB2rHBa','C2v0DxbvCMW','zwrPDfvZzxi','y2XHC3nmAxn0','A2v5','y29UzMLNDxjLza','z2v0vgLTzq','Bw9KywWTDgL0Bgu','y2fUqxnZAwDU','C2f2zs11C2vY','jYKIpLjLC2v0ifbHC3n3B3jKpc9IDxr0B24+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4Tz2HVC3qGyNrUlxnTywXSiIbVBMnSAwnRpsj3Aw5KB3CUzgvSzxrLvxnLCIGN','C2v0DxaTBgLUAY11CMW','CgvYBwLZC2LVBNmTC2vJDgLVBG','DgfZA3m6DMLLD19VD24','ywrK','DgfZA3m6zxHLy3v0zq','zgvSzxrLvxnLCG','zw1HAwW','D3jPDgvuzxH0','vMLLD2vY','Aw5KzxGUAhrTBa','tgLUAYbJB3bPzwqGDg8Gy2XPCgjVyxjK','CxvLCNLtzwXLy3rVCG','CM9Szun1C3rVBvnLBgvJDa','C2vSzwn0zwrqzxjTAxnZAw9UCW','CMvZzxrqyxnZD29Yza','ndG1ntK4ngP4zg5hDq','rMfPBgvKihrVigrLBgv0zsb1C2vY','u2vYDMvY','DhjPBq','iIbJBgfZCZ0ICgvYBwLZC2LVBI1JAgvJA2jVEci+cIaGicaGicaGicaGidXZCgfUignSyxnZpsjWzxjTAxnZAw9UlwTLEsi+','q3jLyxrLifvZzxi','ntq4nZa4tMnKD3DR','C2v0DxbmAw5Rrgf0yq','y2HLy2TwywXPzgL0Eq','yMXVy2S','Dg9Nz2XLlxbLCM1PC3nPB25ZlxrLEhq','y29WEs1Zzxr1Cc1SAw5R','cIaGicaGicaGica8BgfIzwWGy2XHC3m9iNbLCM1PC3nPB24TAxrLBsiGDgL0Bgu9iG','ugXLyxnLigzPBgWGAw4GywXSihjLCxvPCMvKigzPzwXKCW','qwnJzxnZigrLBMLLzdOGvxnLCIbTyw5Hz2vTzw50ihbYAxzPBgvNzxmGCMvXDwLYzwq','phnWyw4Gy2XHC3m9iMn1C3rVBs1WzxjTAxnZAw9UCY1IywrNzsiGDgL0Bgu9iG','zw52AxjVBM1LBNrZoNzPzxC','ihvZzxi','C2v0Dxa','CgvYBwLZC2LVBNnfEhbHBMrLza','zMLUza','CMvWB3j0vMfSAwrPDhK','z2v0q3vYCMvUDfvZzxi','BM9Uzq','jYKIpKvKAxq8l2j1DhrVBJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1ZzwnVBMrHCNKGyNrUlxnTywXSiIbVBMnSAwnRpsj3Aw5KB3CUCMvZzxrqyxnZD29YzcGN','zgvSzxrLlxvZzxiTBMfTzq','CM9Szq','u2vUzgLUzY4UlG','C3r5Bgu','B3b0Aw9U','lNbLCM1PC3nPB24TAxrLBq','DxnLCNmTy29UDgvUDa','zw50CMLLCW','rw1HAwWGtgLUAW','zw52AxjVBM1LBNrZoNzPzxDFzgv0ywLSCW','u2f2zsbvC2vY','mZC4nta3m1jjBujuua','C3vJy2vZCW','zw1HAwXfCNjVCG','DgfZA3m6yxnZAwDU','DgfZA3m6zgvSzxrLx293BG','CgfZC3DVCMqTCMvXDwLYzwq','lNbLCM1PC3nPB24TCM9Szs1IywrNzq','mtG4mZi3oeLUs0TqCa','lNbLCM1PC3nPB24Ty2HLy2TIB3G','DxjS','Dgv4DenVBNrLBNq','C2vYDMvYoMHLywX0Aa','cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGicaGidX0zd4','r2vUzxjHDguGtgLUAW','DxnLCI1LBwfPBa','i3nLDhvWlwXPBMSTBw9KywWGlM1VzgfSlw92zxjSyxK','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5R','qvbjieTLExm','AM9PBG','DxnLCNm6zwrPDa','pc9ZCgfUpG','CgfZC3DVCMqTAgLUDa','zxnJyxbLshrTBa','DxnLCNmTBg9HzgLUzW','zw1HAwXtzw50','CM9Szxm','zxjYB3i','z2v0vxnLCNm','C2nYB2XSsw50B1zPzxC','CMv0CNKTDxnLCNmTyNrU','CMvTB3zL','y3jLyxrLlxvZzxiTyNrU','CxvLCNLtzwXLy3rVCKfSBa','y3jLyxrLugfZC3DVCMruB2TLBG','Aw5Uzxjive1m','Aw5JBhvKzxm','DxnLCM5HBwu','zwrPDgLUz1vZzxjjza','DgfZA3m6y3jLyxrL','BgvUz3rO','zgLZCgXHEq','rMfPBgvKihrVihnHDMuGDxnLCG','zgvZy3jPChrPB24','vxnLCIb1CgrHDgvKihn1y2nLC3nMDwXSEq','DxnLCI1Uyw1L','AhjLzG','rwrPDcbvC2vY','sgLKzq','BMfTzq','rMfPBgvKihrVignVChKGBgLUAW','rw52AxjVBM1LBNrZ','q3jLyxrLigfUzcbLEgvJDxrLihrHC2TZlcb2Awv3igvUDMLYB25Tzw50CW','i2rLBgv0zs1TB2rHBcaUBw9KywWTB3zLCMXHEq','y29UzMLYBs1KzwXLDgu','z2v0rwXLBwvUDej5swq','uMvZzxqGugfZC3DVCMq','CMvZzxq','DxbKyxrLvxnLCG','qwrTAw4','rMfPBgvKihrVignOzwnRigvTywLSignVBMzPzW','CgvYBwLZC2LVBI1JDxn0B20','rw1HAwWGC2vUDcb0BYa','u2HVDW','rMfPBgvKihrVigrLBgv0zsb1C2vYoIa','zgLZywjSzwq','DgfZA3m6zgvSzxrLx2fUEq','C2HVDW','iJ4kicaGicaGicaGicaGpgLUChv0ihr5Cgu9iMnOzwnRyM94iIb2ywX1zt0I','zMLSDgvY','ChvZAa','AgLKzgvU','DxnLCI11C2vYBMfTzq','DxnLCI1JB3vUDa','CMvXDwLYzwq'];_0x1552=function(){return _0x2bbd64;};return _0x1552();}function hideSetupLinkModal(){const _0x34fc51=_0x1fa1f6,_0x374410=document['getElementById']('setup-link-modal');_0x374410[_0x34fc51(0x173)]=!![],state[_0x34fc51(0x110)]=null;}async function copySetupLink(){const _0x195c4b=_0x1fa1f6;if(!state[_0x195c4b(0x110)])return;try{await navigator[_0x195c4b(0x199)][_0x195c4b(0x101)](state[_0x195c4b(0x110)][_0x195c4b(0x136)]),Utils['showToast'](_0x195c4b(0x104),_0x195c4b(0x12e));}catch(_0x1b693b){console[_0x195c4b(0x147)](_0x195c4b(0x15e),_0x1b693b),Utils[_0x195c4b(0x195)](_0x195c4b(0x15e),'error');}}async function emailSetupLink(){const _0x4190f9=_0x1fa1f6;if(!state[_0x4190f9(0x110)])return;const _0x140044=document[_0x4190f9(0x163)](_0x4190f9(0xeb)),_0x27775d=document[_0x4190f9(0x163)](_0x4190f9(0x194));if(!_0x140044||!_0x27775d)return;const _0x120fc3=_0x27775d[_0x4190f9(0x137)];_0x140044['disabled']=!![],_0x27775d[_0x4190f9(0x137)]=_0x4190f9(0x124);try{const _0x2c70b1=await API[_0x4190f9(0x14e)](state[_0x4190f9(0x110)][_0x4190f9(0xd2)],state[_0x4190f9(0x110)][_0x4190f9(0xdf)],!![]);if(_0x2c70b1['emailSent'])Utils[_0x4190f9(0x195)](_0x4190f9(0x16a)+state[_0x4190f9(0x110)][_0x4190f9(0x100)],_0x4190f9(0x12e)),state[_0x4190f9(0x110)]['emailSent']=!![],_0x140044[_0x4190f9(0x125)][_0x4190f9(0x155)]=_0x4190f9(0x120);else{const _0x3dffa7=_0x2c70b1[_0x4190f9(0x12f)]||'Failed\x20to\x20send\x20email';Utils['showToast'](_0x3dffa7,_0x4190f9(0x147)),_0x140044['disabled']=![],_0x27775d['textContent']=_0x120fc3;}}catch(_0x37cbb8){console[_0x4190f9(0x147)](_0x4190f9(0x18c),_0x37cbb8),Utils[_0x4190f9(0x195)]('Failed\x20to\x20send\x20email:\x20'+_0x37cbb8[_0x4190f9(0xd4)],_0x4190f9(0x147)),_0x140044[_0x4190f9(0x16d)]=![],_0x27775d[_0x4190f9(0x137)]=_0x120fc3;}}window[_0x1fa1f6(0x108)]=async function(_0xed6dd2){const _0x478ed9=_0x1fa1f6,_0x200eea=state['users'][_0x478ed9(0x11d)](_0xd3326a=>_0xd3326a['id']===_0xed6dd2);if(!_0x200eea)return;const _0x19be92=await ConfirmDialog[_0x478ed9(0x16f)]({'title':_0x478ed9(0x164),'message':_0x478ed9(0xe5)+_0x200eea['name']+'\x20('+_0x200eea[_0x478ed9(0x151)]+_0x478ed9(0xe8),'confirmText':_0x478ed9(0x13a)});if(!_0x19be92)return;try{const _0x4c4068=await API[_0x478ed9(0x14e)](_0xed6dd2,_0x478ed9(0x165),![]);state['setupLinkData']={'username':_0x200eea[_0x478ed9(0x151)],'email':_0x200eea['email'],'url':_0x4c4068['token'][_0x478ed9(0xf0)],'userId':_0x200eea['id'],'type':'reset','emailSent':![]},showSetupLinkModal();}catch(_0x5b00ca){console['error'](_0x478ed9(0x13d),_0x5b00ca),Utils[_0x478ed9(0x195)]('Failed\x20to\x20create\x20password\x20reset\x20link:\x20'+_0x5b00ca['message'],'error');}};
|
|
1
|
+
const _0x4f151e=_0x46e9;(function(_0x3b25b9,_0xc60f36){const _0x5ec4fd=_0x46e9,_0x4eb199=_0x3b25b9();while(!![]){try{const _0x8f652=parseInt(_0x5ec4fd(0x14b))/0x1+parseInt(_0x5ec4fd(0x176))/0x2+parseInt(_0x5ec4fd(0x126))/0x3*(-parseInt(_0x5ec4fd(0x11e))/0x4)+-parseInt(_0x5ec4fd(0x13f))/0x5*(-parseInt(_0x5ec4fd(0x16b))/0x6)+-parseInt(_0x5ec4fd(0x1c7))/0x7+parseInt(_0x5ec4fd(0x120))/0x8*(-parseInt(_0x5ec4fd(0x180))/0x9)+parseInt(_0x5ec4fd(0x143))/0xa*(-parseInt(_0x5ec4fd(0x12b))/0xb);if(_0x8f652===_0xc60f36)break;else _0x4eb199['push'](_0x4eb199['shift']());}catch(_0x24b572){_0x4eb199['push'](_0x4eb199['shift']());}}}(_0x27ee,0x3bce0));import{API,Utils,ConfirmDialog,initializeAdminMenu}from'./app.js';import{initTheme,mountThemeToggle}from'./theme.js';const state={'users':[],'editingUserId':null,'bindingsUserId':null,'deletingUserId':null,'setupLinkData':null,'emailConfigured':![],'currentUser':null,'roles':[],'environments':[],'userBindings':[],'bindingsDirty':![]};document[_0x4f151e(0x19d)]('DOMContentLoaded',async()=>{const _0x4ad3a3=_0x4f151e;initTheme(),mountThemeToggle(),await checkAdminAccess(),await initializeAdminMenu(state[_0x4ad3a3(0x183)]),await Promise['all']([checkEmailConfig(),loadRoles(),loadEnvironments()]),bindEventListeners(),await loadUsers();});async function checkAdminAccess(){const _0x589040=_0x4f151e;try{const _0x4a783d=await API['getCurrentUser']();state[_0x589040(0x183)]=_0x4a783d;if(!_0x4a783d[_0x589040(0x121)]){Utils[_0x589040(0x135)](_0x589040(0x179),'error'),setTimeout(()=>{const _0x57fde8=_0x589040;window[_0x57fde8(0x185)][_0x57fde8(0x12c)]=_0x57fde8(0x161);},0x7d0);return;}}catch(_0x2ff79c){window[_0x589040(0x185)][_0x589040(0x12c)]=_0x589040(0x186);}}async function checkEmailConfig(){const _0x1e899e=_0x4f151e;try{const _0x1b0a7c=await API['getEmailConfig']();state[_0x1e899e(0x1af)]=_0x1b0a7c[_0x1e899e(0x1cd)];}catch(_0x113b25){console[_0x1e899e(0x1ac)](_0x1e899e(0x131),_0x113b25),state[_0x1e899e(0x1af)]=![];}}async function loadRoles(){const _0x2931bf=_0x4f151e;try{const {roles:_0x573835}=await API[_0x2931bf(0x15b)]();state['roles']=_0x573835||[];}catch{state['roles']=[];}}function _0x46e9(_0x51a677,_0x2d75b5){_0x51a677=_0x51a677-0x103;const _0x27eeca=_0x27ee();let _0x46e96d=_0x27eeca[_0x51a677];if(_0x46e9['glUieL']===undefined){var _0x36e3aa=function(_0x42f22f){const _0x3c05a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a783d='',_0x2ff79c='';for(let _0x1b0a7c=0x0,_0x113b25,_0x573835,_0x61b42a=0x0;_0x573835=_0x42f22f['charAt'](_0x61b42a++);~_0x573835&&(_0x113b25=_0x1b0a7c%0x4?_0x113b25*0x40+_0x573835:_0x573835,_0x1b0a7c++%0x4)?_0x4a783d+=String['fromCharCode'](0xff&_0x113b25>>(-0x2*_0x1b0a7c&0x6)):0x0){_0x573835=_0x3c05a6['indexOf'](_0x573835);}for(let _0x3f6b32=0x0,_0x42134a=_0x4a783d['length'];_0x3f6b32<_0x42134a;_0x3f6b32++){_0x2ff79c+='%'+('00'+_0x4a783d['charCodeAt'](_0x3f6b32)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ff79c);};_0x46e9['qpLryW']=_0x36e3aa,_0x46e9['SQKqoP']={},_0x46e9['glUieL']=!![];}const _0x36171f=_0x27eeca[0x0],_0x27d850=_0x51a677+_0x36171f,_0x5c6826=_0x46e9['SQKqoP'][_0x27d850];return!_0x5c6826?(_0x46e96d=_0x46e9['qpLryW'](_0x46e96d),_0x46e9['SQKqoP'][_0x27d850]=_0x46e96d):_0x46e96d=_0x5c6826,_0x46e96d;}async function loadEnvironments(){const _0x13912a=_0x4f151e;try{const _0x61b42a=await API['getEnvironments']();state[_0x13912a(0x150)]=_0x61b42a['environments']||[];}catch{state[_0x13912a(0x150)]=[];}}function bindEventListeners(){const _0x50f925=_0x4f151e;document[_0x50f925(0x136)](_0x50f925(0x17c))?.[_0x50f925(0x19d)](_0x50f925(0x111),showCreateUserModal),document['getElementById'](_0x50f925(0x12e))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document[_0x50f925(0x136)](_0x50f925(0x18b))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document[_0x50f925(0x136)](_0x50f925(0x1b1))?.[_0x50f925(0x19d)](_0x50f925(0x111),saveUser),document[_0x50f925(0x187)](_0x50f925(0x10f))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideUserModal),document['getElementById']('close-delete-modal')?.[_0x50f925(0x19d)](_0x50f925(0x111),hideDeleteModal),document[_0x50f925(0x136)](_0x50f925(0x19c))?.[_0x50f925(0x19d)]('click',hideDeleteModal),document['getElementById'](_0x50f925(0x168))?.[_0x50f925(0x19d)](_0x50f925(0x111),confirmDeleteUser),document[_0x50f925(0x187)](_0x50f925(0x124))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideDeleteModal),document[_0x50f925(0x136)]('close-setup-link-modal')?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document['getElementById'](_0x50f925(0x119))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document[_0x50f925(0x136)]('copy-setup-link')?.[_0x50f925(0x19d)](_0x50f925(0x111),copySetupLink),document[_0x50f925(0x136)](_0x50f925(0x17f))?.['addEventListener']('click',emailSetupLink),document[_0x50f925(0x187)](_0x50f925(0x148))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideSetupLinkModal),document[_0x50f925(0x136)]('skip-password')?.[_0x50f925(0x19d)]('change',handleSkipPasswordChange),document['getElementById']('retry-users-btn')?.[_0x50f925(0x19d)](_0x50f925(0x111),loadUsers),document['getElementById'](_0x50f925(0x113))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document[_0x50f925(0x136)](_0x50f925(0x157))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document[_0x50f925(0x187)](_0x50f925(0x165))?.[_0x50f925(0x19d)](_0x50f925(0x111),hideAccessBindingsModal),document['getElementById']('user-is-server-admin')?.[_0x50f925(0x19d)]('change',handleServerAdminToggle),document[_0x50f925(0x136)](_0x50f925(0x163))?.['addEventListener'](_0x50f925(0x111),()=>{const _0x26832b=_0x50f925;document['getElementById'](_0x26832b(0x1bb))['hidden']=![],document[_0x26832b(0x136)](_0x26832b(0x163))[_0x26832b(0x16a)]=!![],populateUserBindingForm();}),document[_0x50f925(0x136)](_0x50f925(0x1a7))?.[_0x50f925(0x19d)](_0x50f925(0x111),()=>{const _0x41ec6b=_0x50f925;document[_0x41ec6b(0x136)]('add-user-binding-form')['hidden']=!![],document[_0x41ec6b(0x136)](_0x41ec6b(0x163))[_0x41ec6b(0x16a)]=![];}),document['getElementById'](_0x50f925(0x1b4))?.[_0x50f925(0x19d)](_0x50f925(0x111),saveUserBinding);}async function loadUsers(){const _0x3a42c3=_0x4f151e,_0x3f6b32=document[_0x3a42c3(0x136)](_0x3a42c3(0x195)),_0x42134a=document['getElementById'](_0x3a42c3(0x174)),_0x4b7b08=document[_0x3a42c3(0x136)](_0x3a42c3(0x139));try{_0x3f6b32[_0x3a42c3(0x16a)]=![],_0x42134a['hidden']=!![],_0x4b7b08[_0x3a42c3(0x16a)]=!![];const _0x406d39=await API[_0x3a42c3(0x19b)]();state[_0x3a42c3(0x171)]=_0x406d39[_0x3a42c3(0x171)]||[],renderUsers(),_0x3f6b32['hidden']=!![],_0x4b7b08[_0x3a42c3(0x16a)]=![];}catch(_0x25b286){console[_0x3a42c3(0x1ac)](_0x3a42c3(0x17d),_0x25b286),_0x3f6b32[_0x3a42c3(0x16a)]=!![],_0x42134a[_0x3a42c3(0x16a)]=![],document[_0x3a42c3(0x136)](_0x3a42c3(0x11d))[_0x3a42c3(0x10e)]=_0x25b286['message'];}}function renderUsers(){const _0x5ed3a9=_0x4f151e,_0x8d45cd=document[_0x5ed3a9(0x136)](_0x5ed3a9(0x1c0)),_0x24d56b=document[_0x5ed3a9(0x136)](_0x5ed3a9(0x14e));if(!_0x8d45cd)return;_0x24d56b&&(_0x24d56b[_0x5ed3a9(0x10e)]=state[_0x5ed3a9(0x171)][_0x5ed3a9(0x1bf)]+'\x20user'+(state[_0x5ed3a9(0x171)]['length']===0x1?'':'s'));const _0x1807ba=[...state['users']][_0x5ed3a9(0x1ca)]((_0x3655b0,_0x483689)=>{const _0x56c4b9=_0x5ed3a9,_0x4ff988=new Date(_0x3655b0[_0x56c4b9(0x112)])[_0x56c4b9(0x14f)](),_0x2b737e=new Date(_0x483689[_0x56c4b9(0x112)])[_0x56c4b9(0x14f)]();return _0x2b737e-_0x4ff988;});_0x8d45cd[_0x5ed3a9(0x16e)]=_0x1807ba[_0x5ed3a9(0x138)](_0x58939d=>_0x5ed3a9(0x189)+Utils[_0x5ed3a9(0x1a1)](_0x58939d[_0x5ed3a9(0x1a0)])+_0x5ed3a9(0x184)+Utils['escapeHtml'](_0x58939d[_0x5ed3a9(0x11b)])+_0x5ed3a9(0x175)+Utils['escapeHtml'](_0x58939d['email'])+_0x5ed3a9(0x14c)+(_0x58939d[_0x5ed3a9(0x121)]?_0x5ed3a9(0x169):'')+_0x5ed3a9(0x103)+(_0x58939d[_0x5ed3a9(0x1aa)]?_0x5ed3a9(0x10c):'')+_0x5ed3a9(0x103)+(_0x58939d['hasTeamBinding']?_0x5ed3a9(0x134):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</td>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils[_0x5ed3a9(0x149)](_0x58939d[_0x5ed3a9(0x112)])+_0x5ed3a9(0x13b)+_0x58939d['id']+_0x5ed3a9(0x13e)+_0x58939d['id']+_0x5ed3a9(0x127)+_0x58939d['id']+_0x5ed3a9(0x146)+_0x58939d['id']+_0x5ed3a9(0x160))[_0x5ed3a9(0x172)]('');}window[_0x4f151e(0x1b7)]=function(_0x3c3462){const _0x4b0d5e=_0x4f151e,_0x10ef11=state[_0x4b0d5e(0x171)][_0x4b0d5e(0x182)](_0x1db067=>_0x1db067['id']===_0x3c3462);if(!_0x10ef11)return;state[_0x4b0d5e(0x147)]=_0x3c3462,state[_0x4b0d5e(0x1b8)]=![];const _0x35d945=document[_0x4b0d5e(0x136)]('bindings-modal'),_0x432907=document['getElementById'](_0x4b0d5e(0x15f));_0x432907[_0x4b0d5e(0x10e)]=_0x4b0d5e(0x1ae)+_0x10ef11['name'];const _0x580980=document[_0x4b0d5e(0x136)](_0x4b0d5e(0x1ad));_0x580980&&(_0x580980['checked']=!!_0x10ef11[_0x4b0d5e(0x121)]),document[_0x4b0d5e(0x136)]('add-user-binding-form')[_0x4b0d5e(0x16a)]=!![],document[_0x4b0d5e(0x136)](_0x4b0d5e(0x163))[_0x4b0d5e(0x16a)]=![],_0x35d945['hidden']=![],loadUserBindings(_0x3c3462);};function hasUnsavedBindingChanges(){const _0xc80e1c=_0x4f151e,_0x117631=document[_0xc80e1c(0x136)]('add-user-binding-form');return _0x117631&&!_0x117631[_0xc80e1c(0x16a)];}function _0x27ee(){const _0x2947da=['DxbKyxrLvxnLCG','y2XPCgjVyxjK','jYKIihrPDgXLpsjfzgL0iJ4kicaGicaGicaGicaGphn2zYb3Awr0Ad0ImtqIigHLAwDODd0ImtqIihzPzxDcB3G9iJaGmcaYncaYnciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0ItteXidringeYidiGmcaWidaTmIaYDJe0ytiGmIaWidaGmcaYidjOmtrHmIaYidaGmcaWidiTmNyTnYi+pc9WyxrOpGOGicaGicaGicaGicaGidXWyxrOigq9iK0Xoc41idiUnweYlJeYmsaYlJeYmsaWidaGmsaZidnmmtiGmtvSltqGmsaXltqGos41ltKUnxOIpJWVCgf0Ad4kicaGicaGicaGicaGpc9ZDMC+cIaGicaGicaGica8l2j1DhrVBJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1Py29Uigj0BI1ZBwfSBciGB25JBgLJAZ0ID2LUzg93lNnOB3Dby2nLC3ncAw5KAw5NCYGN','nw1PseTwAG','DxnLCKjPBMrPBMDZ','yMLUzgLUz3mTBw9KywW','DMfSDwu','mZbsDvPTq0e','zgLZywjSzwq','rMfPBgvKihrVihnLBMqGzw1HAwW6ia','jYKIihrPDgXLpsjezwXLDguIpGOGicaGicaGicaGica8C3zNihDPzhrOpsiXnciGAgvPz2H0psiXnciGDMLLD0jVEd0ImcaWidi0idi0iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGicaGicaGica8Cg9SEwXPBMuGCg9PBNrZpsiZidyGnsa2idiXidyIpJWVCg9SEwXPBMu+cIaGicaGicaGicaGicaGphbHDgGGzd0Itte5idz2mtrHmIaYidaGmcaXltiGmKG3ytiGmIaWidaGms0YltjwnM0ZidbwngeYidiGmcaWideGmI0YAdrHmIaYidaGmcaXidiGmNyYiJ48l3bHDgG+cIaGicaGicaGicaGidWVC3zNpGOGicaGicaGicaGpc9IDxr0B24+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TC2vJB25Kyxj5igj0BI1ZBwfSBciGB25JBgLJAZ0ID2LUzg93lNjLC2v0ugfZC3DVCMqOjW','yMLUzgLUz3nvC2vYswq','i3nLDhvWlwXPBMSTBw9KywWGlM1VzgfSlw92zxjSyxK','zM9YBwf0uMvSyxrPDMvuAw1L','C2v0DxbvCMW','mtGWodG2qxHly05I','pc90zd4kicaGicaGphrKpGOGicaGicaGidXKAxyGy2XHC3m9iMfJy2vZCY1IywrNzxmIpGOGicaGicaGicaG','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5R','DxnLCI1JB3vUDa','z2v0vgLTzq','zw52AxjVBM1LBNrZ','pc9VChrPB24+','DxnLCI10zwfTlwjPBMrPBMDZlxrLEhq','rMfPBgvKihrVihnHDMuGDxnLCG','rw1HAwWGC2vUDcb0BYa','yMLUzgLUz3m','DgfYz2v0','y2XVC2uTyMLUzgLUz3mTBw9KywWTzM9VDgvY','DxnLCI1IAw5KAw5NlxjVBgu','Bw9KywWTDgL0Bgu','CgfZC3DVCMqTAgLUDa','z2v0uM9SzurLzMLUAxrPB25Z','DxnLCI1IAw5KAw5NCY10ywjSzs1IB2r5','CgfZC3DVCMqTCMvXDwLYzwq','u2vYDMvYiefKBwLUihjLBw92zwq','yMLUzgLUz3mTBw9KywWTDgL0Bgu','jYKIpLjLC2v0ifbHC3n3B3jKpc9IDxr0B24+cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGica8l3rYpGOGia','Aw5KzxGUAhrTBa','u2f2zsbvC2vY','ywrKlxvZzxiTyMLUzgLUzY1IDg4','ugfZC3DVCMqGAxmGCMvXDwLYzwqGzM9Yig5LDYb1C2vYCW','i2jPBMrPBMDZlw1VzgfSic5TB2rHBc1VDMvYBgf5','qMLUzgLUzYbHzgrLza','DgvHBxm','y29UzMLYBs1KzwXLDgu','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs1Hzg1PBIi+u2vYDMvYiefKBwLUpc9ZCgfUpG','AgLKzgvU','mty4otq5mKjJt01Uta','DxnLCI1LBwfPBa','tgLUAYbJB3bPzwqGDg8Gy2XPCgjVyxjK','Aw5Uzxjive1m','C21VB3rO','zw1HAwW','DxnLCNm','AM9PBG','r2vUzxjHDguGysbWyxnZD29YzcbYzxnLDcbSAw5RigzVCIa','DxnLCNmTzxjYB3i','pc90zd4kicaGicaGphrKpG','odq5mdC0se9buKLq','C2HVDW','DhjPBq','qwnJzxnZigrLBMLLzdOGu2vYDMvYigfKBwLUihbYAxzPBgvNzxmGCMvXDwLYzwq','DxnLCI1Uyw1L','DxnLCI1IAw5KAw5NCY1SAxn0lwnVBNrHAw5LCG','y3jLyxrLlxvZzxiTyNrU','rMfPBgvKihrVigXVywqGDxnLCNm','y2HLy2TwywXPzgL0Eq','zw1HAwWTC2v0DxaTBgLUAW','mtuXmdjkrKnQAKm','Aw5JBhvKzxm','zMLUza','y3vYCMvUDfvZzxi','cIaGicaGicaGpc9KAxy+cIaGicaGidWVDgq+cIaGicaGidX0zd4','Bg9JyxrPB24','Bg9NAw4UAhrTBa','CxvLCNLtzwXLy3rVCG','C2v0DxbmAw5Rrgf0yq','cIaGica8Dhi+cIaGicaGidX0zd4kicaGicaGica8zgL2ignSyxnZpsj1C2vYlxvZzxjUyw1LiJ4kicaGicaGicaGia','vxnLCIbJCMvHDgvKihn1y2nLC3nMDwXSEq','y2fUy2vSlxvZzxi','DxnLCI1MB3jT','zgvSzxrLvxnLCG','pc90zd4kicaGicaGphrKpGOGicaGicaGidXIDxr0B24Gy2XHC3m9iMj0BI1NAg9ZDcbIDg4TC21HBgWIig9Uy2XPy2S9iNDPBMrVDY5KzwXLDgvvC2vYqMLUzgLUz0nSAwnRkcC','rMfPBgvKihrVigrLBgv0zsb1C2vYoIa','C3vJy2vZCW','zgvSzxrPBMDvC2vYswq','qwrKAw5N4OcM','BwvZC2fNzq','C3r5Bgu','DxnLCNmTBg9HzgLUzW','rMfPBgvKihrVihnLBMqGzw1HAwW','ywXS','DxnLCI1WyxnZD29Yza','rgvSzxrLifvZzxi','CMvZzxq','z2v0vxnLCNm','y2fUy2vSlwrLBgv0zq','ywrKrxzLBNrmAxn0zw5LCG','zM9JDxm','y2HLy2TLza','DxnLCM5HBwu','zxnJyxbLshrTBa','C2v0Dxa','DxnLCI1IAw5KAw5NCY1LBxb0Eq','BwvTyMvYCW','vxnLCIb1CgrHDgvKihn1y2nLC3nMDwXSEq','vxnLCIbKzwXLDgvKihn1y2nLC3nMDwXSEq','y2fUy2vSlxvZzxiTyMLUzgLUzY1IDg4','C2nYB2XSsw50B1zPzxC','D3jPDgvuzxH0','AgfZvxnLCKjPBMrPBMC','DxnLCI10zwfTlwjPBMrPBMDZlw5VDgu','zxjYB3i','DxnLCI1PCY1Zzxj2zxiTywrTAw4','qwnJzxnZiejPBMrPBMDZiokaLca','zw1HAwXdB25MAwD1CMvK','C2XPy2u','C2f2zs11C2vY','vxbKyxrPBMCUlI4','vgHPCYb1C2vYigfSC28GAgfZigfJy2vZCYb2AweGDgvHBsbTzw1IzxjZAgLWCYaO','C2f2zs11C2vYlwjPBMrPBMCTyNrU','jYKIihn0EwXLpsjJB2XVCJOGDMfYkc0Ty29SB3iTzgfUz2vYktSIpLjLBw92ztWVyNv0Dg9UpGOGicaGica8l3rKpGOGicaGpc90CJ4','C2v0DxaTBgLUAY1TB2rHBa','C2HVD0fJy2vZC0jPBMrPBMDZ','yMLUzgLUz3neAxj0Eq','ChvZAa','zw52AxjVBM1LBNq','ywrKlxvZzxiTyMLUzgLUzY1MB3jT','DxjS','DxnLCG','zw1HAwWTyNv0Dg9UlxrLEhq','BgvUz3rO','DxnLCNmTDgfIBguTyM9KEq','zgvSzxrLlw1VzgfS','zw1HAwXfCNjVCG','DxnLCI1IAw5KAw5NlwvUDMLYB25Tzw50','DgvHBq','rMfPBgvKihrVignYzwf0zsbWyxnZD29YzcbYzxnLDcbSAw5RoIa','AgfZ','ode5mtyXELrWz010','BMvHCMvZDa','zgvSzxrLlxvZzxiTBMfTzq','C29YDa','ww91igHHDMuGyw4GDw5ZyxzLzcbIAw5KAw5NlIbeAxnJyxjKignOyw5Nzxm/','u2vYDMvYiefKBwLUigvUywjSzwq','y29UzMLNDxjLza','cIaGicaGicaGica','zM9YBs1LCNjVCG','rMfPBgvKihrVignVChKGBgLUAW','C2v0DxaTBgLUAY11C2vYBMfTzq','zgvSzxrLqMLUzgLUzW','y3jLyxrLvxnLCG','z2v0vgvHBxm','y3jLyxrLugfZC3DVCMruB2TLBG','CM9Szv9Pza','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs11C2vYlwjPBMrPBMCIpLvZzxiGqMLUzgLUzZWVC3bHBJ4','zwrPDgLUz1vZzxjjza','Dgv4DenVBNrLBNq','i3vZzxiTBw9KywWGlM1VzgfSlw92zxjSyxK','vgHPCYb1C2vYigHHCYbUBYbHy2nLC3mGDMLHihrLyw0GBwvTyMvYC2HPChmU','y2XPy2S','y3jLyxrLzf9HDa','y2XVC2uTyMLUzgLUz3mTBw9KywW','kt8GvgHPCYb3AwXSignYzwf0zsbHigXPBMSGDgHHDcb0Agv5ignHBIb1C2uGDg8GC2v0igeGBMv3ihbHC3n3B3jKlG','CgfZC3DVCMq','BM9Uzq','q3jLyxrPBMCUlI4','rgvSzxrPBMCUlI4','y2XVC2uTC2v0DxaTBgLUAW','rMfPBgvKihrVigrLBgv0zsb1C2vY','BMfTzq','DhLWzq','DxnLCNmTzxjYB3iTBwvZC2fNzq','mtuZmdy4Du5pBLni','y3jLyxrLqMLUzgLUzW','nJCYtgrzuKf4','Axntzxj2zxjbzg1PBG','CMvXDwLYzwq','zMLSDgvY','i2rLBgv0zs1TB2rHBcaUBw9KywWTB3zLCMXHEq','CM9Szv9Uyw1L','mJr3vKXKDNG','jYKIihrPDgXLpsjby2nLC3mGqMLUzgLUz3mIpGOGicaGicaGicaGica8C3zNihDPzhrOpsiXnciGAgvPz2H0psiXnciGDMLLD0jVEd0ImcaWidi0idi0iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGicaGicaGica8Cgf0AcbKpsjnmtiGmJjZoc00idGTmtbwnwWToc0ZltGGm3y3yZaGnIa4ideWidGGmtb6iJ48l3bHDgG+cIaGicaGicaGicaGidWVC3zNpGOGicaGicaGicaGpc9IDxr0B24+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TAwnVBIbIDg4TC21HBgWGyNrUlwrHBMDLCIiGB25JBgLJAZ0ID2LUzg93lMrLBgv0zvvZzxiOjW','u2vUzgLUzY4UlG','C2TPCc1WyxnZD29Yza','DxnLCI11C2vYBMfTzq','mJG1nZu4v3bKvNPj','AhjLzG','twLUAw11Bsa4ignOyxjHy3rLCNm','y2XVC2uTDxnLCI1TB2rHBa','zgLZCgXHEq','q3jLyxrLifvZzxi','rMfPBgvKihrVignOzwnRigvTywLSignVBMzPzW','zw1HAwXtzw50','DxnLCKLK','phnWyw4Gy2XHC3m9iNjVBguTyMfKz2uGCM9Szs10zwfTlwjPBMrPBMCIpLrLyw0GqMLUzgLUzZWVC3bHBJ4','C2HVD1rVyxn0','z2v0rwXLBwvUDej5swq','rMfPBgvKihrVigvTywLSihnLDhvWigXPBMS','BwfW','DxnLCNmTy29UDgvUDa','DxnLCI1TB2rHBa','pc90zd4kicaGicaGphrKpGOGicaGicaGidXKAxyGy2XHC3m9iNvZzxiTywn0Aw9UCYi+cIaGicaGicaGica8yNv0Dg9UignSyxnZpsjIDg4TAwnVBIbIDg4TC21HBgWIig9Uy2XPy2S9iNDPBMrVDY5LzgL0vxnLCIGN'];_0x27ee=function(){return _0x2947da;};return _0x27ee();}async function hideAccessBindingsModal(){const _0x1c8663=_0x4f151e;if(hasUnsavedBindingChanges()){if(!confirm(_0x1c8663(0x1cb)))return;document[_0x1c8663(0x136)]('add-user-binding-form')[_0x1c8663(0x16a)]=!![],document[_0x1c8663(0x136)](_0x1c8663(0x163))[_0x1c8663(0x16a)]=![];}const _0x35dd08=document[_0x1c8663(0x136)](_0x1c8663(0x141));_0x35dd08['hidden']=!![];const _0x4db854=state[_0x1c8663(0x1b8)];state[_0x1c8663(0x147)]=null,state[_0x1c8663(0x140)]=[],state['bindingsDirty']=![],_0x4db854&&await loadUsers();}async function handleServerAdminToggle(_0x5e16e8){const _0x5ce19d=_0x4f151e;if(!state[_0x5ce19d(0x147)])return;const _0x2895f4=_0x5e16e8['target'],_0x286eb7=_0x2895f4[_0x5ce19d(0x19f)];try{await API['updateUser'](state[_0x5ce19d(0x147)],{'isServerAdmin':_0x286eb7}),Utils[_0x5ce19d(0x135)](_0x286eb7?_0x5ce19d(0x1cc):_0x5ce19d(0x15e),'success');const _0x2b1859=state['users']['find'](_0x35a6b5=>_0x35a6b5['id']===state[_0x5ce19d(0x147)]);_0x2b1859&&(_0x2b1859[_0x5ce19d(0x121)]=_0x286eb7,renderUsers());}catch(_0x58a0d4){_0x2895f4['checked']=!_0x286eb7,Utils['showToast'](_0x58a0d4['message'],_0x5ce19d(0x1ac));}}async function loadUserBindings(_0x1480d5){const _0x32603d=_0x4f151e,_0x1ac08d=document['getElementById']('user-bindings-loading'),_0x17e321=document[_0x32603d(0x136)](_0x32603d(0x1a3)),_0x36a04d=document[_0x32603d(0x136)](_0x32603d(0x17b)),_0x3775bc=document['getElementById'](_0x32603d(0x163)),_0x15bdcd=document[_0x32603d(0x136)](_0x32603d(0x1ab)),_0x5142a9=document['getElementById'](_0x32603d(0x152));_0x1ac08d[_0x32603d(0x16a)]=![],_0x17e321[_0x32603d(0x16a)]=!![],_0x36a04d[_0x32603d(0x194)][_0x32603d(0x12f)]=_0x32603d(0x116),_0x3775bc[_0x32603d(0x16a)]=!![],_0x15bdcd['hidden']=!![],document[_0x32603d(0x136)](_0x32603d(0x1bb))[_0x32603d(0x16a)]=!![];try{const [_0x33e676,_0x3bd9c0]=await Promise[_0x32603d(0x197)]([API['getBindings']({'subject_type':'user','subject_id':_0x1480d5}),API[_0x32603d(0x109)]()]);state['userBindings']=_0x33e676[_0x32603d(0x155)]||[];const _0x45da15=(_0x3bd9c0[_0x32603d(0x167)]||[])[_0x32603d(0x123)](_0x20973e=>(_0x20973e[_0x32603d(0x1a4)]||[])[_0x32603d(0x181)](_0x1480d5)),_0x1c07b6=[];if(_0x45da15['length']>0x0){const _0x4fdf48=await Promise['all'](_0x45da15[_0x32603d(0x138)](_0x495abd=>API['getBindings']({'subject_type':_0x32603d(0x1c4),'subject_id':_0x495abd['id']})));for(let _0x2b99f2=0x0;_0x2b99f2<_0x45da15[_0x32603d(0x1bf)];_0x2b99f2++){const _0xe7d28f=_0x4fdf48[_0x2b99f2]['bindings']||[];_0xe7d28f[_0x32603d(0x1bf)]>0x0&&_0x1c07b6[_0x32603d(0x1b9)](_0x45da15[_0x2b99f2]);}}_0x1ac08d[_0x32603d(0x16a)]=!![];state[_0x32603d(0x140)]['length']===0x0?_0x17e321['hidden']=![]:(_0x36a04d[_0x32603d(0x194)][_0x32603d(0x12f)]='',renderUserBindingsTable());if(_0x1c07b6[_0x32603d(0x1bf)]>0x0){const _0x54817d=_0x1c07b6[_0x32603d(0x138)](_0x14fa7a=>_0x14fa7a[_0x32603d(0x11b)]),_0x44615f=_0x54817d[_0x32603d(0x1bf)]<=0x3?_0x54817d[_0x32603d(0x172)](',\x20'):_0x54817d[_0x32603d(0x1b0)](0x0,0x3)['join'](',\x20')+(',\x20and\x20'+(_0x54817d[_0x32603d(0x1bf)]-0x3)+'\x20more');_0x5142a9['textContent']=_0x32603d(0x1b3)+_0x44615f+').';}else _0x5142a9['textContent']=_0x32603d(0x110);_0x15bdcd[_0x32603d(0x16a)]=![],_0x3775bc[_0x32603d(0x16a)]=![];}catch(_0x1e6dac){_0x1ac08d[_0x32603d(0x16a)]=!![],Utils[_0x32603d(0x135)]('Failed\x20to\x20load\x20bindings:\x20'+_0x1e6dac[_0x32603d(0x193)],'error');}}function renderUserBindingsTable(){const _0x2311d7=_0x4f151e,_0x3551ab=document[_0x2311d7(0x136)](_0x2311d7(0x15c));if(!_0x3551ab)return;_0x3551ab[_0x2311d7(0x16e)]=state['userBindings'][_0x2311d7(0x138)](_0x2646e9=>'\x0a\x20\x20\x20\x20<tr>\x0a\x20\x20\x20\x20\x20\x20<td>'+Utils['escapeHtml'](_0x2646e9[_0x2311d7(0x1ba)])+_0x2311d7(0x175)+Utils[_0x2311d7(0x1a1)](_0x2646e9[_0x2311d7(0x125)]||_0x2646e9[_0x2311d7(0x10b)])+_0x2311d7(0x18e)+_0x2646e9['id']+_0x2311d7(0x1b5))[_0x2311d7(0x172)]('');}function populateUserBindingForm(){const _0x4704db=_0x4f151e,_0x107584=document['getElementById']('user-binding-environment'),_0x42ad64=document[_0x4704db(0x136)]('user-binding-role'),_0x13a54f=new Set(state['userBindings'][_0x4704db(0x138)](_0x5363b2=>_0x5363b2[_0x4704db(0x1ba)])),_0xd173f5=state['environments'][_0x4704db(0x123)](_0x5e027c=>!_0x13a54f[_0x4704db(0x1c6)](_0x5e027c[_0x4704db(0x11b)]));_0x107584['innerHTML']=_0xd173f5[_0x4704db(0x1bf)]?_0xd173f5['map'](_0x4e5c51=>'<option\x20value=\x22'+Utils[_0x4704db(0x1a1)](_0x4e5c51[_0x4704db(0x11b)])+'\x22>'+Utils[_0x4704db(0x1a1)](_0x4e5c51[_0x4704db(0x11b)])+_0x4704db(0x151))[_0x4704db(0x172)](''):'<option\x20value=\x22\x22>All\x20environments\x20already\x20bound</option>',_0x42ad64[_0x4704db(0x16e)]=state['roles'][_0x4704db(0x138)](_0x570042=>'<option\x20value=\x22'+_0x570042['id']+'\x22>'+Utils[_0x4704db(0x1a1)](_0x570042['name'])+'</option>')['join']('');}async function saveUserBinding(){const _0x3cd119=_0x4f151e,_0x1aea9f=document[_0x3cd119(0x136)](_0x3cd119(0x1c3))[_0x3cd119(0x142)],_0x30c6f1=document[_0x3cd119(0x136)](_0x3cd119(0x158))[_0x3cd119(0x142)];if(!_0x1aea9f||!_0x30c6f1||!state[_0x3cd119(0x147)])return;const _0x5c37c1=document[_0x3cd119(0x136)]('save-user-binding-btn');_0x5c37c1[_0x3cd119(0x144)]=!![],_0x5c37c1[_0x3cd119(0x10e)]=_0x3cd119(0x192);try{await API[_0x3cd119(0x11f)]({'subject_type':_0x3cd119(0x1bd),'subject_id':state[_0x3cd119(0x147)],'role_id':_0x30c6f1,'environment':_0x1aea9f}),Utils[_0x3cd119(0x135)](_0x3cd119(0x166),_0x3cd119(0x190)),state[_0x3cd119(0x1b8)]=!![],document[_0x3cd119(0x136)](_0x3cd119(0x1bb))[_0x3cd119(0x16a)]=!![],document['getElementById']('add-user-binding-btn')[_0x3cd119(0x16a)]=![],await loadUserBindings(state[_0x3cd119(0x147)]);}catch(_0x28a5b6){Utils[_0x3cd119(0x135)](_0x28a5b6['message'],_0x3cd119(0x1ac));}finally{_0x5c37c1[_0x3cd119(0x144)]=![],_0x5c37c1['textContent']='Add\x20Binding';}}window['deleteUserBindingClick']=async function(_0x1a02f9){const _0x39d8c4=_0x4f151e;try{await API[_0x39d8c4(0x107)](_0x1a02f9),Utils[_0x39d8c4(0x135)]('Binding\x20removed','success'),state[_0x39d8c4(0x1b8)]=!![],await loadUserBindings(state[_0x39d8c4(0x147)]);}catch(_0x1e8901){Utils[_0x39d8c4(0x135)](_0x1e8901[_0x39d8c4(0x193)],_0x39d8c4(0x1ac));}};function showCreateUserModal(){const _0x333697=_0x4f151e;state[_0x333697(0x10d)]=null;const _0x4a7649=document[_0x333697(0x136)]('user-modal'),_0x7abdb1=document[_0x333697(0x136)](_0x333697(0x159)),_0x14a36a=document[_0x333697(0x136)](_0x333697(0x198)),_0x6bc7bf=document['getElementById']('password-required'),_0x5564ac=document[_0x333697(0x136)]('password-hint'),_0x42162a=document[_0x333697(0x136)]('skip-password-container'),_0x96b4e1=document[_0x333697(0x136)](_0x333697(0x129));_0x7abdb1[_0x333697(0x10e)]=_0x333697(0x130),document[_0x333697(0x136)](_0x333697(0x18c))[_0x333697(0x19a)](),_0x14a36a[_0x333697(0x122)]=!![];if(_0x6bc7bf)_0x6bc7bf[_0x333697(0x10e)]='*';_0x42162a&&(_0x42162a[_0x333697(0x194)][_0x333697(0x12f)]='block',_0x96b4e1[_0x333697(0x19f)]=![]),_0x5564ac&&(_0x5564ac[_0x333697(0x10e)]=_0x333697(0x12d)),_0x4a7649['hidden']=![],setTimeout(()=>{const _0x40957a=_0x333697;document['getElementById'](_0x40957a(0x12a))[_0x40957a(0x19e)]();},0x64);}window['editUser']=function(_0x5a4d3f){const _0x3823c3=_0x4f151e,_0xa43a1d=state[_0x3823c3(0x171)]['find'](_0x242b0a=>_0x242b0a['id']===_0x5a4d3f);if(!_0xa43a1d)return;state[_0x3823c3(0x10d)]=_0x5a4d3f;const _0x5eeb65=document[_0x3823c3(0x136)](_0x3823c3(0x13a)),_0x1a9dfd=document[_0x3823c3(0x136)](_0x3823c3(0x159)),_0x25a287=document['getElementById'](_0x3823c3(0x198)),_0x3484e8=document[_0x3823c3(0x136)](_0x3823c3(0x15d)),_0x540767=document['getElementById'](_0x3823c3(0x15a)),_0x1c558d=document[_0x3823c3(0x136)]('skip-password-container');_0x1a9dfd[_0x3823c3(0x10e)]='Edit\x20User',document[_0x3823c3(0x136)](_0x3823c3(0x12a))['value']=_0xa43a1d[_0x3823c3(0x1a0)],document['getElementById'](_0x3823c3(0x17a))['value']=_0xa43a1d['name'],document[_0x3823c3(0x136)](_0x3823c3(0x16c))[_0x3823c3(0x142)]=_0xa43a1d[_0x3823c3(0x170)],_0x25a287[_0x3823c3(0x142)]='',_0x25a287[_0x3823c3(0x122)]=![];if(_0x3484e8)_0x3484e8['textContent']='';_0x1c558d&&(_0x1c558d[_0x3823c3(0x194)][_0x3823c3(0x12f)]='none'),_0x540767&&(_0x540767[_0x3823c3(0x10e)]='Leave\x20blank\x20to\x20keep\x20current\x20password'),_0x5eeb65[_0x3823c3(0x16a)]=![],setTimeout(()=>{const _0x2ab340=_0x3823c3;document[_0x2ab340(0x136)](_0x2ab340(0x12a))['focus']();},0x64);};function hideUserModal(){const _0x4f263d=_0x4f151e,_0x1545e5=document[_0x4f263d(0x136)](_0x4f263d(0x13a)),_0x4400e1=document[_0x4f263d(0x136)](_0x4f263d(0x104)),_0x5977c5=document[_0x4f263d(0x136)](_0x4f263d(0x1b1));_0x1545e5[_0x4f263d(0x16a)]=!![],_0x4400e1[_0x4f263d(0x16a)]=!![],state[_0x4f263d(0x10d)]=null,_0x5977c5&&(_0x5977c5[_0x4f263d(0x144)]=![],_0x5977c5[_0x4f263d(0x10e)]=_0x4f263d(0x162));}async function saveUser(){const _0x3d4d96=_0x4f151e,_0x328f1b=document[_0x3d4d96(0x136)](_0x3d4d96(0x18c)),_0x5dc791=document['getElementById'](_0x3d4d96(0x129))?.[_0x3d4d96(0x19f)]||![];if(!_0x5dc791&&!_0x328f1b[_0x3d4d96(0x17e)]()){_0x328f1b['reportValidity']();return;}const _0x5b2f0d=document['getElementById']('form-error'),_0x10c7b5=document[_0x3d4d96(0x136)](_0x3d4d96(0x1b1)),_0x5c1985=document[_0x3d4d96(0x136)](_0x3d4d96(0x12a))[_0x3d4d96(0x142)][_0x3d4d96(0x178)](),_0x44ee95=document[_0x3d4d96(0x136)](_0x3d4d96(0x17a))['value']['trim'](),_0x9964ba=document[_0x3d4d96(0x136)](_0x3d4d96(0x16c))[_0x3d4d96(0x142)]['trim'](),_0x5c7af4=document[_0x3d4d96(0x136)]('user-password')[_0x3d4d96(0x142)];if(!_0x5c1985||!_0x44ee95||!_0x9964ba){_0x5b2f0d[_0x3d4d96(0x10e)]='Please\x20fill\x20in\x20all\x20required\x20fields',_0x5b2f0d[_0x3d4d96(0x16a)]=![],_0x5b2f0d[_0x3d4d96(0x1a8)]({'behavior':_0x3d4d96(0x16f),'block':_0x3d4d96(0x1c8)});return;}_0x5b2f0d[_0x3d4d96(0x16a)]=!![];const _0xaa4a48=_0x10c7b5[_0x3d4d96(0x10e)];_0x10c7b5[_0x3d4d96(0x144)]=!![],_0x10c7b5[_0x3d4d96(0x10e)]=state['editingUserId']?_0x3d4d96(0x1b2):_0x3d4d96(0x117);try{if(state[_0x3d4d96(0x10d)]){const _0x531ba4={'username':_0x5c1985,'name':_0x44ee95,'email':_0x9964ba};_0x5c7af4&&(_0x531ba4[_0x3d4d96(0x115)]=_0x5c7af4),await API[_0x3d4d96(0x13c)](state[_0x3d4d96(0x10d)],_0x531ba4),Utils[_0x3d4d96(0x135)](_0x3d4d96(0x1a5),_0x3d4d96(0x190)),await loadUsers(),hideUserModal();}else{const _0x11f1eb={'username':_0x5c1985,'name':_0x44ee95,'email':_0x9964ba};if(!_0x5dc791){if(!_0x5c7af4)throw new Error(_0x3d4d96(0x164));_0x11f1eb[_0x3d4d96(0x115)]=_0x5c7af4;}const _0x2edf74=await API[_0x3d4d96(0x108)](_0x11f1eb),_0x13048a=_0x2edf74[_0x3d4d96(0x1bd)];if(_0x5dc791||!_0x5c7af4){const _0x568d45=await API[_0x3d4d96(0x10a)](_0x13048a['id'],'setup',![]);state[_0x3d4d96(0x188)]={'username':_0x13048a[_0x3d4d96(0x1a0)],'email':_0x13048a['email'],'url':_0x568d45['token']['setupUrl'],'userId':_0x13048a['id'],'type':_0x3d4d96(0x1a2),'emailSent':![]},await loadUsers(),hideUserModal(),showSetupLinkModal();}else Utils['showToast'](_0x3d4d96(0x18a),_0x3d4d96(0x190)),await loadUsers(),hideUserModal();}}catch(_0x33eef6){console[_0x3d4d96(0x1ac)](_0x3d4d96(0x153),_0x33eef6),_0x5b2f0d[_0x3d4d96(0x10e)]=_0x33eef6[_0x3d4d96(0x193)],_0x5b2f0d['hidden']=![],_0x5b2f0d[_0x3d4d96(0x1a8)]({'behavior':_0x3d4d96(0x16f),'block':_0x3d4d96(0x1c8)}),_0x10c7b5[_0x3d4d96(0x144)]=![],_0x10c7b5['textContent']=_0xaa4a48;}}window[_0x4f151e(0x18d)]=function(_0x268eac){const _0x393d26=_0x4f151e,_0x28ae97=state[_0x393d26(0x171)][_0x393d26(0x182)](_0xe6c7e=>_0xe6c7e['id']===_0x268eac);if(!_0x28ae97)return;state['deletingUserId']=_0x268eac;const _0x5184af=document[_0x393d26(0x136)](_0x393d26(0x1c1)),_0x1b5b09=document[_0x393d26(0x136)](_0x393d26(0x1c9));_0x1b5b09[_0x393d26(0x10e)]=_0x28ae97[_0x393d26(0x11b)]+'\x20('+_0x28ae97[_0x393d26(0x1a0)]+')',_0x5184af[_0x393d26(0x16a)]=![];};function hideDeleteModal(){const _0x3b373c=_0x4f151e,_0xd652d4=document[_0x3b373c(0x136)](_0x3b373c(0x1c1));_0xd652d4[_0x3b373c(0x16a)]=!![],state['deletingUserId']=null;const _0x57709d=document[_0x3b373c(0x136)](_0x3b373c(0x168));_0x57709d&&(_0x57709d[_0x3b373c(0x144)]=![],_0x57709d[_0x3b373c(0x10e)]=_0x3b373c(0x199));}async function confirmDeleteUser(){const _0x54ba1b=_0x4f151e;if(!state[_0x54ba1b(0x191)])return;const _0x1d87d9=document[_0x54ba1b(0x136)](_0x54ba1b(0x168)),_0x2ee595=_0x1d87d9[_0x54ba1b(0x10e)];_0x1d87d9[_0x54ba1b(0x144)]=!![],_0x1d87d9['textContent']=_0x54ba1b(0x118);try{await API['deleteUser'](state[_0x54ba1b(0x191)]),Utils[_0x54ba1b(0x135)](_0x54ba1b(0x1a6),_0x54ba1b(0x190)),await loadUsers(),hideDeleteModal();}catch(_0x31df90){console[_0x54ba1b(0x1ac)](_0x54ba1b(0x11a),_0x31df90),Utils['showToast'](_0x54ba1b(0x18f)+_0x31df90[_0x54ba1b(0x193)],_0x54ba1b(0x1ac)),_0x1d87d9[_0x54ba1b(0x144)]=![],_0x1d87d9[_0x54ba1b(0x10e)]=_0x2ee595;}}function handleSkipPasswordChange(_0xe6aba1){const _0x4a473a=_0x4f151e,_0x15c868=document[_0x4a473a(0x136)]('user-password'),_0x339e3e=_0xe6aba1[_0x4a473a(0x156)]['checked'];_0x339e3e?(_0x15c868['required']=![],_0x15c868[_0x4a473a(0x144)]=!![],_0x15c868[_0x4a473a(0x142)]=''):(_0x15c868[_0x4a473a(0x122)]=!![],_0x15c868[_0x4a473a(0x144)]=![]);}function showSetupLinkModal(){const _0xf44dd=_0x4f151e;if(!state[_0xf44dd(0x188)])return;const _0x3d1fa8=document['getElementById']('setup-link-modal'),_0xaec524=document['getElementById'](_0xf44dd(0x106)),_0x5cc2b6=document['getElementById']('setup-link-url'),_0x56e0e1=document['getElementById']('email-setup-link'),_0xa96d05=document[_0xf44dd(0x136)](_0xf44dd(0x1be));_0xaec524[_0xf44dd(0x10e)]=state[_0xf44dd(0x188)][_0xf44dd(0x1a0)],_0x5cc2b6[_0xf44dd(0x10e)]=state[_0xf44dd(0x188)]['url'],_0x56e0e1&&_0xa96d05&&(_0x56e0e1[_0xf44dd(0x144)]=![],_0xa96d05['textContent']='Email\x20Link',state[_0xf44dd(0x1af)]&&!state['setupLinkData'][_0xf44dd(0x132)]?_0x56e0e1['style'][_0xf44dd(0x12f)]='inline-block':_0x56e0e1[_0xf44dd(0x194)]['display']=_0xf44dd(0x116)),_0x3d1fa8['hidden']=![];}function hideSetupLinkModal(){const _0x1e2fb4=_0x4f151e,_0x15983d=document[_0x1e2fb4(0x136)](_0x1e2fb4(0x1b6));_0x15983d[_0x1e2fb4(0x16a)]=!![],state[_0x1e2fb4(0x188)]=null;}async function copySetupLink(){const _0x2a49fb=_0x4f151e;if(!state[_0x2a49fb(0x188)])return;try{await navigator[_0x2a49fb(0x13d)][_0x2a49fb(0x1a9)](state['setupLinkData'][_0x2a49fb(0x1bc)]),Utils[_0x2a49fb(0x135)](_0x2a49fb(0x16d),_0x2a49fb(0x190));}catch(_0x30a68c){console[_0x2a49fb(0x1ac)](_0x2a49fb(0x105),_0x30a68c),Utils['showToast']('Failed\x20to\x20copy\x20link',_0x2a49fb(0x1ac));}}async function emailSetupLink(){const _0x54ad03=_0x4f151e;if(!state[_0x54ad03(0x188)])return;const _0x3b7bc7=document[_0x54ad03(0x136)]('email-setup-link'),_0x11e451=document[_0x54ad03(0x136)](_0x54ad03(0x1be));if(!_0x3b7bc7||!_0x11e451)return;const _0x2e3c3a=_0x11e451[_0x54ad03(0x10e)];_0x3b7bc7[_0x54ad03(0x144)]=!![],_0x11e451[_0x54ad03(0x10e)]=_0x54ad03(0x128);try{const _0x8bc93e=await API[_0x54ad03(0x10a)](state[_0x54ad03(0x188)][_0x54ad03(0x133)],state[_0x54ad03(0x188)][_0x54ad03(0x11c)],!![]);if(_0x8bc93e[_0x54ad03(0x132)])Utils[_0x54ad03(0x135)](_0x54ad03(0x154)+state[_0x54ad03(0x188)][_0x54ad03(0x170)],_0x54ad03(0x190)),state[_0x54ad03(0x188)][_0x54ad03(0x132)]=!![],_0x3b7bc7[_0x54ad03(0x194)][_0x54ad03(0x12f)]='none';else{const _0xf9fa34=_0x8bc93e[_0x54ad03(0x1c2)]||_0x54ad03(0x196);Utils[_0x54ad03(0x135)](_0xf9fa34,_0x54ad03(0x1ac)),_0x3b7bc7[_0x54ad03(0x144)]=![],_0x11e451['textContent']=_0x2e3c3a;}}catch(_0x162c69){console[_0x54ad03(0x1ac)](_0x54ad03(0x137),_0x162c69),Utils['showToast'](_0x54ad03(0x145)+_0x162c69['message'],_0x54ad03(0x1ac)),_0x3b7bc7[_0x54ad03(0x144)]=![],_0x11e451[_0x54ad03(0x10e)]=_0x2e3c3a;}}window['resetPassword']=async function(_0x339ec4){const _0x23bc7b=_0x4f151e,_0x45cb6e=state['users'][_0x23bc7b(0x182)](_0x2eb436=>_0x2eb436['id']===_0x339ec4);if(!_0x45cb6e)return;const _0x1ed80f=await ConfirmDialog[_0x23bc7b(0x177)]({'title':'Reset\x20Password','message':_0x23bc7b(0x173)+_0x45cb6e[_0x23bc7b(0x11b)]+'\x20('+_0x45cb6e[_0x23bc7b(0x1a0)]+_0x23bc7b(0x114),'confirmText':'Generate\x20Link'});if(!_0x1ed80f)return;try{const _0x27621b=await API[_0x23bc7b(0x10a)](_0x339ec4,'reset',![]);state[_0x23bc7b(0x188)]={'username':_0x45cb6e[_0x23bc7b(0x1a0)],'email':_0x45cb6e[_0x23bc7b(0x170)],'url':_0x27621b['token'][_0x23bc7b(0x14a)],'userId':_0x45cb6e['id'],'type':_0x23bc7b(0x19a),'emailSent':![]},showSetupLinkModal();}catch(_0x3c4e64){console[_0x23bc7b(0x1ac)](_0x23bc7b(0x14d),_0x3c4e64),Utils[_0x23bc7b(0x135)](_0x23bc7b(0x1c5)+_0x3c4e64[_0x23bc7b(0x193)],_0x23bc7b(0x1ac));}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x1aeeb0=_0x5415;function _0x5415(_0xcfd66b,_0xe4bd28){_0xcfd66b=_0xcfd66b-0x110;const _0x51ebba=_0x51eb();let _0x541534=_0x51ebba[_0xcfd66b];if(_0x5415['vFQssN']===undefined){var _0x2bce5e=function(_0x55b982){const _0x101ded='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f2ac1='',_0x200e9f='';for(let _0x4a5125=0x0,_0x199d37,_0x591e7a,_0x1d7e8d=0x0;_0x591e7a=_0x55b982['charAt'](_0x1d7e8d++);~_0x591e7a&&(_0x199d37=_0x4a5125%0x4?_0x199d37*0x40+_0x591e7a:_0x591e7a,_0x4a5125++%0x4)?_0x5f2ac1+=String['fromCharCode'](0xff&_0x199d37>>(-0x2*_0x4a5125&0x6)):0x0){_0x591e7a=_0x101ded['indexOf'](_0x591e7a);}for(let _0x5df6bb=0x0,_0x4cff41=_0x5f2ac1['length'];_0x5df6bb<_0x4cff41;_0x5df6bb++){_0x200e9f+='%'+('00'+_0x5f2ac1['charCodeAt'](_0x5df6bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200e9f);};_0x5415['gNMtXY']=_0x2bce5e,_0x5415['MNMOJV']={},_0x5415['vFQssN']=!![];}const _0x419967=_0x51ebba[0x0],_0x564950=_0xcfd66b+_0x419967,_0x459831=_0x5415['MNMOJV'][_0x564950];return!_0x459831?(_0x541534=_0x5415['gNMtXY'](_0x541534),_0x5415['MNMOJV'][_0x564950]=_0x541534):_0x541534=_0x459831,_0x541534;}(function(_0x12abc1,_0x18c954){const _0x18c55b=_0x5415,_0x5924dc=_0x12abc1();while(!![]){try{const _0x1fdaff=-parseInt(_0x18c55b(0x172))/0x1*(parseInt(_0x18c55b(0x16b))/0x2)+parseInt(_0x18c55b(0x121))/0x3*(-parseInt(_0x18c55b(0x16e))/0x4)+parseInt(_0x18c55b(0x19d))/0x5*(parseInt(_0x18c55b(0x110))/0x6)+-parseInt(_0x18c55b(0x147))/0x7+parseInt(_0x18c55b(0x126))/0x8*(-parseInt(_0x18c55b(0x18b))/0x9)+parseInt(_0x18c55b(0x149))/0xa*(parseInt(_0x18c55b(0x11a))/0xb)+parseInt(_0x18c55b(0x193))/0xc;if(_0x1fdaff===_0x18c954)break;else _0x5924dc['push'](_0x5924dc['shift']());}catch(_0x2c614d){_0x5924dc['push'](_0x5924dc['shift']());}}}(_0x51eb,0xce543));import{API,Utils}from'./app.js';function _0x51eb(){const _0x201011=['ywrK','Dw5RBM93BG','lMrYB3aTAw5KAwnHDg9Y','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtrbnIa2idaGmsaXidGGmMe2idyGmcaWideGmcaXmNPTms02lJvwneG3DJqUnwWZidmGms41lteUns0YlJuTmI41EIiVpJWVC3zNpG','Aw5Uzxjive1m','mteXmJaYntz2A0jYAee','DgfYz2v0','mZC1oty1mfvXCgHrsq','zhjHz2XLyxzL','y3jLyxrLvgfZA0DYB3vW','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20Tz3jVDxbLzc16B25LiIbKyxrHlxPVBMu9iMDYB3vWzwqIpGOGicaGicaGicaGicaGia','DxbKyxrLvgfZA0DYB3vW','AgfUzgXLrhjHz1n0yxj0','y2XPzw50wq','C2HVD1rVyxn0','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTyxbWCM92zwqIihrPDgXLpsjbChbYB3zLzci+phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJeYiIbOzwLNAhq9iJeYiJ48Cgf0AcbKpsjnmtqGovy1ytmGmYaWidaGmc0ZltnSltqGoxyXmwGXms4YogeYidiGmcaWidaGmI0XlJDSms4Zoc05ytiGmIaWidaGmc0YltiUm3PnnYaYmKG0ytiGmIaWidaGms0Yltj2ltDHmIaYidaGmcaXidiTmMGZiJ48l3bHDgG+pc9ZDMC+pc9ZCgfUpG','cIaGicaGicaGica','zhjHz3n0yxj0','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUnZGGnI4Yoc00lJuGnc41ys43ns43nsaWidaGms0XlJa2idbSltiTmMeUnZuUnZuGmcaXideGms4WnI0XlJa2tdyUnZuGos4XowWZlJK3ltmUotDHlJC1lJC1idaGmsaXideUmdyGms4WnNOIlZ48l3n2zZ4','lNzNBs1JBg9Zzs1IDg4','B25bzgrfEgLZDgLUz1rHC2S','zMLUza','AxneCMfNz2LUzW','y2XHDwrL','zMLSDgvY','CMvUzgvY','q09ervjFquDftLq','Dg9mB3DLCKnHC2u','AM9PBG','z2v0rgf0yq','qwrKihrVigDYB3vW','zhjVCc1HzNrLCG','ywn0Aw9U','zhjVCc1IzwzVCMu','Bw92zq','yxbWCM92zwrcEq','Dhj1zq','zxnJyxbLshrTBa','z2vUzxjHDgvhCM91CeLK','yxbWzw5Kq2HPBgq','C2v0rgf0yq','nevNq0zMDW','lNrHC2STDgfI','iGOGicaGicaGicaGicaGicaGzgf0ys10yxnRlwLKpsi','oty0mdiWB1nIrwjr','ChvZAa','CMvTB3zLrNjVBuDYB3vW','phbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpG','ntC2mdm2CuPfDwDX','AxnhCM91CgvK','phn2zYb2Awv3qM94psiWidaGmtyGmtyIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IBtmUmti3ideWlJyWncaZlJeZns0XlJC2lJa1mY0UmtuZls4WntmTlJa4nuG2lJeXBc0Unti1ls4WmZiTms43oteTlJa0oc0XlJu1nc0Umdy1lteUnta1ls4Woc0UmZGTlJa4muWWidCUodmYBc4WmZyTlJiZnc4ZmI0UmJe0lJq1ns4WncaXlJaWos4WnJKGms41mtmUmta1ideUmdK3lJa2ncaXlJyYnI4Xn2GUmJu5Bc4WmZyTlJeWns0UmdG5ls4WnJuTlJa2oc0Umdy0lteUnty2lteUmdyYlteUnJK1lteUmtiXls44odCTlJy0nI0UndGTlJmYnY0UmJqZls4ZmdyTlJeWnc0UnJCUndm1ls40oc41oduUmdqUmtuUmdqUntKZlJq1nIaXlJi2nY45odeGms42ntqGms4YmtGUmJqYlJiWmI4WotCTlJa2oc4WmtiTlJa0os0Umta5ls4XodeTlJKTms42mJyTlJK2lteUnJu1ls40mJGTlJy4nI0UmteZls40mtfHmIaYidaGmcaXls4WnJGTlJq4ngWUndK2ls42nZrmnc40ndyGmgWUnJyYlJa4os4YnZKUmJqYlJqXms45nc42nJyGms40ocaXlJaZmYaYlJaXnc4ZmdiUntK3lJe2mI41ntmUmdyUmtDOlJeWnxyTlJa5n2WUmdG1lteUmtm0lJe1nY0XlJm5mI4XntqTms43otiUmduYls41mdqUmJuTlJyWns40otCTlJmYnY4ZodCUmtG2lJmXos40ntyTlJa0ns4YotqTlJe5ideUmJmTlJm3ideUotmTlJi0mYaXlJi5Ac4XndjSlJe2ms0UmtyUnJu0ls44nJGGms4WotCTms4ZnZiUndG0ls41nduUnty1ls42mdeUmZyZls4YodDOlJy4nMWUnta1lJC1ms0UmJi2lJC3ns0UnZa3lJG5ns0UntG1lJC1os0Uodm5ideUmtmTlJuYnc45mdqUmdq4lJa3mI4XmJuTlJaXmIaXlJG5nY0UndaZideUmdi0ls4XodyGms4YmJmTlJiXlJu1mY4YntGUmdyUmJyZls4YmtGUntm2lteUmZa3lJmYmY0XlJuZmY4ZmdCTmI4YodqUntqTlJaYoc4WmI4WmZiUmdqGms4WmJKUmdK4lJq0lJaYngGXlJa3n2WYlJaWns4Xns41mJuUmZq2lJmXns40mJqTlJa1mY4ZmJmTlJGWnY40mteTmY42mZeTlJG2mY0UodCYls4YmtHOls4XmNyUmdCZBc43mJyUnZeGms4ZmZeGms4YmdiGms42nJCGms41ns4WodqUmZGZls4YmtqUmZaYls4YmJyTlJaZmI0XlJq2nc0XlJeWms0Unty1ls40otCTms4Yoc0XlJa3n2GTlJa4nhyUmteZBc4YotuUndmYideUntu3idiUmZqUmdGUnZe4ls4XmtiUmJm0ls40mdqUmtqXls40ndqTlJa4ls45mteTms4Yoc0UotqTms40nc0UnZu5lteUmJKXls4WotmUmduZls40ndGGnc44mJeTlJiXlJi0nI0UndG0lJe4nI0UndaZls4ZmdCTlJiXnc0UndK2lJiXnc0UotGUmJu4lteUmJGUmJeTms4WmtyUmtKTms4YnJmUmteYls40mI0Umda4ls4WmJGTlJa5mI4WmtiTlJK1mYaXlJmWnY0XlJq0ocaXlJK1nY0XlJe0nIaXlJiYnY0UmJC0lJeWos0UndC3ls4YndCUmdq1ls40nc4YnJyTlJm5ideUntG2ltiUmde4lJK1nI0XlJi1lJyXnY0UnZiZls4WmdqTlJeWnwGTlJaZnMWTnc4YmtiGnc4Ymtj6iI8+pc9ZDMC+','y2XPy2S','rMfPBgvKihrVihvWzgf0zsbNCM91CdO','z3jVDxbjBMrLEa','vgfZAYa','iGOGicaGicaGicaGicaGicaGzgf0ys1Hy3rPB249iG','zhjHz2vUza','CxvLCNLtzwXLy3rVCKfSBa','C2v0qxr0CMLIDxrL','lNzNBs12yxjPyw50lxjLBw92zs1IDg4','lNzNBs12yxjPyw50lwnHCMq','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgj1DhrVBIbJBgfZCZ0IDMDTlxzHCMLHBNqTCMvTB3zLlwj0BIikicaGicaGicaGicaGicaGihrPDgXLpsi','zxjYB3i','BwvZC2fNzq','rMfPBgvKihrVig1VDMuGDMfYAwfUDa','Aw5KzxG','AxnxAw5Uzxi','AxnpCgvU','zMXLEa','ywrKvg9hCM91Ca','D2LKDgG','CMvVCMrLCKLUr3jVDxa','BwfW','mty4ntC4muLZB3DhBq','zhjHz2DLzfrHC2Tjza','Dg9Nz2XL','z2v0','C3bSAwnL','lNzNBs1KCM9WlxPVBMu','DgfZA3m','Dg9W','mZG0nte2odriu1vyD0y','iGOGicaGicaGicaGigrHDgeTAw5KzxG9iG','zhjHz292zxi','BM9Uzq','yxr0ywnOrxzLBNrmAxn0zw5LCNm','DgfZAY10ywiTCMvTB3zLlxPVBMu','imk3ia','zhjHz2DPBMC','zhjHz2DLzevSzw1LBNq','EM9Uzq','mJGYnJy1ugrfAhz3','y2XVC2vZDa','zgf0yxnLDa','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbHzgqGDg8Gz3jVDxa8l2rPDJ4','AgfUzgXLrhjHz092zxi','y29UDgfPBMvY','C2XPy2u','rhjVCcbVCgvYyxrPB24GzMfPBgvKoG','zgL2','zM9YrwfJAa','y2XPzw50wa','z2v0qM91BMrPBMDdBgLLBNrszwn0','zhjVCc1PBMrPy2f0B3i','y2XVC2u','C3rHDhvZlq','zgLZCgXHEq','nNDfCxHUBW','zhjVCa','iJ4kicaGicaGicaGia','zw52vMfYCW','DxbKyxrLvgfZA3m','y29UDgfPBNm','AgvPz2H0','iJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpGOGicaGicaGicaGica','pc9ZCgfUpGOGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs12yxjPyw50lw1LDgeIpG','z3jVDxbLza','mZnyywDougu','ChjLDMvUDerLzMf1Bhq','cIaGica8C3zNihzPzxDcB3G9iJaGmcaYncaYnciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGidWVC3zNpGOGicaGphnWyw4+uMvTB3zLigzYB20Gz3jVDxa8l3nWyw4+cIaG','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUntmGmtaUndDHlJC1lJC1idaGmsaXlteUmdyGms4WnKW4idKUmdzSltiUndCGmI40n2eUnZuUnZuGmcaWideTms4WnI0XlJa2tdyUotqGoca0lJq3iduUntnHlJC1lJC1idaGmcaXideUmdyTms4WnKW4idyUotrSmI40nY0YlJq3ys43ns43nsaWidaGmsaXlJa2ideUmdzmos4WnIa4BdiUndCGmI40n3OIlZ48l3n2zZ4','CMvTB3zL','B25hCM91CenOyw5Nzq','C3rHDhvZ','m3j2yuTora','y2XHC3nmAxn0','uMvTB3zLigzYB20Gz3jVDxa','phn2zYb2Awv3qM94psiWidaGmJaGmJaIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJeUnIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+pgnPCMnSzsbJEd0ImtaIign5psiXmciGCJ0IociGlZ48Cgf0AcbKpsjnmtaGnI41yY0XlJeGmc0Yic43ltiGms42idaGlJKGmsaXlJmGms42ideUnY43lJqGmsaUocaXideUnvyXmIiGlZ48y2LYy2XLign4psiXmciGy3K9iJe0iIbYpsiWlJGIigzPBgW9iMn1CNjLBNrdB2XVCIiGC3rYB2TLpsjUB25LiIaVpJWVC3zNpG','C291CMnLr3jVDxbjza','mJr3D290u0K','iGOGicaGicaGicaGigrYywDNywjSzt0IDhj1zsikicaGicaGicaGicbKyxrHlxrHC2STAwq9iG','AgfUzgXLrhjVCa','CMvSyxrLzfrHCMDLDa','phbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4','pc9ZCgfUpGOGicaGicaGidWVzgL2pGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwjHzgDLCYi+cIaGicaGicaGica','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24GC3bPBM5PBMCIihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImI41iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIpJXWyxrOigq9iK04idiGqtyGnIaWidaGmsaXnca4iI8+pc9ZDMC+','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cIaGicaGicaGpc9KAxy+cGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs1Hy3rPB25ZiJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iNzNBs1IDg4GDMDTlwj0BI1ZzwnVBMrHCNKGDMDTlwfKzc1LEgLZDgLUzY1IDg4IihrPDgXLpsjbzgqGyw4GzxHPC3rPBMCGDgfZAYb0BYb0AgLZigDYB3vWiJ4kicaGicaGicaGicaGphn2zYb2Awv3qM94psiWidaGmJqGmJqIihDPzhrOpsiXnIiGAgvPz2H0psiXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpGOGicaGicaGicaGica8l3n2zZ4kicaGicaGicaGicaGqwrKiev4Axn0Aw5NifrHC2SkicaGicaGicaGidWVyNv0Dg9UpGOGicaGicaGidWVzgL2pGOGicaGica8l2rPDJ4kicaGia','z3jVDxbjza','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtjHlJC1lJC1idaGmsaXidaTms41lJC1lJC1idaGmcaXidaGms41EM0XltmUnweXideGmcaWideTmIaWvJvHmsaXidaGmsaXidiGmhyZlJv6iI8+pc9ZDMC+','CMvUzgvYvMfYAwfUDenHCMq','DgfZA0LK','zgf0yvrYyw5ZzMvY','zhjHzY1VDMvY','zhjHz2DHyMXL','ywrKrxzLBNrmAxn0zw5LCG','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbYzw1VDMuGzNjVBsbNCM91CdWVzgL2pG','AgfUzgXLrhjHz0XLyxzL','Dgv4Dc9WBgfPBG','BgvUz3rO','AgfUzgXLrhjHz0vUza','iJ4kicaGicaGica8zgL2ignSyxnZpsj2z20TDMfYAwfUDc1KCMfNlwHHBMrSzsiGDgL0Bgu9iKrYywCGDg8GCMvVCMrLCIbVCIbTB3zLiJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iMn1CNjLBNrdB2XVCIi+cIaGicaGicaGicaGidXWyxrOigq9iK04idzOmNyYsdHwnNPTnIaWAdj2mMGTmLy2EK04ideXAdj2mKG4DI0YEM02idbOmNyYAc0YDI0YEM0TnIa1Adj2mKG4DI0YEM02idbOmNyYAc0YDI0YEIiVpGOGicaGicaGicaGpc9ZDMC+cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAwnVBIiGzgf0ys1Hz2vUDd0I','y3jLyxrLrwXLBwvUDa','cIaGicaGidXKAxyGy2XHC3m9iNzHCMLHBNqTz3jVDxbPBMCTBwfUywDLCIi+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwHLywrLCIi+cIaGicaGicaGica8Adm+twfUywDLifrHC2SGr3jVDxa8l2GZpGOGicaGicaGicaGpgj1DhrVBIbJBgfZCZ0IDMDTlwnSB3nLlwj0BIiGDgL0Bgu9iKnSB3nLiJ4kicaGicaGicaGicaGphn2zYb2Awv3qM94psiWidaGmJqGmJqIihDPzhrOpsiYmciGAgvPz2H0psiYmciGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGicaGicaGicaGpc9ZDMC+cIaGicaGicaGica8l2j1DhrVBJ4kicaGicaGica8l2rPDJ4kcIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwnVBNrLBNqIpGOGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxnLy3rPB24GDMDTlwDYB3vWzwqIpGOGicaGicaGicaGica8zgL2ignSyxnZpsj2z20TC2vJDgLVBI1OzwfKzxiIpGOGicaGicaGicaGicaGidXZCgfUignSyxnZpsj2z20TC2vJDgLVBI10AxrSzsi+r3jVDxbLzcbwyxjPyw50CZWVC3bHBJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24Ty291BNqIpG','CMvTB3zLvgfZA0zYB21hCM91Ca','C3r5Bgu','BgvMDa','cIaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwnHCMqG'];_0x51eb=function(){return _0x201011;};return _0x51eb();}const dragState={'draggedTaskId':null,'draggedElement':null,'sourceGroupId':null,'isDragging':![]},AGENT_ICONS={'claude':_0x1aeeb0(0x174),'codex':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22currentColor\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20aria-hidden=\x22true\x22><path\x20d=\x22M22.2819\x209.8211a5.9847\x205.9847\x200\x200\x200-.5157-4.9108\x206.0462\x206.0462\x200\x200\x200-6.5098-2.9A6.0651\x206.0651\x200\x200\x200\x204.9807\x204.1818a5.9847\x205.9847\x200\x200\x200-3.9977\x202.9\x206.0462\x206.0462\x200\x200\x200\x20.7427\x207.0966\x205.98\x205.98\x200\x200\x200\x20.511\x204.9107\x206.051\x206.051\x200\x200\x200\x206.5146\x202.9001A5.9847\x205.9847\x200\x200\x200\x2013.2599\x2024a6.0557\x206.0557\x200\x200\x200\x205.7718-4.2058\x205.9894\x205.9894\x200\x200\x200\x203.9977-2.9001\x206.0557\x206.0557\x200\x200\x200-.7475-7.0729zm-9.022\x2012.6081a4.4755\x204.4755\x200\x200\x201-2.8764-1.0408l.1419-.0804\x204.7783-2.7582a.7948.7948\x200\x200\x200\x20.3927-.6813v-6.7369l2.02\x201.1686a.071.071\x200\x200\x201\x20.038.052v5.5826a4.504\x204.504\x200\x200\x201-4.4945\x204.4944zm-9.6607-4.1254a4.4708\x204.4708\x200\x200\x201-.5346-3.0137l.142.0852\x204.783\x202.7582a.7712.7712\x200\x200\x200\x20.7806\x200l5.8428-3.3685v2.3324a.0804.0804\x200\x200\x201-.0332.0615L9.74\x2019.9502a4.4992\x204.4992\x200\x200\x201-6.1408-1.6464zM2.3408\x207.8956a4.485\x204.485\x200\x200\x201\x202.3655-1.9728V11.6a.7664.7664\x200\x200\x200\x20.3879.6765l5.8144\x203.3543-2.0201\x201.1685a.0757.0757\x200\x200\x201-.071\x200l-4.8303-2.7865A4.504\x204.504\x200\x200\x201\x202.3408\x207.872zm16.5963\x203.8558L13.1038\x208.364\x2015.1192\x207.2a.0757.0757\x200\x200\x201\x20.071\x200l4.8303\x202.7913a4.4944\x204.4944\x200\x200\x201-.6765\x208.1042v-5.6772a.79.79\x200\x200\x200-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759\x200\x200\x200-.7854\x200L9.409\x209.2297V6.8974a.0662.0662\x200\x200\x201\x20.0284-.0615l4.8303-2.7866a4.4992\x204.4992\x200\x200\x201\x206.6802\x204.66zM8.3065\x2012.863l-2.02-1.1638a.0804.0804\x200\x200\x201-.038-.0567V6.0742a4.4992\x204.4992\x200\x200\x201\x207.3757-3.4537l-.142.0805L8.704\x205.459a.7948.7948\x200\x200\x200-.3927.6813zm1.0976-2.3654l2.602-1.4998\x202.6069\x201.4998v2.9994l-2.5974\x201.4997-2.6067-1.4997Z\x22/></svg>','gemini':'<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20aria-hidden=\x22true\x22><path\x20d=\x22M12\x202L9.09\x209.09\x202\x2012l7.09\x202.91L12\x2022l2.91-7.09L22\x2012l-7.09-2.91z\x22></path></svg>','unknown':_0x1aeeb0(0x124)},STATUS_ICONS={'running':_0x1aeeb0(0x12c),'completed':_0x1aeeb0(0x154),'failed':_0x1aeeb0(0x11d),'staged':_0x1aeeb0(0x12f),'queued':_0x1aeeb0(0x145)};export class VariantGroupingManager{constructor(_0x5f2ac1={}){const _0x2c2ea4=_0x1aeeb0;this[_0x2c2ea4(0x1a2)]=null,this[_0x2c2ea4(0x11f)]=_0x5f2ac1[_0x2c2ea4(0x11f)]||(()=>{}),this['onAddExistingTask']=_0x5f2ac1['onAddExistingTask']||(()=>{}),this[_0x2c2ea4(0x191)]=[],this[_0x2c2ea4(0x12e)]=_0x5f2ac1[_0x2c2ea4(0x12e)]||null,this[_0x2c2ea4(0x185)]=![];}['init'](_0x200e9f,_0x4a5125,_0x199d37){const _0x45486f=_0x1aeeb0;this['container']=_0x200e9f,this[_0x45486f(0x191)]=_0x4a5125,this[_0x45486f(0x12e)]=_0x199d37,this[_0x45486f(0x15b)](),this[_0x45486f(0x197)]();}[_0x1aeeb0(0x114)](_0x591e7a){const _0x8e96a4=_0x1aeeb0,_0x1d7e8d=new Map(_0x591e7a['map'](_0x5df6bb=>[_0x5df6bb[_0x8e96a4(0x131)],_0x5df6bb]));this['tasks']=this[_0x8e96a4(0x191)][_0x8e96a4(0x18a)](_0x4cff41=>{const _0x50f5eb=_0x8e96a4,_0xa438cd=_0x1d7e8d[_0x50f5eb(0x18e)](_0x4cff41[_0x50f5eb(0x131)]);return _0xa438cd?_0xa438cd:_0x4cff41;});for(const _0x5e7427 of _0x591e7a){!this[_0x8e96a4(0x191)]['some'](_0x345c31=>_0x345c31['taskId']===_0x5e7427['taskId'])&&this[_0x8e96a4(0x191)][_0x8e96a4(0x16f)](_0x5e7427);}this['isOpen']&&this[_0x8e96a4(0x15b)]();}['open'](){const _0x4800c0=_0x1aeeb0;this[_0x4800c0(0x185)]=!![],this[_0x4800c0(0x15b)](),this[_0x4800c0(0x1a2)]?.[_0x4800c0(0x122)][_0x4800c0(0x142)]('open');}[_0x1aeeb0(0x1aa)](){const _0x5a026d=_0x1aeeb0;this[_0x5a026d(0x185)]=![],this[_0x5a026d(0x1a2)]?.[_0x5a026d(0x122)]['remove']('open');}['render'](){const _0x5ef5c1=_0x1aeeb0;if(!this[_0x5ef5c1(0x1a2)])return;const _0x350bcf=this[_0x5ef5c1(0x191)][_0x5ef5c1(0x15a)](_0x553096=>_0x553096[_0x5ef5c1(0x12e)]===this[_0x5ef5c1(0x12e)])['sort']((_0x1e1a58,_0x4ccfcb)=>(_0x1e1a58[_0x5ef5c1(0x177)]??0x0)-(_0x4ccfcb[_0x5ef5c1(0x177)]??0x0)),_0x47ae31=this[_0x5ef5c1(0x191)][_0x5ef5c1(0x15a)](_0x40676c=>!_0x40676c[_0x5ef5c1(0x12e)]||_0x40676c['groupId']!==this['groupId']);this['container'][_0x5ef5c1(0x146)]=_0x5ef5c1(0x13d)+_0x350bcf['length']+_0x5ef5c1(0x14c)+(_0x350bcf[_0x5ef5c1(0x139)]===0x0?_0x5ef5c1(0x1a0):_0x350bcf[_0x5ef5c1(0x18a)]((_0x371479,_0x185022)=>this[_0x5ef5c1(0x130)](_0x371479,_0x185022,!![]))[_0x5ef5c1(0x15e)](''))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-divider\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-divider-line\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-divider-text\x22>Drag\x20to\x20move</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-divider-line\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section\x20vgm-ungrouped\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-title\x22>Ungrouped\x20Tasks</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-count\x22>'+_0x47ae31['length']+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-drop-zone\x20vgm-ungrouped-zone\x22\x20data-zone=\x22ungrouped\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x47ae31[_0x5ef5c1(0x139)]===0x0?_0x5ef5c1(0x136):_0x47ae31[_0x5ef5c1(0x18a)]((_0x4f614e,_0x4f0ac1)=>this['renderVariantCard'](_0x4f614e,_0x4f0ac1,![]))[_0x5ef5c1(0x15e)](''))+_0x5ef5c1(0x12d);}[_0x1aeeb0(0x130)](_0xb1527,_0x4e0aed,_0xa47935){const _0x40f1a9=_0x1aeeb0,_0x343f88=_0xb1527[_0x40f1a9(0x113)]?.[_0x40f1a9(0x15c)]||_0xb1527[_0x40f1a9(0x113)]?.['default_agent']||'claude',_0xb6c04b=AGENT_ICONS[_0x343f88[_0x40f1a9(0x15d)]()]||AGENT_ICONS[_0x40f1a9(0x159)],_0x5f4fbb=STATUS_ICONS[_0xb1527[_0x40f1a9(0x120)]]||'',_0x5ee7e6=_0x40f1a9(0x1ab)+(_0xb1527[_0x40f1a9(0x120)]||_0x40f1a9(0x143)),_0x479a82=_0xb1527[_0x40f1a9(0x184)]?'<span\x20class=\x22vgm-badge\x20vgm-badge-winner\x22\x20title=\x22Winner\x22>★</span>':'',_0x597a29=_0xb1527[_0x40f1a9(0x165)]?_0x40f1a9(0x151):'';return _0x40f1a9(0x141)+_0x5ee7e6+_0x40f1a9(0x127)+_0xb1527[_0x40f1a9(0x131)]+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-is-grouped=\x22'+_0xa47935+_0x40f1a9(0x194)+_0x4e0aed+_0x40f1a9(0x13b)+_0x343f88[_0x40f1a9(0x15d)]()+_0x40f1a9(0x112)+_0xb6c04b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-variant-info\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-variant-name\x22>'+Utils[_0x40f1a9(0x167)](_0xb1527['name']||_0x40f1a9(0x178)+_0xb1527['taskId'][_0x40f1a9(0x1a3)](-0x6))+_0x40f1a9(0x118)+Utils[_0x40f1a9(0x167)](_0x343f88)+_0x40f1a9(0x199)+(_0xb1527['status']||'unknown')+_0x40f1a9(0x12b)+_0x479a82+_0x40f1a9(0x152)+_0x597a29+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-variant-status\x20'+_0x5ee7e6+_0x40f1a9(0x112)+_0x5f4fbb+_0x40f1a9(0x17f)+(_0xa47935?_0x40f1a9(0x123):_0x40f1a9(0x160))+_0x40f1a9(0x16d)+_0xb1527[_0x40f1a9(0x131)]+_0x40f1a9(0x179)+(_0xa47935?_0x40f1a9(0x11e):_0x40f1a9(0x142))+_0x40f1a9(0x117)+(_0xa47935?_0x40f1a9(0x12a):_0x40f1a9(0x171))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';}['attachEventListeners'](){const _0x26a7df=_0x1aeeb0;if(!this[_0x26a7df(0x1a2)])return;this[_0x26a7df(0x1a2)]['addEventListener']('click',_0x2ebf18=>{const _0x7df8c8=_0x26a7df;_0x2ebf18['target'][_0x7df8c8(0x19e)](_0x7df8c8(0x155))&&(this[_0x7df8c8(0x1aa)](),this['onGroupChange'](this['tasks'])),_0x2ebf18[_0x7df8c8(0x148)]['closest']('.vgm-add-existing-btn')&&(this['close'](),this[_0x7df8c8(0x156)](this[_0x7df8c8(0x12e)]));}),this[_0x26a7df(0x1a2)]['addEventListener'](_0x26a7df(0x175),async _0x50a490=>{const _0x38856f=_0x26a7df,_0x5a38da=_0x50a490['target'][_0x38856f(0x19e)](_0x38856f(0x17d));if(!_0x5a38da)return;const _0x2fc608=_0x5a38da['dataset']['taskId'],_0xa2d8c=_0x5a38da[_0x38856f(0x19f)][_0x38856f(0x162)];try{_0xa2d8c===_0x38856f(0x11e)?await this[_0x38856f(0x170)](_0x2fc608):await this['addToGroup'](_0x2fc608);}catch(_0x41df39){console[_0x38856f(0x180)](_0x38856f(0x176),_0x41df39),Utils[_0x38856f(0x150)](_0x41df39[_0x38856f(0x181)]||'Failed\x20to\x20update\x20group',_0x38856f(0x180));}}),this['container'][_0x26a7df(0x135)](_0x26a7df(0x153),_0x17cb2a=>this[_0x26a7df(0x14e)](_0x17cb2a)),this[_0x26a7df(0x1a2)][_0x26a7df(0x135)](_0x26a7df(0x17a),_0x6d04a8=>this['handleDragEnd'](_0x6d04a8)),this[_0x26a7df(0x1a2)]['addEventListener'](_0x26a7df(0x195),_0x417b13=>this['handleDragOver'](_0x417b13)),this[_0x26a7df(0x1a2)][_0x26a7df(0x135)](_0x26a7df(0x14a),_0xa17cd9=>this[_0x26a7df(0x137)](_0xa17cd9)),this[_0x26a7df(0x1a2)]['addEventListener'](_0x26a7df(0x111),_0x2a76a9=>this['handleDrop'](_0x2a76a9));}[_0x1aeeb0(0x14e)](_0x569db5){const _0x536546=_0x1aeeb0,_0x11295f=_0x569db5['target'][_0x536546(0x19e)](_0x536546(0x17e));if(!_0x11295f)return;dragState[_0x536546(0x18c)]=_0x11295f[_0x536546(0x19f)][_0x536546(0x131)],dragState[_0x536546(0x19b)]=_0x11295f,dragState['sourceGroupId']=_0x11295f[_0x536546(0x19f)][_0x536546(0x173)]===_0x536546(0x166)?this[_0x536546(0x12e)]:null,dragState[_0x536546(0x158)]=!![],_0x11295f[_0x536546(0x122)][_0x536546(0x142)](_0x536546(0x19a)),_0x569db5[_0x536546(0x132)]['effectAllowed']='move',_0x569db5[_0x536546(0x132)][_0x536546(0x16a)](_0x536546(0x138),_0x11295f[_0x536546(0x19f)][_0x536546(0x131)]),this[_0x536546(0x1a2)][_0x536546(0x122)][_0x536546(0x142)]('is-dragging');}[_0x1aeeb0(0x13a)](_0x4ef462){const _0x109de7=_0x1aeeb0,_0xb68c5c=_0x4ef462['target'][_0x109de7(0x19e)](_0x109de7(0x17e));_0xb68c5c&&_0xb68c5c[_0x109de7(0x122)]['remove']('dragging'),this[_0x109de7(0x1a2)][_0x109de7(0x17b)]('.drag-over,\x20.drop-indicator')['forEach'](_0x3a74e2=>{const _0x606309=_0x109de7;_0x3a74e2['classList'][_0x606309(0x11e)]('drag-over',_0x606309(0x1a9),'drop-before','drop-after');}),this[_0x109de7(0x1a2)]['classList'][_0x109de7(0x11e)]('is-dragging'),dragState[_0x109de7(0x158)]=![],dragState[_0x109de7(0x18c)]=null,dragState[_0x109de7(0x19b)]=null,dragState[_0x109de7(0x125)]=null;}[_0x1aeeb0(0x1a1)](_0x1a5974){const _0x43657e=_0x1aeeb0;_0x1a5974['preventDefault'](),_0x1a5974['dataTransfer']['dropEffect']=_0x43657e(0x164);const _0x39a33a=_0x1a5974[_0x43657e(0x148)][_0x43657e(0x19e)](_0x43657e(0x190)),_0x56a332=_0x1a5974[_0x43657e(0x148)][_0x43657e(0x19e)](_0x43657e(0x17e));this['container'][_0x43657e(0x17b)](_0x43657e(0x190))['forEach'](_0x209118=>{const _0x40e630=_0x43657e;_0x209118[_0x40e630(0x122)][_0x40e630(0x18d)](_0x40e630(0x133),_0x209118===_0x39a33a);});if(_0x56a332&&_0x56a332!==dragState[_0x43657e(0x19b)]){const _0x31fbff=_0x56a332[_0x43657e(0x1a8)](),_0x26c401=_0x31fbff[_0x43657e(0x192)]+_0x31fbff[_0x43657e(0x116)]/0x2,_0x3f70e4=_0x1a5974['clientY']<_0x26c401;this[_0x43657e(0x1a2)][_0x43657e(0x17b)](_0x43657e(0x17e))[_0x43657e(0x1a6)](_0x166a29=>{const _0x3696a0=_0x43657e;_0x166a29!==_0x56a332&&_0x166a29[_0x3696a0(0x122)]['remove']('drop-before',_0x3696a0(0x161));}),_0x56a332[_0x43657e(0x122)][_0x43657e(0x18d)](_0x43657e(0x163),_0x3f70e4),_0x56a332[_0x43657e(0x122)][_0x43657e(0x18d)]('drop-after',!_0x3f70e4);}}[_0x1aeeb0(0x137)](_0x39ccb3){const _0x4615ef=_0x1aeeb0,_0x2c8239=_0x39ccb3['target'][_0x4615ef(0x19e)](_0x4615ef(0x190));_0x2c8239&&!_0x2c8239['contains'](_0x39ccb3[_0x4615ef(0x129)])&&_0x2c8239[_0x4615ef(0x122)][_0x4615ef(0x11e)](_0x4615ef(0x133));}async[_0x1aeeb0(0x128)](_0x46db1c){const _0x375037=_0x1aeeb0;_0x46db1c[_0x375037(0x11b)]();const _0x2fc784=_0x46db1c[_0x375037(0x148)]['closest'](_0x375037(0x190)),_0x3b12e1=_0x46db1c[_0x375037(0x148)][_0x375037(0x19e)]('.vgm-variant-card'),_0x1cda15=_0x46db1c[_0x375037(0x132)][_0x375037(0x15f)](_0x375037(0x138));if(!_0x2fc784||!_0x1cda15)return;this[_0x375037(0x1a2)]['querySelectorAll']('.drag-over,\x20.drop-before,\x20.drop-after')[_0x375037(0x1a6)](_0x179c4e=>{const _0x230330=_0x375037;_0x179c4e['classList'][_0x230330(0x11e)](_0x230330(0x133),_0x230330(0x163),_0x230330(0x161));});const _0xf920d1=_0x2fc784['dataset'][_0x375037(0x19c)],_0x4ca0b1=_0xf920d1===_0x375037(0x119),_0xcba5fb=dragState[_0x375037(0x125)]===this[_0x375037(0x12e)];try{if(_0x4ca0b1&&!_0xcba5fb){let _0x368d3f=this[_0x375037(0x191)][_0x375037(0x15a)](_0x5f4d23=>_0x5f4d23[_0x375037(0x12e)]===this[_0x375037(0x12e)])[_0x375037(0x139)];if(_0x3b12e1){const _0x2fae64=_0x3b12e1[_0x375037(0x19f)][_0x375037(0x131)],_0x24bd5d=this['tasks'][_0x375037(0x157)](_0x28a110=>_0x28a110[_0x375037(0x131)]===_0x2fae64);if(_0x24bd5d?.[_0x375037(0x177)]!==undefined){const _0x4988fe=_0x3b12e1['getBoundingClientRect'](),_0x1c73d7=_0x46db1c[_0x375037(0x14f)]<_0x4988fe[_0x375037(0x192)]+_0x4988fe['height']/0x2;_0x368d3f=_0x24bd5d[_0x375037(0x177)]+(_0x1c73d7?0x0:0x1);}}await this[_0x375037(0x187)](_0x1cda15,_0x368d3f);}else{if(!_0x4ca0b1&&_0xcba5fb)await this[_0x375037(0x170)](_0x1cda15);else _0x4ca0b1&&_0xcba5fb&&_0x3b12e1&&await this[_0x375037(0x189)](_0x1cda15,_0x3b12e1,_0x46db1c['clientY']);}}catch(_0x5bde90){console['error'](_0x375037(0x1a4),_0x5bde90),Utils[_0x375037(0x150)](_0x5bde90[_0x375037(0x181)]||_0x375037(0x182),_0x375037(0x180));}}async[_0x1aeeb0(0x187)](_0x23ea89,_0x3fb345){const _0x3c6770=_0x1aeeb0,_0x3cb2c6=this[_0x3c6770(0x191)][_0x3c6770(0x157)](_0x3e76b1=>_0x3e76b1[_0x3c6770(0x131)]===_0x23ea89);if(!_0x3cb2c6)return;_0x3fb345===undefined&&(_0x3fb345=this[_0x3c6770(0x191)]['filter'](_0x247e4e=>_0x247e4e['groupId']===this[_0x3c6770(0x12e)])[_0x3c6770(0x139)]),!this['groupId']&&(this[_0x3c6770(0x12e)]=API[_0x3c6770(0x168)](),await API[_0x3c6770(0x14b)]({'groupId':this[_0x3c6770(0x12e)]})),await API[_0x3c6770(0x14d)](_0x23ea89,this['groupId'],_0x3fb345),_0x3cb2c6[_0x3c6770(0x12e)]=this['groupId'],_0x3cb2c6[_0x3c6770(0x177)]=_0x3fb345,this[_0x3c6770(0x15b)](),this[_0x3c6770(0x11f)](this[_0x3c6770(0x191)]);}async[_0x1aeeb0(0x170)](_0x21d9e9){const _0x168658=_0x1aeeb0,_0x3261f6=this['tasks'][_0x168658(0x157)](_0x1aab87=>_0x1aab87[_0x168658(0x131)]===_0x21d9e9);if(!_0x3261f6)return;await API[_0x168658(0x13e)](_0x21d9e9),_0x3261f6[_0x168658(0x12e)]=null,_0x3261f6[_0x168658(0x177)]=null,this[_0x168658(0x15b)](),this['onGroupChange'](this['tasks']);}async[_0x1aeeb0(0x189)](_0x19e7ba,_0x41dfee,_0x2fe435){const _0x580b6e=_0x1aeeb0,_0x58bbd9=this[_0x580b6e(0x191)]['find'](_0x56df26=>_0x56df26['taskId']===_0x19e7ba),_0x4db385=_0x41dfee[_0x580b6e(0x19f)][_0x580b6e(0x131)],_0x4d4a6e=this[_0x580b6e(0x191)][_0x580b6e(0x157)](_0x59ca60=>_0x59ca60['taskId']===_0x4db385);if(!_0x58bbd9||!_0x4d4a6e||_0x58bbd9['taskId']===_0x4d4a6e[_0x580b6e(0x131)])return;const _0x4ee2db=_0x41dfee['getBoundingClientRect'](),_0x544f14=_0x2fe435<_0x4ee2db['top']+_0x4ee2db[_0x580b6e(0x116)]/0x2;let _0x1bf3dd=_0x4d4a6e[_0x580b6e(0x177)]??0x0;if(!_0x544f14)_0x1bf3dd++;if((_0x58bbd9[_0x580b6e(0x177)]??0x0)<(_0x4d4a6e[_0x580b6e(0x177)]??0x0))_0x1bf3dd--;if(_0x1bf3dd===_0x58bbd9[_0x580b6e(0x177)])return;await API[_0x580b6e(0x14d)](_0x19e7ba,this['groupId'],_0x1bf3dd);const _0x5ae1e=this['tasks'][_0x580b6e(0x15a)](_0x5ea55d=>_0x5ea55d[_0x580b6e(0x12e)]===this[_0x580b6e(0x12e)])['sort']((_0x3dcf01,_0x4d8a39)=>(_0x3dcf01[_0x580b6e(0x177)]??0x0)-(_0x4d8a39[_0x580b6e(0x177)]??0x0)),_0x5d907e=_0x5ae1e['findIndex'](_0x5c527f=>_0x5c527f[_0x580b6e(0x131)]===_0x19e7ba);_0x5d907e!==-0x1&&_0x5ae1e[_0x580b6e(0x18f)](_0x5d907e,0x1),_0x5ae1e[_0x580b6e(0x18f)](_0x1bf3dd,0x0,_0x58bbd9),_0x5ae1e[_0x580b6e(0x1a6)]((_0x440929,_0x43c009)=>{const _0x47bce7=_0x580b6e;_0x440929[_0x47bce7(0x177)]=_0x43c009;}),this[_0x580b6e(0x15b)](),this[_0x580b6e(0x11f)](this[_0x580b6e(0x191)]);}}export function initializeTabDragDrop(_0x2fb3fa,_0x35bbdf,_0x59b68e,_0x154095={}){const _0x50e7cb=_0x1aeeb0;if(!_0x2fb3fa)return;const {onReorder:_0x2e47ea,onRemove:_0x60ef1d}=_0x154095,_0x10efbe=_0x2fb3fa[_0x50e7cb(0x17b)](_0x50e7cb(0x16c));_0x10efbe[_0x50e7cb(0x1a6)]((_0x5a058a,_0x2d3942)=>{const _0x2424b1=_0x50e7cb;_0x5a058a[_0x2424b1(0x17c)](_0x2424b1(0x134),_0x2424b1(0x166)),_0x5a058a[_0x2424b1(0x19f)][_0x2424b1(0x183)]=_0x2d3942,_0x5a058a[_0x2424b1(0x135)](_0x2424b1(0x153),_0x435278=>{const _0x14b035=_0x2424b1;_0x435278[_0x14b035(0x132)]['effectAllowed']=_0x14b035(0x164),_0x435278[_0x14b035(0x132)][_0x14b035(0x16a)](_0x14b035(0x138),_0x5a058a['dataset'][_0x14b035(0x131)]),_0x5a058a[_0x14b035(0x122)][_0x14b035(0x142)](_0x14b035(0x19a)),_0x2fb3fa[_0x14b035(0x122)][_0x14b035(0x142)]('is-dragging');}),_0x5a058a[_0x2424b1(0x135)](_0x2424b1(0x17a),()=>{const _0x2e3951=_0x2424b1;_0x5a058a['classList']['remove'](_0x2e3951(0x19a)),_0x2fb3fa[_0x2e3951(0x122)][_0x2e3951(0x11e)]('is-dragging'),_0x2fb3fa[_0x2e3951(0x17b)](_0x2e3951(0x144))[_0x2e3951(0x1a6)](_0x1883b4=>{const _0x2d815a=_0x2e3951;_0x1883b4['classList']['remove']('drop-indicator',_0x2d815a(0x163),_0x2d815a(0x161));});}),_0x5a058a[_0x2424b1(0x135)](_0x2424b1(0x195),_0x3112ba=>{const _0xb6ffec=_0x2424b1;_0x3112ba[_0xb6ffec(0x11b)](),_0x3112ba[_0xb6ffec(0x132)]['dropEffect']=_0xb6ffec(0x164);if(_0x5a058a[_0xb6ffec(0x122)][_0xb6ffec(0x115)]('dragging'))return;const _0x13f002=_0x5a058a[_0xb6ffec(0x1a8)](),_0x4fcece=_0x13f002[_0xb6ffec(0x140)]+_0x13f002[_0xb6ffec(0x188)]/0x2,_0x441cf3=_0x3112ba[_0xb6ffec(0x1a7)]<_0x4fcece;_0x10efbe[_0xb6ffec(0x1a6)](_0x2d00e5=>_0x2d00e5[_0xb6ffec(0x122)][_0xb6ffec(0x11e)](_0xb6ffec(0x163),_0xb6ffec(0x161))),_0x5a058a[_0xb6ffec(0x122)]['add'](_0x441cf3?_0xb6ffec(0x163):_0xb6ffec(0x161));}),_0x5a058a['addEventListener'](_0x2424b1(0x14a),()=>{const _0x20522d=_0x2424b1;_0x5a058a['classList'][_0x20522d(0x11e)](_0x20522d(0x163),_0x20522d(0x161));}),_0x5a058a[_0x2424b1(0x135)](_0x2424b1(0x111),async _0x2232f2=>{const _0x33c135=_0x2424b1;_0x2232f2['preventDefault']();const _0x50044b=_0x2232f2[_0x33c135(0x132)][_0x33c135(0x15f)](_0x33c135(0x138)),_0x534acf=_0x5a058a[_0x33c135(0x19f)][_0x33c135(0x131)];if(_0x50044b===_0x534acf)return;const _0x2129ea=_0x5a058a[_0x33c135(0x1a8)](),_0x54d140=_0x2232f2[_0x33c135(0x1a7)]<_0x2129ea['left']+_0x2129ea[_0x33c135(0x188)]/0x2;_0x5a058a['classList'][_0x33c135(0x11e)](_0x33c135(0x163),'drop-after'),_0x2e47ea&&await _0x2e47ea(_0x50044b,_0x534acf,_0x54d140);});});const _0x23147b=document[_0x50e7cb(0x13c)](_0x50e7cb(0x1a5));return _0x23147b['className']=_0x50e7cb(0x198),_0x23147b['innerHTML']=_0x50e7cb(0x11c),_0x23147b[_0x50e7cb(0x13f)]['display']=_0x50e7cb(0x196),_0x23147b['addEventListener'](_0x50e7cb(0x195),_0x269ca3=>{const _0x54679f=_0x50e7cb;_0x269ca3[_0x54679f(0x11b)](),_0x23147b['classList'][_0x54679f(0x142)](_0x54679f(0x133));}),_0x23147b[_0x50e7cb(0x135)](_0x50e7cb(0x14a),()=>{const _0x3d658e=_0x50e7cb;_0x23147b[_0x3d658e(0x122)]['remove'](_0x3d658e(0x133));}),_0x23147b[_0x50e7cb(0x135)](_0x50e7cb(0x111),async _0xed548c=>{const _0x5a0624=_0x50e7cb;_0xed548c['preventDefault'](),_0x23147b[_0x5a0624(0x122)][_0x5a0624(0x11e)](_0x5a0624(0x133));const _0x325c61=_0xed548c[_0x5a0624(0x132)][_0x5a0624(0x15f)](_0x5a0624(0x138));_0x60ef1d&&await _0x60ef1d(_0x325c61);}),_0x2fb3fa[_0x50e7cb(0x135)](_0x50e7cb(0x153),()=>{const _0x44d95d=_0x50e7cb;_0x35bbdf['length']>0x1&&(_0x23147b['style']['display']=_0x44d95d(0x186));}),_0x2fb3fa[_0x50e7cb(0x135)]('dragend',()=>{const _0xc1a7f=_0x50e7cb;_0x23147b['style'][_0xc1a7f(0x1ac)]=_0xc1a7f(0x196);}),_0x2fb3fa[_0x50e7cb(0x169)](_0x23147b),{'destroy':()=>{const _0x38a7c1=_0x50e7cb;_0x23147b[_0x38a7c1(0x11e)]();}};}export default VariantGroupingManager;
|
|
1
|
+
function _0x4e62(){const _0x4b24c0=['zMLSDgvY','lMrYB3aTAw5KAwnHDg9Y','lNrHC2STDgfI','AgfUzgXLrhjHz0XLyxzL','yxr0ywnOrxzLBNrmAxn0zw5LCNm','BgvMDa','DxbKyxrLvgfZA0DYB3vW','nJaYntj3rvzbzum','y2XVC2u','iGOGicaGicaGicaGigrHDgeTAxmTz3jVDxbLzd0I','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtmUnZGGnI4Yoc00lJuGnc41ys43ns43nsaWidaGms0XlJa2idbSltiTmMeUnZuUnZuGmcaXideGms4WnI0XlJa2tdyUnZuGos4XowWZlJK3ltmUotDHlJC1lJC1idaGmsaXideUmdyGms4WnNOIlZ48l3n2zZ4','z2v0qM91BMrPBMDdBgLLBNrszwn0','zMLUzeLUzgv4','zhjVCc1HzNrLCG','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20Tz3jVDxbLzc16B25LiIbKyxrHlxPVBMu9iMDYB3vWzwqIpGOGicaGicaGicaGicaGia','D2LKDgG','cIaGicaGicaGica','zhjHz2DLzfrHC2Tjza','iJ4kicaGicaGicaGia','C291CMnLr3jVDxbjza','AgfUzgXLrhjVCa','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtrbnIa2idaGmsaXidGGmMe2idyGmcaWideGmcaXmNPTms02lJvwneG3DJqUnwWZidmGms41lteUns0YlJuTmI41EIiVpJWVC3zNpG','z3jVDxbjBMrLEa','Aw5KzxG','DgfZA3m','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTC3rHDhvZia','zhjVCc1IzwzVCMu','Dhj1zq','AxneCMfNz2LUzW','lNzNBs1KCM9WlxPVBMu','CMvSyxrLzfrHCMDLDa','zhjVCevMzMvJDa','z2v0rgf0yq','zhjVCc1PBMrPy2f0B3i','AgvPz2H0','zhjHz292zxi','y2XHC3nmAxn0','vgfZAYa','y2XPy2S','lMrYywCTB3zLCIWGlMrYB3aTAw5KAwnHDg9Y','y2XVC2vZDa','zMLUza','pgrPDIbJBgfZCZ0IDMDTlwvTChr5lwHPBNqIpKrYywCGDMfYAwfUDhmGAgvYzsb0BYbYzw1VDMuGzNjVBsbNCM91CdWVzgL2pG','zM9YrwfJAa','CxvLCNLtzwXLy3rVCKfSBa','AxnpCgvU','zwzMzwn0qwXSB3DLza','B25hCM91CenOyw5Nzq','zhjHz2DHyMXL','rMfPBgvKihrVig1VDMuGDMfYAwfUDa','Dg9W','DgfZA0LK','n3PKrgnzvW','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0ItteYidjmos4Wosa5lJa5idiGmtjSnY4WosaYlJKXtdeYidiYBdiUoteTnY4WouWYmIaXmMWTnY4Wos0YlJKXEIi+pc9WyxrOpJWVC3zNpG','phn2zYb2Awv3qM94psiWidaGmtyGmtyIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IBtmUmti3ideWlJyWncaZlJeZns0XlJC2lJa1mY0UmtuZls4WntmTlJa4nuG2lJeXBc0Unti1ls4WmZiTms43oteTlJa0oc0XlJu1nc0Umdy1lteUnta1ls4Woc0UmZGTlJa4muWWidCUodmYBc4WmZyTlJiZnc4ZmI0UmJe0lJq1ns4WncaXlJaWos4WnJKGms41mtmUmta1ideUmdK3lJa2ncaXlJyYnI4Xn2GUmJu5Bc4WmZyTlJeWns0UmdG5ls4WnJuTlJa2oc0Umdy0lteUnty2lteUmdyYlteUnJK1lteUmtiXls44odCTlJy0nI0UndGTlJmYnY0UmJqZls4ZmdyTlJeWnc0UnJCUndm1ls40oc41oduUmdqUmtuUmdqUntKZlJq1nIaXlJi2nY45odeGms42ntqGms4YmtGUmJqYlJiWmI4WotCTlJa2oc4WmtiTlJa0os0Umta5ls4XodeTlJKTms42mJyTlJK2lteUnJu1ls40mJGTlJy4nI0UmteZls40mtfHmIaYidaGmcaXls4WnJGTlJq4ngWUndK2ls42nZrmnc40ndyGmgWUnJyYlJa4os4YnZKUmJqYlJqXms45nc42nJyGms40ocaXlJaZmYaYlJaXnc4ZmdiUntK3lJe2mI41ntmUmdyUmtDOlJeWnxyTlJa5n2WUmdG1lteUmtm0lJe1nY0XlJm5mI4XntqTms43otiUmduYls41mdqUmJuTlJyWns40otCTlJmYnY4ZodCUmtG2lJmXos40ntyTlJa0ns4YotqTlJe5ideUmJmTlJm3ideUotmTlJi0mYaXlJi5Ac4XndjSlJe2ms0UmtyUnJu0ls44nJGGms4WotCTms4ZnZiUndG0ls41nduUnty1ls42mdeUmZyZls4YodDOlJy4nMWUnta1lJC1ms0UmJi2lJC3ns0UnZa3lJG5ns0UntG1lJC1os0Uodm5ideUmtmTlJuYnc45mdqUmdq4lJa3mI4XmJuTlJaXmIaXlJG5nY0UndaZideUmdi0ls4XodyGms4YmJmTlJiXlJu1mY4YntGUmdyUmJyZls4YmtGUntm2lteUmZa3lJmYmY0XlJuZmY4ZmdCTmI4YodqUntqTlJaYoc4WmI4WmZiUmdqGms4WmJKUmdK4lJq0lJaYngGXlJa3n2WYlJaWns4Xns41mJuUmZq2lJmXns40mJqTlJa1mY4ZmJmTlJGWnY40mteTmY42mZeTlJG2mY0UodCYls4YmtHOls4XmNyUmdCZBc43mJyUnZeGms4ZmZeGms4YmdiGms42nJCGms41ns4WodqUmZGZls4YmtqUmZaYls4YmJyTlJaZmI0XlJq2nc0XlJeWms0Unty1ls40otCTms4Yoc0XlJa3n2GTlJa4nhyUmteZBc4YotuUndmYideUntu3idiUmZqUmdGUnZe4ls4XmtiUmJm0ls40mdqUmtqXls40ndqTlJa4ls45mteTms4Yoc0UotqTms40nc0UnZu5lteUmJKXls4WotmUmduZls40ndGGnc44mJeTlJiXlJi0nI0UndG0lJe4nI0UndaZls4ZmdCTlJiXnc0UndK2lJiXnc0UotGUmJu4lteUmJGUmJeTms4WmtyUmtKTms4YnJmUmteYls40mI0Umda4ls4WmJGTlJa5mI4WmtiTlJK1mYaXlJmWnY0XlJq0ocaXlJK1nY0XlJe0nIaXlJiYnY0UmJC0lJeWos0UndC3ls4YndCUmdq1ls40nc4YnJyTlJm5ideUntG2ltiUmde4lJK1nI0XlJi1lJyXnY0UnZiZls4WmdqTlJeWnwGTlJaZnMWTnc4YmtiGnc4Ymtj6iI8+pc9ZDMC+','mtuZvvndsgTe','C3r5Bgu','iGOGicaGicaGicaGigrYywDNywjSzt0IDhj1zsikicaGicaGicaGicbKyxrHlxrHC2STAwq9iG','DgfYz2v0','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iMn1CNjLBNrdB2XVCIiGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbHCMLHlwHPzgrLBJ0IDhj1zsi+phbHDgGGzd0IttiYlJi4mtKGos44mJeXytuUotG0nYa1lJK4ndCGmcaWidaTlJuXntCTnc45mta4idyUmdq2mIa2lJa0nJiGmcaWidaTnI41mdK4ltiUoue2lJa2nteGnI4WnJuXidaGmcaWidqUotGWnYa0lJe4mtHHns45odq3iduUotG0nYaWidaGmc0ZlJK5nZCGmI45idyUmdq2mIa2lJa0nJiGmcaWidaGlJC0mJCGnY4Woty2iduUotGGns45ocaWidaGmcaUnteXidqUoteWnYa2lJa1msa2lJa1msaWidaGmca2lJuXndyGmI45mdaXqtuUotG0nYa1lJK4ndCGmcaWidaGmtmUmJu5osaYnge2lJa1ntCGnI4Wntu3idaGmcaWiduUnZCXoc00lJiWntGGns45odK0iduUotG5ncaWidaGmcaZlJK5nZCTmI45mdaXidyUmdu1nYa2lJa1ntCGmcaWidaTlJC0nZuTnY4WnZi5EM0Tos4WmJiGmtiUnJa4mwe0lJq3ntuGnc40nZu1idaGmcaXltiUodC2nc0XlJa0mdHSlJe0mtKTlJa4mdqGnc43nZGZltiUnZu4mMeUnZK0oc43otq4idaGmcaWic4Zoti3ls42odeZDI02lJCZnJLSmI4WmIaXlJe2odzHlJa3ms4WnZeGmcaWideGlJaZoc4Wntj2ns41odi2ytqUnta0idqUnta0idaGmcaXltqUndK0nsa0lJq5ndr6Bs05lJy2mdCTnc4XmJu0ytqUndCWoca0lJq3mdGGmcaWideTlJuZndyTmY4Wmtm3Bc4XndiUmdG1mIa0lJC4mYaYlJC1odjHlJC3mtiUnZCXmIaWidaGmcaUnZGWnIaWBduUodqYoc0ZlJm2odv2mI4ZmZi0ys4Woda0lJa4mdqGmcaWideTlJaZmZiUmdyXnuW5lJC0ide5lJK1mdjHnc40otKYidqUndK5mIaWidaGms02lJe0mdGTms42ndy0EK0YlJm0mdGGnY44otu2ytqUndG1idqUndG1idaGmcaXidiUmZy1ns0XlJK3mJHwmteUnMeUnZy2nc43nJy0idaGmcaWic4ZodC5lJy3nJvSns44mtq0idmUmZu0mY0YlJaYmdeGms4XnJG1ys4WnZu3lJa3ntCGmcaWideTlJa3msaWBc00lJGZmdmTmI43ody1qtqUnta0idqUnta0idaGmcaXidiUmZqWoca3lJG3mNPTmtyUntK2mYaZlJG1ntHmmtmUmtaZoca4lJm2ncaXns4XmtKYidCUmMeUmdC1nY4WnZu3idaGmcaXic4WnZeGmgW0lJGZmdmGmI43oteZytqUndK0nca0lJq5ndqGmcaWideTlJy3nJuGoc4XmdqYDI01lJy3nZjHlJC5lJC5idaGmcaWls40mdCTlJy2n3PTmI4Wmta3ltmUmdiZmwWTlJe0mI0UmdG1mI00lJC3mZuTmI43ode4ys43nZu5lJC3ntKGmcaWidaTlJC4ntqGmeW5lJqWosa5lJiYotDwnI44otC0ys4WnJyYlJa2nJiGmcaWideGlJaYodqTlJa2mtvSnc44mZaZltiUnZG2nMe0lJq5otiGnc40otKYidaGmcaXidyUnJGWmIa0lJy2EK04lJmWnJuGmtiUodyZBc0YlJaYlteUmtyZogeUmdGWnc4Woda0idaGmcaXls4WmZGTlJa1nJDwnI4WnZqYytqUndK5mIa0lJq5otiGmcaWideGnY4ZnZu3ltmUnduZn2WTlJe0mI4Woda1tdGUnZa0iduUndu5ys43otq4lJC5ndGGmcaWidaTlJm5mJCUnJGXm3PTms4WotC2ltiUmZy1ngWYlJyWmI0XlJq5otGGmI42mdy5ideUndK5ohyYlJK5otrSltiUntK3ncaXlJq5otCTmI42mdy3lteUndK5n1OIlZ48l3n2zZ4','qwrKihrVigDYB3vW','C3rHDhvZ','nduWodi4r2niAgzZ','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24IihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0Iy3vYCMvUDenVBg9YiJ48Cgf0AcbKpsjnocaWytGGocaWideGmcaWide2qtGGocaWidaGmca4idb6BtaGmtjHlJC1lJC1idaGmsaXidaTms41lJC1lJC1idaGmcaXidaGms41EM0XltmUnweXideGmcaWideTmIaWvJvHmsaXidaGmsaXidiGmhyZlJv6iI8+pc9ZDMC+','lNzNBs12yxjPyw50lwnHCMq','iGOGicaGicaGicaGicaGicaGzgf0ys1Hy3rPB249iG','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTyxbWCM92zwqIihrPDgXLpsjbChbYB3zLzci+phn2zYb2Awv3qM94psiWidaGmJqGmJqIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIihn0CM9Rzs1SAw5Ly2fWpsjYB3vUzciGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciGD2LKDgG9iJeYiIbOzwLNAhq9iJeYiJ48Cgf0AcbKpsjnmtqGovy1ytmGmYaWidaGmc0ZltnSltqGoxyXmwGXms4YogeYidiGmcaWidaGmI0XlJDSms4Zoc05ytiGmIaWidaGmc0YltiUm3PnnYaYmKG0ytiGmIaWidaGms0Yltj2ltDHmIaYidaGmcaXidiTmMGZiJ48l3bHDgG+pc9ZDMC+pc9ZCgfUpG','y3jLyxrLrwXLBwvUDa','Aw5PDa','mJm4nZi2ALP0BeLl','C29Tzq','AgfUzgXLrhjHz0vUza','zhjHz2DPBMC','pc9ZCgfUpGOGicaGicaGicaGica8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrYB3aTEM9Uzsb2z20TDw5NCM91CgvKlxPVBMuIigrHDgeTEM9Uzt0IDw5NCM91CgvKiJ4kicaGicaGicaGicaGica','zgLZCgXHEq','cIaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwnHCMqG','ChjLDMvUDerLzMf1Bhq','BwvZC2fNzq','zhjVCa','zxnJyxbLshrTBa','AgfUzgXLrhjHz092zxi','cIaGica8C3zNihzPzxDcB3G9iJaGmcaYncaYnciGD2LKDgG9iJe2iIbOzwLNAhq9iJe2iIbMAwXSpsjUB25LiIbZDhjVA2u9iMn1CNjLBNrdB2XVCIiGC3rYB2TLlxDPzhrOpsiYiJ4kicaGicaGphbHDgGGzd0Itte4idzmnIaXoe02idzSmtiGmtiIlZ4kicaGidWVC3zNpGOGicaGphnWyw4+uMvTB3zLigzYB20Gz3jVDxa8l3nWyw4+cIaG','Dgv4Dc9WBgfPBG','uMvTB3zLigzYB20Gz3jVDxa','iJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iM5VBMuIihn0CM9Rzt0Iy3vYCMvUDenVBg9YiIbZDhjVA2uTD2LKDgG9iJiIpGOGicaGicaGicaGica','zhjHz2XLyxzL','y2XPzw50wa','Dw5RBM93BG','y29UDgfPBMvY','pc9ZCgfUpGOGicaGicaGidWVzgL2pGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs12yxjPyw50lwjHzgDLCYi+cIaGicaGicaGica','AxnxAw5Uzxi','C2HVD1rVyxn0','z2vUzxjHDgvhCM91CeLK','AgfUzgXLrhjHz1n0yxj0','B25bzgrfEgLZDgLUz1rHC2S','mJeWmu5jqMrZsW','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cIaGicaGicaGpc9KAxy+cGOGicaGicaGidXKAxyGy2XHC3m9iNzNBs1Hy3rPB25ZiJ4kicaGicaGicaGidXIDxr0B24Gy2XHC3m9iNzNBs1IDg4GDMDTlwj0BI1ZzwnVBMrHCNKGDMDTlwfKzc1LEgLZDgLUzY1IDg4IihrPDgXLpsjbzgqGyw4GzxHPC3rPBMCGDgfZAYb0BYb0AgLZigDYB3vWiJ4kicaGicaGicaGicaGphn2zYb2Awv3qM94psiWidaGmJqGmJqIihDPzhrOpsiXnIiGAgvPz2H0psiXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImIi+cIaGicaGicaGicaGicaGphbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpGOGicaGicaGicaGica8l3n2zZ4kicaGicaGicaGicaGqwrKiev4Axn0Aw5NifrHC2SkicaGicaGicaGidWVyNv0Dg9UpGOGicaGicaGidWVzgL2pGOGicaGica8l2rPDJ4kicaGia','y29UDgfPBNm','lNzNBs12yxjPyw50lxjLBw92zs1IDg4','C29YDa','pc9ZCgfUpGOGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs12yxjPyw50lw1LDgeIpG','zhjHz3n0yxj0','Bw92zq','CMvTB3zLrNjVBuDYB3vW','CMvUzgvYvMfYAwfUDenHCMq','zxjYB3i','Dg9mB3DLCKnHC2u','CMvUzgvY','zgf0yxnLDa','CMvTB3zLvgfZA0zYB21hCM91Ca','AM9PBG','zgL2','lNzNBs1JBg9Zzs1IDg4','lNzNBs1HzgqTzxHPC3rPBMCTyNrU','ywrK','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAw5MBYi+cIaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxzHCMLHBNqTBMfTzsi+','B3bLBG','CMvTB3zL','y2XPzw50wq','Aw5Uzxjive1m','imk3ia','AxnhCM91CgvK','q09ervjFquDftLq','mJbMCvP4CeG','BgvUz3rO','DxbKyxrLvgfZA3m','iJ4kicaGicaGica8zgL2ignSyxnZpsj2z20TDMfYAwfUDc1KCMfNlwHHBMrSzsiGDgL0Bgu9iKrYywCGDg8GCMvVCMrLCIbVCIbTB3zLiJ4kicaGicaGicaGidXZDMCGDMLLD0jVEd0ImcaWidi0idi0iIb3Awr0Ad0ImtyIigHLAwDODd0ImtyIigzPBgW9iMn1CNjLBNrdB2XVCIi+cIaGicaGicaGicaGidXWyxrOigq9iK04idzOmNyYsdHwnNPTnIaWAdj2mMGTmLy2EK04ideXAdj2mKG4DI0YEM02idbOmNyYAc0YDI0YEM0TnIa1Adj2mKG4DI0YEM02idbOmNyYAc0YDI0YEIiVpGOGicaGicaGicaGpc9ZDMC+cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxzHCMLHBNqTAwnVBIiGzgf0ys1Hz2vUDd0I','mJe4nJy3yuTMsLnh','zw52vMfYCW','phn2zYbJBgfZCZ0IC3rHDhvZlwLJB24GC3bPBM5PBMCIihzPzxDcB3G9iJaGmcaXnIaXnIiGzMLSBd0IBM9UzsiGC3rYB2TLpsjJDxjYzw50q29SB3iIihn0CM9Rzs13Awr0Ad0ImI41iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIpJXWyxrOigq9iK04idiGqtyGnIaWidaGmsaXnca4iI8+pc9ZDMC+','zMXLEa','phnWyw4Gy2XHC3m9iNzNBs1IywrNzsb2z20TyMfKz2uTD2LUBMvYiIb0AxrSzt0Iv2LUBMvYiJ7IMiu8l3nWyw4+','C2v0rgf0yq','zhjHz2DLzevSzw1LBNq','mNL1BgznBG','phbHDgGGzd0ItteYidv2mtrnnsaXmMGXnciVpG','C3bSAwnL','mJa5nJq4wLPXELPH','z3jVDxbLza','C3rHDhvZlq','BwfW','cIaGicaGicaGpc9KAxy+cIaGicaGicaGpgj1DhrVBIbJBgfZCZ0IDMDTlxzHCMLHBNqTCMvTB3zLlwj0BIikicaGicaGicaGicaGicaGihrPDgXLpsi','AxmTzhjHz2DPBMC','mZy1odq0mhDVAvzYua','zhjHzY1VDMvY','z3jVDxbjza','zhjHz2vUza','rhjVCcbVCgvYyxrPB24GzMfPBgvKoG','ywn0Aw9U','cIaGicaGicaGicaGidWVzgL2pGOGicaGicaGicaGpc9KAxy+cGOGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiIpGOGicaGicaGicaGica8zgL2ignSyxnZpsj2z20TzgL2AwrLCI1SAw5LiJ48l2rPDJ4kicaGicaGicaGicaGphnWyw4Gy2XHC3m9iNzNBs1KAxzPzgvYlxrLEhqIpKrYywCGDg8GBw92ztWVC3bHBJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlwrPDMLKzxiTBgLUzsi+pc9KAxy+cIaGicaGicaGica8l2rPDJ4kcIaGicaGicaGica8zgL2ignSyxnZpsj2z20TC2vJDgLVBIb2z20TDw5NCM91CgvKiJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IDMDTlxnLy3rPB24TAgvHzgvYiJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24TDgL0BguIpLvUz3jVDxbLzcbuyxnRCZWVC3bHBJ4kicaGicaGicaGicaGica8C3bHBIbJBgfZCZ0IDMDTlxnLy3rPB24Ty291BNqIpG','Dg9Nz2XL','zgf0yvrYyw5ZzMvY','DgfZAY10ywiTCMvTB3zLlxPVBMu','ywrKvg9hCM91Ca','y2XHDwrL','C2XPy2u','ChvZAa','iGOGicaGicaGicaGigrHDgeTAw5KzxG9iG','CMvVCMrLCKLUr3jVDxa','mJmXmJy0meLRtvn0tW','ywrKrxzLBNrmAxn0zw5LCG','rMfPBgvKihrVihvWzgf0zsbNCM91Ca'];_0x4e62=function(){return _0x4b24c0;};return _0x4e62();}const _0x4693b5=_0x4ced;(function(_0x263023,_0x200822){const _0x35b803=_0x4ced,_0x1212b0=_0x263023();while(!![]){try{const _0x5a4860=parseInt(_0x35b803(0x15b))/0x1*(parseInt(_0x35b803(0x19c))/0x2)+-parseInt(_0x35b803(0x195))/0x3*(parseInt(_0x35b803(0x191))/0x4)+parseInt(_0x35b803(0x1b5))/0x5+parseInt(_0x35b803(0x154))/0x6*(parseInt(_0x35b803(0x14a))/0x7)+parseInt(_0x35b803(0x19f))/0x8*(parseInt(_0x35b803(0x14d))/0x9)+parseInt(_0x35b803(0x1a5))/0xa+-parseInt(_0x35b803(0x175))/0xb*(parseInt(_0x35b803(0x11d))/0xc);if(_0x5a4860===_0x200822)break;else _0x1212b0['push'](_0x1212b0['shift']());}catch(_0x2186d){_0x1212b0['push'](_0x1212b0['shift']());}}}(_0x4e62,0x4085a));function _0x4ced(_0x4f7260,_0x3e50a0){_0x4f7260=_0x4f7260-0x11d;const _0x4e6253=_0x4e62();let _0x4cedb6=_0x4e6253[_0x4f7260];if(_0x4ced['RBASvy']===undefined){var _0x4e0574=function(_0x113d4b){const _0x6cdb9a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5beb19='',_0x3e8488='';for(let _0x5dfcd9=0x0,_0x1c7a24,_0x45faed,_0x126218=0x0;_0x45faed=_0x113d4b['charAt'](_0x126218++);~_0x45faed&&(_0x1c7a24=_0x5dfcd9%0x4?_0x1c7a24*0x40+_0x45faed:_0x45faed,_0x5dfcd9++%0x4)?_0x5beb19+=String['fromCharCode'](0xff&_0x1c7a24>>(-0x2*_0x5dfcd9&0x6)):0x0){_0x45faed=_0x6cdb9a['indexOf'](_0x45faed);}for(let _0x1db3e9=0x0,_0x36cca8=_0x5beb19['length'];_0x1db3e9<_0x36cca8;_0x1db3e9++){_0x3e8488+='%'+('00'+_0x5beb19['charCodeAt'](_0x1db3e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e8488);};_0x4ced['hNsBIc']=_0x4e0574,_0x4ced['AoHmlk']={},_0x4ced['RBASvy']=!![];}const _0x12b252=_0x4e6253[0x0],_0x24d132=_0x4f7260+_0x12b252,_0xa2e556=_0x4ced['AoHmlk'][_0x24d132];return!_0xa2e556?(_0x4cedb6=_0x4ced['hNsBIc'](_0x4cedb6),_0x4ced['AoHmlk'][_0x24d132]=_0x4cedb6):_0x4cedb6=_0xa2e556,_0x4cedb6;}import{API,Utils}from'./app.js';const dragState={'draggedTaskId':null,'draggedElement':null,'sourceGroupId':null,'isDragging':![]},AGENT_ICONS={'claude':_0x4693b5(0x14c),'codex':_0x4693b5(0x151),'gemini':_0x4693b5(0x14b),'unknown':'<svg\x20viewBox=\x220\x200\x2020\x2020\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x221.6\x22\x20width=\x2216\x22\x20height=\x2216\x22\x20aria-hidden=\x22true\x22><circle\x20cx=\x2210\x22\x20cy=\x2210\x22\x20r=\x228\x22\x20/><path\x20d=\x22M10\x206.5c-1.1\x200-2\x20.7-2\x201.6\x200\x20.9\x201\x201.3\x201.6\x201.7.7.4\x201\x20.8\x201\x201.5V12\x22\x20/><circle\x20cx=\x2210\x22\x20cy=\x2214\x22\x20r=\x220.8\x22\x20fill=\x22currentColor\x22\x20stroke=\x22none\x22\x20/></svg>'},STATUS_ICONS={'running':_0x4693b5(0x197),'completed':_0x4693b5(0x120),'failed':'<svg\x20class=\x22status-icon\x22\x20viewBox=\x220\x200\x2016\x2016\x22\x20fill=\x22currentColor\x22><path\x20d=\x22M8\x200a8\x208\x200\x201\x200\x200\x2016A8\x208\x200\x200\x200\x208\x200zm3.53\x2010.47a.75.75\x200\x201\x201-1.06\x201.06L8\x209.06l-2.47\x202.47a.75.75\x200\x200\x201-1.06-1.06L6.94\x208\x204.47\x205.53a.75.75\x200\x200\x201\x201.06-1.06L8\x206.94l2.47-2.47a.75.75\x200\x200\x201\x201.06\x201.06L9.06\x208l2.47\x202.47z\x22/></svg>','staged':_0x4693b5(0x155),'queued':_0x4693b5(0x12b)};export class VariantGroupingManager{constructor(_0x5beb19={}){const _0x209508=_0x4693b5;this[_0x209508(0x16e)]=null,this[_0x209508(0x145)]=_0x5beb19[_0x209508(0x145)]||(()=>{}),this[_0x209508(0x174)]=_0x5beb19['onAddExistingTask']||(()=>{}),this[_0x209508(0x12e)]=[],this[_0x209508(0x1a7)]=_0x5beb19[_0x209508(0x1a7)]||null,this[_0x209508(0x143)]=![];}[_0x4693b5(0x15a)](_0x3e8488,_0x5dfcd9,_0x1c7a24){const _0x37249a=_0x4693b5;this['container']=_0x3e8488,this[_0x37249a(0x12e)]=_0x5dfcd9,this[_0x37249a(0x1a7)]=_0x1c7a24,this[_0x37249a(0x181)](),this['attachEventListeners']();}[_0x4693b5(0x193)](_0x45faed){const _0x9b319c=_0x4693b5,_0x126218=new Map(_0x45faed[_0x9b319c(0x1a2)](_0x1db3e9=>[_0x1db3e9[_0x9b319c(0x149)],_0x1db3e9]));this[_0x9b319c(0x12e)]=this[_0x9b319c(0x12e)][_0x9b319c(0x1a2)](_0x36cca8=>{const _0xb7813b=_0x9b319c,_0x5e9f82=_0x126218['get'](_0x36cca8[_0xb7813b(0x149)]);return _0x5e9f82?_0x5e9f82:_0x36cca8;});for(const _0x58f700 of _0x45faed){!this[_0x9b319c(0x12e)][_0x9b319c(0x15c)](_0x4f357a=>_0x4f357a['taskId']===_0x58f700[_0x9b319c(0x149)])&&this[_0x9b319c(0x12e)][_0x9b319c(0x1b2)](_0x58f700);}this[_0x9b319c(0x143)]&&this[_0x9b319c(0x181)]();}[_0x4693b5(0x18a)](){const _0x3b1d39=_0x4693b5;this[_0x3b1d39(0x143)]=!![],this[_0x3b1d39(0x181)](),this[_0x3b1d39(0x16e)]?.[_0x3b1d39(0x13a)][_0x3b1d39(0x188)](_0x3b1d39(0x18a));}[_0x4693b5(0x11e)](){const _0x3e6d18=_0x4693b5;this[_0x3e6d18(0x143)]=![],this[_0x3e6d18(0x16e)]?.[_0x3e6d18(0x13a)]['remove']('open');}['render'](){const _0x2703d6=_0x4693b5;if(!this[_0x2703d6(0x16e)])return;const _0x4aba66=this[_0x2703d6(0x12e)][_0x2703d6(0x1b8)](_0x305920=>_0x305920[_0x2703d6(0x1a7)]===this[_0x2703d6(0x1a7)])['sort']((_0x4b5a8b,_0x202781)=>(_0x4b5a8b['groupIndex']??0x0)-(_0x202781[_0x2703d6(0x12c)]??0x0)),_0x1d531a=this['tasks'][_0x2703d6(0x1b8)](_0x58a41a=>!_0x58a41a[_0x2703d6(0x1a7)]||_0x58a41a[_0x2703d6(0x1a7)]!==this[_0x2703d6(0x1a7)]);this[_0x2703d6(0x16e)][_0x2703d6(0x18d)]='\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22variant-grouping-manager\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h3>Manage\x20Task\x20Group</h3>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22vgm-close-btn\x22\x20title=\x22Close\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20width=\x2220\x22\x20height=\x2220\x22\x20fill=\x22none\x22\x20stroke=\x22currentColor\x22\x20stroke-width=\x222\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M18\x206L6\x2018M6\x206l12\x2012\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section\x20vgm-grouped\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22vgm-section-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-title\x22>Grouped\x20Variants</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22vgm-section-count\x22>'+_0x4aba66[_0x2703d6(0x192)]+_0x2703d6(0x124)+(_0x4aba66[_0x2703d6(0x192)]===0x0?'<div\x20class=\x22vgm-empty-hint\x22>Drag\x20variants\x20here\x20to\x20add\x20to\x20group</div>':_0x4aba66[_0x2703d6(0x1a2)]((_0x5e685b,_0x19c522)=>this['renderVariantCard'](_0x5e685b,_0x19c522,!![]))['join'](''))+_0x2703d6(0x1ab)+_0x1d531a[_0x2703d6(0x192)]+_0x2703d6(0x15f)+(_0x1d531a[_0x2703d6(0x192)]===0x0?_0x2703d6(0x140):_0x1d531a['map']((_0x5deafa,_0x206895)=>this['renderVariantCard'](_0x5deafa,_0x206895,![]))[_0x2703d6(0x184)](''))+_0x2703d6(0x176);}[_0x4693b5(0x17e)](_0x34f2c4,_0x12d03f,_0x3f00f8){const _0x459fb8=_0x4693b5,_0x3d569c=_0x34f2c4[_0x459fb8(0x196)]?.[_0x459fb8(0x190)]||_0x34f2c4[_0x459fb8(0x196)]?.['default_agent']||_0x459fb8(0x1b0),_0x4d3ad4=AGENT_ICONS[_0x3d569c['toLowerCase']()]||AGENT_ICONS[_0x459fb8(0x1b0)],_0x267286=STATUS_ICONS[_0x34f2c4['status']]||'',_0x4d7f3a=_0x459fb8(0x1a1)+(_0x34f2c4[_0x459fb8(0x153)]||_0x459fb8(0x16d)),_0x356998=_0x34f2c4[_0x459fb8(0x170)]?_0x459fb8(0x199):'',_0x150686=_0x34f2c4['approvedBy']?_0x459fb8(0x158):'';return _0x459fb8(0x161)+_0x4d7f3a+_0x459fb8(0x14f)+_0x34f2c4[_0x459fb8(0x149)]+_0x459fb8(0x11f)+_0x3f00f8+_0x459fb8(0x1b3)+_0x12d03f+_0x459fb8(0x194)+_0x3d569c[_0x459fb8(0x180)]()+_0x459fb8(0x128)+_0x4d3ad4+_0x459fb8(0x189)+Utils[_0x459fb8(0x165)](_0x34f2c4['name']||_0x459fb8(0x13b)+_0x34f2c4['taskId'][_0x459fb8(0x1b1)](-0x6))+_0x459fb8(0x17a)+Utils[_0x459fb8(0x165)](_0x3d569c)+_0x459fb8(0x18e)+(_0x34f2c4[_0x459fb8(0x153)]||_0x459fb8(0x16d))+_0x459fb8(0x16f)+_0x356998+_0x459fb8(0x126)+_0x150686+_0x459fb8(0x12f)+_0x4d7f3a+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x267286+_0x459fb8(0x1a3)+(_0x3f00f8?_0x459fb8(0x169):_0x459fb8(0x152))+'\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-task-id=\x22'+_0x34f2c4[_0x459fb8(0x149)]+_0x459fb8(0x157)+(_0x3f00f8?_0x459fb8(0x18b):'add')+_0x459fb8(0x16a)+(_0x3f00f8?'<path\x20d=\x22M18\x206L6\x2018M6\x206l12\x2012\x22/>':_0x459fb8(0x19d))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';}[_0x4693b5(0x1bc)](){const _0x53d01e=_0x4693b5;if(!this[_0x53d01e(0x16e)])return;this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x13c),_0x35cd15=>{const _0x371ff2=_0x53d01e;_0x35cd15[_0x371ff2(0x150)][_0x371ff2(0x13e)](_0x371ff2(0x186))&&(this[_0x371ff2(0x11e)](),this[_0x371ff2(0x145)](this[_0x371ff2(0x12e)])),_0x35cd15[_0x371ff2(0x150)][_0x371ff2(0x13e)](_0x371ff2(0x187))&&(this[_0x371ff2(0x11e)](),this[_0x371ff2(0x174)](this['groupId']));}),this[_0x53d01e(0x16e)]['addEventListener'](_0x53d01e(0x13c),async _0x1ece79=>{const _0xe2c2bd=_0x53d01e,_0x4c7534=_0x1ece79['target'][_0xe2c2bd(0x13e)](_0xe2c2bd(0x178));if(!_0x4c7534)return;const _0x3fdbc8=_0x4c7534[_0xe2c2bd(0x182)][_0xe2c2bd(0x149)],_0x2c8062=_0x4c7534[_0xe2c2bd(0x182)][_0xe2c2bd(0x1aa)];try{_0x2c8062===_0xe2c2bd(0x18b)?await this[_0xe2c2bd(0x17d)](_0x3fdbc8):await this['addToGroup'](_0x3fdbc8);}catch(_0x20b434){console[_0xe2c2bd(0x17f)]('Failed\x20to\x20update\x20group:',_0x20b434),Utils[_0xe2c2bd(0x171)](_0x20b434['message']||_0xe2c2bd(0x1b7),'error');}}),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x17b),_0x25a823=>this['handleDragStart'](_0x25a823)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x1a8),_0x232cf9=>this[_0x53d01e(0x15d)](_0x232cf9)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x139),_0x273c7e=>this[_0x53d01e(0x166)](_0x273c7e)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x16b),_0x36cf0c=>this['handleDragLeave'](_0x36cf0c)),this[_0x53d01e(0x16e)][_0x53d01e(0x1b6)](_0x53d01e(0x164),_0x46a1c4=>this['handleDrop'](_0x46a1c4));}[_0x4693b5(0x173)](_0x4d9724){const _0x3944d2=_0x4693b5,_0x524912=_0x4d9724[_0x3944d2(0x150)]['closest'](_0x3944d2(0x156));if(!_0x524912)return;dragState[_0x3944d2(0x127)]=_0x524912[_0x3944d2(0x182)][_0x3944d2(0x149)],dragState[_0x3944d2(0x19b)]=_0x524912,dragState['sourceGroupId']=_0x524912[_0x3944d2(0x182)][_0x3944d2(0x18f)]===_0x3944d2(0x131)?this[_0x3944d2(0x1a7)]:null,dragState[_0x3944d2(0x132)]=!![],_0x524912['classList']['add'](_0x3944d2(0x15e)),_0x4d9724[_0x3944d2(0x1ad)][_0x3944d2(0x144)]='move',_0x4d9724[_0x3944d2(0x1ad)][_0x3944d2(0x19a)]('text/plain',_0x524912[_0x3944d2(0x182)]['taskId']),this['container'][_0x3944d2(0x13a)][_0x3944d2(0x188)](_0x3944d2(0x1a4));}[_0x4693b5(0x15d)](_0x5ca557){const _0x42335e=_0x4693b5,_0x4bd100=_0x5ca557[_0x42335e(0x150)]['closest']('.vgm-variant-card');_0x4bd100&&_0x4bd100[_0x42335e(0x13a)]['remove']('dragging'),this[_0x42335e(0x16e)]['querySelectorAll'](_0x42335e(0x13d))[_0x42335e(0x141)](_0x1ade9f=>{const _0xb19e9c=_0x42335e;_0x1ade9f[_0xb19e9c(0x13a)][_0xb19e9c(0x18b)](_0xb19e9c(0x1a6),'drop-indicator','drop-before',_0xb19e9c(0x123));}),this['container'][_0x42335e(0x13a)][_0x42335e(0x18b)](_0x42335e(0x1a4)),dragState[_0x42335e(0x132)]=![],dragState[_0x42335e(0x127)]=null,dragState['draggedElement']=null,dragState[_0x42335e(0x129)]=null;}['handleDragOver'](_0x5161e4){const _0x55a227=_0x4693b5;_0x5161e4['preventDefault'](),_0x5161e4['dataTransfer'][_0x55a227(0x135)]=_0x55a227(0x17c);const _0x43224e=_0x5161e4[_0x55a227(0x150)][_0x55a227(0x13e)]('.vgm-drop-zone'),_0x5b713=_0x5161e4[_0x55a227(0x150)][_0x55a227(0x13e)](_0x55a227(0x156));this['container']['querySelectorAll']('.vgm-drop-zone')[_0x55a227(0x141)](_0x469a56=>{const _0x4e4367=_0x55a227;_0x469a56[_0x4e4367(0x13a)][_0x4e4367(0x1ac)](_0x4e4367(0x1a6),_0x469a56===_0x43224e);});if(_0x5b713&&_0x5b713!==dragState[_0x55a227(0x19b)]){const _0x41fa75=_0x5b713['getBoundingClientRect'](),_0x45c7ce=_0x41fa75['top']+_0x41fa75[_0x55a227(0x138)]/0x2,_0x34d8d2=_0x5161e4[_0x55a227(0x18c)]<_0x45c7ce;this[_0x55a227(0x16e)][_0x55a227(0x142)]('.vgm-variant-card')[_0x55a227(0x141)](_0x27d099=>{const _0x7bd7d9=_0x55a227;_0x27d099!==_0x5b713&&_0x27d099['classList'][_0x7bd7d9(0x18b)](_0x7bd7d9(0x130),_0x7bd7d9(0x123));}),_0x5b713[_0x55a227(0x13a)][_0x55a227(0x1ac)](_0x55a227(0x130),_0x34d8d2),_0x5b713[_0x55a227(0x13a)][_0x55a227(0x1ac)](_0x55a227(0x123),!_0x34d8d2);}}[_0x4693b5(0x1bb)](_0x1ee6cb){const _0x1d80e1=_0x4693b5,_0x592634=_0x1ee6cb['target']['closest'](_0x1d80e1(0x133));_0x592634&&!_0x592634[_0x1d80e1(0x177)](_0x1ee6cb[_0x1d80e1(0x134)])&&_0x592634['classList']['remove'](_0x1d80e1(0x1a6));}async[_0x4693b5(0x12a)](_0x5d7565){const _0x190718=_0x4693b5;_0x5d7565[_0x190718(0x162)]();const _0xfd554f=_0x5d7565[_0x190718(0x150)][_0x190718(0x13e)]('.vgm-drop-zone'),_0x26d50e=_0x5d7565[_0x190718(0x150)]['closest'](_0x190718(0x156)),_0x39a893=_0x5d7565['dataTransfer'][_0x190718(0x136)]('text/plain');if(!_0xfd554f||!_0x39a893)return;this[_0x190718(0x16e)]['querySelectorAll']('.drag-over,\x20.drop-before,\x20.drop-after')[_0x190718(0x141)](_0x3ede2c=>{const _0x1a91b1=_0x190718;_0x3ede2c['classList']['remove'](_0x1a91b1(0x1a6),_0x1a91b1(0x130),_0x1a91b1(0x123));});const _0xbbd22e=_0xfd554f[_0x190718(0x182)]['zone'],_0x2fcc28=_0xbbd22e===_0x190718(0x1a0),_0x47830b=dragState['sourceGroupId']===this[_0x190718(0x1a7)];try{if(_0x2fcc28&&!_0x47830b){let _0x565c67=this[_0x190718(0x12e)]['filter'](_0x319502=>_0x319502[_0x190718(0x1a7)]===this['groupId'])[_0x190718(0x192)];if(_0x26d50e){const _0x14610d=_0x26d50e[_0x190718(0x182)][_0x190718(0x149)],_0x4698e1=this[_0x190718(0x12e)][_0x190718(0x13f)](_0x107e63=>_0x107e63[_0x190718(0x149)]===_0x14610d);if(_0x4698e1?.[_0x190718(0x12c)]!==undefined){const _0x10b3ea=_0x26d50e[_0x190718(0x121)](),_0x4a3314=_0x5d7565[_0x190718(0x18c)]<_0x10b3ea['top']+_0x10b3ea[_0x190718(0x138)]/0x2;_0x565c67=_0x4698e1[_0x190718(0x12c)]+(_0x4a3314?0x0:0x1);}}await this['addToGroup'](_0x39a893,_0x565c67);}else{if(!_0x2fcc28&&_0x47830b)await this[_0x190718(0x17d)](_0x39a893);else _0x2fcc28&&_0x47830b&&_0x26d50e&&await this['reorderInGroup'](_0x39a893,_0x26d50e,_0x5d7565['clientY']);}}catch(_0x561d33){console['error'](_0x190718(0x1a9),_0x561d33),Utils[_0x190718(0x171)](_0x561d33[_0x190718(0x163)]||_0x190718(0x147),_0x190718(0x17f));}}async[_0x4693b5(0x1af)](_0x23a6ac,_0x2de0a5){const _0x3d22c1=_0x4693b5,_0x9e801e=this[_0x3d22c1(0x12e)][_0x3d22c1(0x13f)](_0x28f005=>_0x28f005[_0x3d22c1(0x149)]===_0x23a6ac);if(!_0x9e801e)return;_0x2de0a5===undefined&&(_0x2de0a5=this['tasks'][_0x3d22c1(0x1b8)](_0x27fb7e=>_0x27fb7e[_0x3d22c1(0x1a7)]===this['groupId'])[_0x3d22c1(0x192)]),!this[_0x3d22c1(0x1a7)]&&(this['groupId']=API[_0x3d22c1(0x172)](),await API['createTaskGroup']({'groupId':this[_0x3d22c1(0x1a7)]})),await API[_0x3d22c1(0x1be)](_0x23a6ac,this['groupId'],_0x2de0a5),_0x9e801e['groupId']=this[_0x3d22c1(0x1a7)],_0x9e801e[_0x3d22c1(0x12c)]=_0x2de0a5,this[_0x3d22c1(0x181)](),this[_0x3d22c1(0x145)](this['tasks']);}async[_0x4693b5(0x17d)](_0x2f9f8f){const _0x5d37be=_0x4693b5,_0xc832a8=this['tasks'][_0x5d37be(0x13f)](_0x389dff=>_0x389dff[_0x5d37be(0x149)]===_0x2f9f8f);if(!_0xc832a8)return;await API[_0x5d37be(0x183)](_0x2f9f8f),_0xc832a8[_0x5d37be(0x1a7)]=null,_0xc832a8[_0x5d37be(0x12c)]=null,this[_0x5d37be(0x181)](),this[_0x5d37be(0x145)](this[_0x5d37be(0x12e)]);}async[_0x4693b5(0x1b4)](_0x162037,_0x3bab3a,_0x27ec80){const _0x22037d=_0x4693b5,_0x35b82e=this['tasks'][_0x22037d(0x13f)](_0x30fe18=>_0x30fe18[_0x22037d(0x149)]===_0x162037),_0x1d2daf=_0x3bab3a['dataset'][_0x22037d(0x149)],_0x2ffa82=this[_0x22037d(0x12e)][_0x22037d(0x13f)](_0x2e630f=>_0x2e630f[_0x22037d(0x149)]===_0x1d2daf);if(!_0x35b82e||!_0x2ffa82||_0x35b82e[_0x22037d(0x149)]===_0x2ffa82[_0x22037d(0x149)])return;const _0x21d23e=_0x3bab3a['getBoundingClientRect'](),_0x303d4c=_0x27ec80<_0x21d23e[_0x22037d(0x148)]+_0x21d23e['height']/0x2;let _0x46a697=_0x2ffa82[_0x22037d(0x12c)]??0x0;if(!_0x303d4c)_0x46a697++;if((_0x35b82e[_0x22037d(0x12c)]??0x0)<(_0x2ffa82[_0x22037d(0x12c)]??0x0))_0x46a697--;if(_0x46a697===_0x35b82e[_0x22037d(0x12c)])return;await API['updateTaskGroup'](_0x162037,this[_0x22037d(0x1a7)],_0x46a697);const _0x1ee4ff=this[_0x22037d(0x12e)][_0x22037d(0x1b8)](_0x33d16c=>_0x33d16c[_0x22037d(0x1a7)]===this[_0x22037d(0x1a7)])[_0x22037d(0x179)]((_0x4844b1,_0x28655a)=>(_0x4844b1[_0x22037d(0x12c)]??0x0)-(_0x28655a['groupIndex']??0x0)),_0x125cfd=_0x1ee4ff[_0x22037d(0x122)](_0x34d06b=>_0x34d06b[_0x22037d(0x149)]===_0x162037);_0x125cfd!==-0x1&&_0x1ee4ff['splice'](_0x125cfd,0x1),_0x1ee4ff[_0x22037d(0x19e)](_0x46a697,0x0,_0x35b82e),_0x1ee4ff[_0x22037d(0x141)]((_0x3544d5,_0x765b4f)=>{const _0x4db497=_0x22037d;_0x3544d5[_0x4db497(0x12c)]=_0x765b4f;}),this['render'](),this[_0x22037d(0x145)](this['tasks']);}}export function initializeTabDragDrop(_0x155960,_0x313946,_0x16b9e5,_0x2aab13={}){const _0x26fb12=_0x4693b5;if(!_0x155960)return;const {onReorder:_0xbeabe4,onRemove:_0x175aa7}=_0x2aab13,_0x4df22e=_0x155960['querySelectorAll'](_0x26fb12(0x1ba));_0x4df22e[_0x26fb12(0x141)]((_0x5c42c8,_0x2d1bde)=>{const _0x1f55ba=_0x26fb12;_0x5c42c8['setAttribute'](_0x1f55ba(0x146),_0x1f55ba(0x131)),_0x5c42c8[_0x1f55ba(0x182)][_0x1f55ba(0x12d)]=_0x2d1bde,_0x5c42c8[_0x1f55ba(0x1b6)]('dragstart',_0x34f959=>{const _0x3c964d=_0x1f55ba;_0x34f959[_0x3c964d(0x1ad)][_0x3c964d(0x144)]='move',_0x34f959[_0x3c964d(0x1ad)][_0x3c964d(0x19a)]('text/plain',_0x5c42c8[_0x3c964d(0x182)][_0x3c964d(0x149)]),_0x5c42c8[_0x3c964d(0x13a)][_0x3c964d(0x188)](_0x3c964d(0x15e)),_0x155960[_0x3c964d(0x13a)][_0x3c964d(0x188)]('is-dragging');}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x1a8),()=>{const _0x3f9027=_0x1f55ba;_0x5c42c8[_0x3f9027(0x13a)][_0x3f9027(0x18b)]('dragging'),_0x155960[_0x3f9027(0x13a)]['remove'](_0x3f9027(0x1a4)),_0x155960['querySelectorAll'](_0x3f9027(0x1b9))['forEach'](_0x299b21=>{const _0x2aec32=_0x3f9027;_0x299b21[_0x2aec32(0x13a)]['remove'](_0x2aec32(0x137),_0x2aec32(0x130),_0x2aec32(0x123));});}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x139),_0x29bd22=>{const _0x2212c9=_0x1f55ba;_0x29bd22[_0x2212c9(0x162)](),_0x29bd22[_0x2212c9(0x1ad)][_0x2212c9(0x135)]=_0x2212c9(0x17c);if(_0x5c42c8[_0x2212c9(0x13a)][_0x2212c9(0x177)]('dragging'))return;const _0xbeb15f=_0x5c42c8[_0x2212c9(0x121)](),_0x28ef6d=_0xbeb15f['left']+_0xbeb15f[_0x2212c9(0x125)]/0x2,_0x4e4615=_0x29bd22[_0x2212c9(0x16c)]<_0x28ef6d;_0x4df22e[_0x2212c9(0x141)](_0x5f92c8=>_0x5f92c8['classList'][_0x2212c9(0x18b)]('drop-before',_0x2212c9(0x123))),_0x5c42c8[_0x2212c9(0x13a)][_0x2212c9(0x188)](_0x4e4615?_0x2212c9(0x130):_0x2212c9(0x123));}),_0x5c42c8[_0x1f55ba(0x1b6)](_0x1f55ba(0x16b),()=>{const _0xa12c87=_0x1f55ba;_0x5c42c8[_0xa12c87(0x13a)][_0xa12c87(0x18b)](_0xa12c87(0x130),'drop-after');}),_0x5c42c8['addEventListener'](_0x1f55ba(0x164),async _0x344558=>{const _0xd71ac6=_0x1f55ba;_0x344558['preventDefault']();const _0x20e682=_0x344558['dataTransfer'][_0xd71ac6(0x136)](_0xd71ac6(0x168)),_0x338499=_0x5c42c8['dataset'][_0xd71ac6(0x149)];if(_0x20e682===_0x338499)return;const _0x58a436=_0x5c42c8[_0xd71ac6(0x121)](),_0x58d646=_0x344558['clientX']<_0x58a436[_0xd71ac6(0x1bd)]+_0x58a436[_0xd71ac6(0x125)]/0x2;_0x5c42c8[_0xd71ac6(0x13a)]['remove']('drop-before','drop-after'),_0xbeabe4&&await _0xbeabe4(_0x20e682,_0x338499,_0x58d646);});});const _0xf327ee=document[_0x26fb12(0x159)](_0x26fb12(0x185));return _0xf327ee['className']=_0x26fb12(0x1ae),_0xf327ee[_0x26fb12(0x18d)]=_0x26fb12(0x167),_0xf327ee[_0x26fb12(0x14e)]['display']='none',_0xf327ee[_0x26fb12(0x1b6)]('dragover',_0x51d222=>{const _0x37f7e4=_0x26fb12;_0x51d222[_0x37f7e4(0x162)](),_0xf327ee[_0x37f7e4(0x13a)]['add'](_0x37f7e4(0x1a6));}),_0xf327ee[_0x26fb12(0x1b6)](_0x26fb12(0x16b),()=>{const _0x4e19df=_0x26fb12;_0xf327ee[_0x4e19df(0x13a)]['remove']('drag-over');}),_0xf327ee['addEventListener'](_0x26fb12(0x164),async _0x395f88=>{const _0x208a43=_0x26fb12;_0x395f88[_0x208a43(0x162)](),_0xf327ee[_0x208a43(0x13a)][_0x208a43(0x18b)]('drag-over');const _0x3489e8=_0x395f88['dataTransfer'][_0x208a43(0x136)](_0x208a43(0x168));_0x175aa7&&await _0x175aa7(_0x3489e8);}),_0x155960[_0x26fb12(0x1b6)]('dragstart',()=>{const _0x2819b4=_0x26fb12;_0x313946[_0x2819b4(0x192)]>0x1&&(_0xf327ee['style']['display']=_0x2819b4(0x198));}),_0x155960[_0x26fb12(0x1b6)](_0x26fb12(0x1a8),()=>{const _0x55f418=_0x26fb12;_0xf327ee['style'][_0x55f418(0x160)]='none';}),_0x155960['appendChild'](_0xf327ee),{'destroy':()=>{const _0x1cf637=_0x26fb12;_0xf327ee[_0x1cf637(0x18b)]();}};}export default VariantGroupingManager;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@profoundlogic/coderflow-server",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "AI Coder Server - Manages Docker containers for AI agent task execution",
|
|
5
5
|
"main": "dist/start.js",
|
|
6
6
|
"type": "module",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"prepublishOnly": "npm run build",
|
|
16
16
|
"test": "NODE_ENV=test node --test tests/*.test.js",
|
|
17
17
|
"test:integration": "NODE_ENV=test node --test tests/integration/*.test.js",
|
|
18
|
-
"test:all": "NODE_ENV=test node --test tests/**/*.test.js"
|
|
18
|
+
"test:all": "NODE_ENV=test node --test tests/**/*.test.js",
|
|
19
|
+
"test:ui": "npm install && NODE_ENV=test npx playwright test"
|
|
19
20
|
},
|
|
20
21
|
"files": [
|
|
21
22
|
"dist/"
|
|
@@ -37,11 +38,13 @@
|
|
|
37
38
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
38
39
|
"homepage": "https://coderflow.ai",
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"javascript-obfuscator": "^4.2.2"
|
|
41
|
+
"javascript-obfuscator": "^4.2.2",
|
|
42
|
+
"playwright": "^1.57.0"
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
43
45
|
"bcrypt": "^6.0.0",
|
|
44
46
|
"compression": "^1.8.1",
|
|
47
|
+
"diff": "^8.0.3",
|
|
45
48
|
"dockerode": "^4.0.2",
|
|
46
49
|
"dotenv": "^17.2.3",
|
|
47
50
|
"ejs": "^3.1.10",
|
|
@@ -54,6 +57,7 @@
|
|
|
54
57
|
"mime-types": "^2.1.35",
|
|
55
58
|
"minimatch": "^10.0.1",
|
|
56
59
|
"multer": "^2.0.2",
|
|
60
|
+
"node-cron": "^4.2.1",
|
|
57
61
|
"nodemailer": "^7.0.10",
|
|
58
62
|
"openid-client": "^6.8.1",
|
|
59
63
|
"sharp": "^0.34.5",
|