@rudderhq/cli 0.4.5-canary.0 → 0.4.6-canary.0

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/dist/index.js CHANGED
@@ -9,6 +9,21 @@ var __export = (target, all) => {
9
9
  __defProp(target, name, { get: all[name], enumerable: true });
10
10
  };
11
11
 
12
+ // ../packages/shared/dist/project-mentions.js
13
+ var init_project_mentions = __esm({
14
+ "../packages/shared/dist/project-mentions.js"() {
15
+ "use strict";
16
+ }
17
+ });
18
+
19
+ // ../packages/shared/dist/chat-work-manifest.js
20
+ var init_chat_work_manifest = __esm({
21
+ "../packages/shared/dist/chat-work-manifest.js"() {
22
+ "use strict";
23
+ init_project_mentions();
24
+ }
25
+ });
26
+
12
27
  // ../packages/shared/dist/constants.js
13
28
  var ORGANIZATION_STATUSES, ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES, ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES, DEPLOYMENT_MODES, DEPLOYMENT_EXPOSURES, AUTH_BASE_URL_MODES, AGENT_STATUSES, AGENT_RUNTIME_TYPES, AGENT_ROLES, AGENT_ICON_NAMES, AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX, AGENT_AVATAR_BACKGROUND_PRESET_IDS, ISSUE_STATUSES, ISSUE_PRIORITIES, AGENT_INTEGRATION_PROVIDERS, AGENT_INTEGRATION_STATUSES, AGENT_INTEGRATION_TRANSPORTS, AGENT_INTEGRATION_PROVIDER_REGIONS, AGENT_INTEGRATION_CHAT_TYPES, AGENT_INTEGRATION_DROP_REASONS, AGENT_INTEGRATION_OUTBOUND_STATUSES, CUSTOM_INTEGRATION_KINDS, CUSTOM_INTEGRATION_SCOPES, CUSTOM_INTEGRATION_STATUSES, CUSTOM_INTEGRATION_TOOL_STATUSES, CUSTOM_INTEGRATION_BINDING_STATUSES, CUSTOM_INTEGRATION_TOOL_CALL_STATUSES, CALENDAR_SOURCE_TYPES, CALENDAR_OWNER_TYPES, CALENDAR_VISIBILITIES, CALENDAR_SOURCE_STATUSES, CALENDAR_EVENT_KINDS, CALENDAR_EVENT_STATUSES, CALENDAR_SOURCE_MODES, CHAT_CONVERSATION_STATUSES, CHAT_ISSUE_CREATION_MODES, CHAT_MESSAGE_ROLES, CHAT_MESSAGE_KINDS, CHAT_MESSAGE_STATUSES, CHAT_CONTEXT_ENTITY_TYPES, GOAL_LEVELS, GOAL_STATUSES, PROJECT_STATUSES, ORGANIZATION_RESOURCE_KINDS, ORGANIZATION_RESOURCE_SOURCE_TYPES, PROJECT_RESOURCE_ATTACHMENT_ROLES, AUTOMATION_STATUSES, AUTOMATION_CONCURRENCY_POLICIES, AUTOMATION_CATCH_UP_POLICIES, AUTOMATION_OUTPUT_MODES, AUTOMATION_TRIGGER_SIGNING_MODES, PROJECT_COLORS, PROJECT_ICONS, APPROVAL_TYPES, SECRET_PROVIDERS, STORAGE_PROVIDERS, BILLING_TYPES, FINANCE_EVENT_KINDS, FINANCE_DIRECTIONS, FINANCE_UNITS, BUDGET_SCOPE_TYPES, BUDGET_METRICS, BUDGET_WINDOW_KINDS, BUDGET_INCIDENT_RESOLUTION_ACTIONS, INVITE_JOIN_TYPES, JOIN_REQUEST_TYPES, JOIN_REQUEST_STATUSES, PERMISSION_KEYS, PLUGIN_STATUSES, PLUGIN_CATEGORIES, PLUGIN_CAPABILITIES, PLUGIN_UI_SLOT_TYPES, PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS, PLUGIN_LAUNCHER_PLACEMENT_ZONES, PLUGIN_LAUNCHER_ACTIONS, PLUGIN_LAUNCHER_BOUNDS, PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS, PLUGIN_UI_SLOT_ENTITY_TYPES, PLUGIN_STATE_SCOPE_KINDS;
14
29
  var init_constants = __esm({
@@ -499,7 +514,7 @@ var init_workspace_backup = __esm({
499
514
  function imageDataUrl(mimeType, base64) {
500
515
  return `data:${mimeType};base64,${base64}`;
501
516
  }
502
- var xIcon, linkedinIcon, githubIcon, youtubeIcon, googleIcon, googleDocsIcon, notionIcon, linearIcon, openaiIcon, chatgptIcon, anthropicIcon, claudeIcon, figmaIcon, slackIcon, stackoverflowIcon, vercelIcon, cloudflareIcon, arxivIcon, feishuIcon, rudderIcon, KNOWN_WEBSITE_ICONS, knownWebsiteIconByHostname;
517
+ var xIcon, linkedinIcon, githubIcon, youtubeIcon, googleIcon, googleDocsIcon, notionIcon, linearIcon, openaiIcon, chatgptIcon, anthropicIcon, claudeIcon, figmaIcon, slackIcon, stackoverflowIcon, vercelIcon, cloudflareIcon, arxivIcon, redditIcon, mediumIcon, hackerNewsIcon, linuxDoIcon, feishuIcon, rudderIcon, KNOWN_WEBSITE_ICONS, knownWebsiteIconByHostname;
503
518
  var init_website_icons = __esm({
504
519
  "../packages/shared/dist/website-icons.js"() {
505
520
  "use strict";
@@ -521,7 +536,11 @@ var init_website_icons = __esm({
521
536
  vercelIcon = imageDataUrl("image/x-icon", "AAABAAMAMDAAAAEAIACoJQAANgAAACAgAAABACAAqBAAAN4lAAAQEAAAAQAgAGgEAACGNgAAKAAAADAAAABgAAAAAQAgAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAANwAAAG8AAACkAAAAzQAAAOgAAAD3AAAA/gAAAP4AAAD3AAAA6AAAAM0AAACkAAAAbwAAADcAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAKAAAAHMAAAC9AAAA6gAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAOoAAAC9AAAAcwAAACgAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAC4AAACRAAAA4gAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAOMAAACRAAAALgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAfQAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4wAAAH0AAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADsAAADAAAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAADAAAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAXgAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4wAAAF4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAByAAAA8QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPEAAAByAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAHIAAAD0AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAcgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwAAAPEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8QAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAC/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAC4AAAAAAAAAAAAAAAAAAAACAAAAkQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJAAAAABAAAAAAAAAAAAAAApAAAA4gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAAAoAAAAAAAAAAAAAABzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0ZGRv+Ojo7/jIyM/4yMjP+MjIz/jIyM/4yMjP+MjIz/jIyM/4yMjP+MjIz/jIyM/4yMjP+MjIz/jIyM/4yMjP+MjIz/jIyM/4yMjP+MjIz/jIyM/4yMjP+NjY3/dnZ2/w4ODv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABzAAAAAAAAAA0AAAC8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/zY2Nv/m5ub/////////////////////////////////////////////////////////////////////////////////////////////////////////////////jIyM/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC8AAAADQAAADcAAADpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf+EhIT////////////////////////////////////////////////////////////////////////////////////////////////////////////W1tb/IiIi/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAANwAAAG8AAAD8AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8fHx//0tLS//////////////////////////////////////////////////////////////////////////////////////////////////z8/P9ra2v/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD8AAAAbwAAAKQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Z2dn//r6+v///////////////////////////////////////////////////////////////////////////////////////////7+/v/8TExP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAApAAAAM0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ERER/7u7u///////////////////////////////////////////////////////////////////////////////////////9PT0/1BQUP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAzQAAAOcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0tLS//y8vL/////////////////////////////////////////////////////////////////////////////////paWl/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5wAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wcHB/+hoaH////////////////////////////////////////////////////////////////////////////n5+f/Nzc3/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8zMzP/5OTk//////////////////////////////////////////////////////////////////////+JiYn/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/hISE/////////////////////////////////////////////////////////////////9bW1v8iIiL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Hx8f/9LS0v///////////////////////////////////////////////////////Pz8/2tra/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAAAOcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2dnZ//6+vr/////////////////////////////////////////////////v7+//xMTE/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5wAAAM0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xEREf+7u7v////////////////////////////////////////////09PT/UFBQ/wAA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AAAAAAAAAAAAAAAAABYAAAC/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgAAAPEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8QAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHIAAAD0AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAcgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAByAAAA8QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPEAAAByAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAXgAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4wAAAF4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADsAAADAAAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAC/AAAAOwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAfQAAAOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4wAAAH0AAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAC4AAACRAAAA4wAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAOIAAACRAAAALgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAKAAAAHMAAAC9AAAA6gAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/AAAAOoAAAC9AAAAcwAAACgAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAANwAAAG8AAACkAAAAzQAAAOgAAAD3AAAA/gAAAP4AAAD3AAAA6AAAAM0AAACkAAAAbwAAADcAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//4Af//wAA//8AAP//AAD/+AAAH/8AAP/wAAAP/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA8AAAAAAPAADwAAAAAA8AAOAAAAAABwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAPAAAAAADwAA8AAAAAAPAAD4AAAAAB8AAPwAAAAAPwAA/gAAAAB/AAD/AAAAAP8AAP+AAAAB/wAA/8AAAAP/AAD/8AAAD/8AAP/4AAAf/wAA//8AAP//AAD//+AH//8AACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKgAAAG0AAACtAAAA2gAAAPMAAAD9AAAA/QAAAPMAAADaAAAArQAAAG0AAAAqAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAANwAAAJgAAADgAAAA+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAOAAAACYAAAANwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAIoAAADqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADqAAAAigAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYAAADDAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAAwwAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCAAAA2QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAANkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADCAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAwgAAABoAAAAAAAAAAAAAAAAAAAACAAAAigAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAigAAAAIAAAAAAAAAAAAAADgAAADpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAAOAAAAAAAAAADAAAAlwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQEBP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAAAwAAACoAAADfAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/X19f/6+vr/+srKz/rKys/6ysrP+srKz/rKys/6ysrP+srKz/rKys/6ysrP+srKz/rKys/6ysrP+vr6//iIiI/wwMDP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAN8AAAAqAAAAbQAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP84ODj/6Ojo//////////////////////////////////////////////////////////////////39/f9xcXH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAG0AAACtAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf+Hh4f/////////////////////////////////////////////////////////////////wcHB/xQUFP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAArQAAANkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yEhIf/V1dX///////////////////////////////////////////////////////T09P9RUVH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADZAAAA8gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2pqav/7+/v/////////////////////////////////////////////////p6en/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPIAAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EhIS/76+vv///////////////////////////////////////////+jo6P84ODj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Tk5O//Pz8///////////////////////////////////////ioqK/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA8gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8ICAj/pKSk/////////////////////////////////9fX1/8jIyP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPIAAADZAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP82Njb/5ubm///////////////////////8/Pz/bW1t/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAK0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf+Hh4f//////////////////////8HBwf8UFBT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACtAAAAbQAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yEhIf/V1dX////////////09PT/UVFR/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAG0AAAAqAAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2pqav/7+/v//////6enp/8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAKgAAAAMAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EhIS/8DAwP/r6+v/ODg4/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJcAAAADAAAAAAAAADgAAADpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/UFBQ/39/f/8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAAOAAAAAAAAAAAAAAAAgAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8GBgb/CwsL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIoAAAACAAAAAAAAAAAAAAAAAAAAGgAAAMIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADCAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAANkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAANkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANkAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAMMAAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAADDAAAANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAIoAAADqAAAA/wAAAP8AAAD/AAAA/wAA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");
522
537
  cloudflareIcon = imageDataUrl("image/png", "iVBORw0KGgoAAAANSUhEUgAAAGMAAABgCAMAAAA+cTwJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABCUExURUdwTP9QCv9PC/9PCf//6/9PD5NwcP9QCv/79fZNCf1PCvpOCvRMCf/s4P3Nt/1eH/ujfvy6nf2RZv17Rv/byf2vjnXJwEoAAAAHdFJOUwDWVIwBEAHHGD0SAAAC1UlEQVRo3u3aCY+rIBAA4NpLmJFD0P//Vx8eVVCwhUKzeXGSptsqfDvDYXfr5TLG43qrKqyzBVbV7Xpx4pqx+zUqW7nVheJWnliRa10wpnI9q5IGPoqnMSdyK2uMI1KVNapfGVjWgMGoC8dpnMZpnMZp/HFD6J4zQgjruBJFDN0P/S/BVXZDcLINpvIakhFPcJHPEC3xB9O5DNGRYKg8xhFBiM5i9EcEYSKDochxdN8bgr0xiPzaaN8Rh9U6NEBrPbQV5H3IJENM+4ZZye0HxkEiYUOuzdkHxsEiCRqSREYba0A0QRhEGoJFG7zWUiotPjZUNEEUdIFrSsDg8aUSInRN8RsQn0aLKjSRsxkaeejy6DUg3mCILLRcfAZA/LTSVASvKXtDSB4/cSXdGeuYbA0h4wFDNJRSHlr4G0OkCExRY6AOXYFdQycQrBdDFgbZloD7DF8W5jPnK9pX9PIVymweTTMZtBFayb41Z7oj4hi+LFTzPug2uDN/bcO7STFmZbKmsiQyF4qieZg0ZGvyYO6o20bKeJuOxEigZ0Z2sDU0SYt+ENA3XdjOaBMNIgzhvxgAgGNAl2ooxEANRmIxjMhSDY2BpcsQ3FoBSTcCn4Y7dGsFycZuW18XumuYWqWORx8aDTNQo3G/DwYYw0yOYR2FlvH0NP+8vB5XxhLTsbnRsE3iOLHmPGA0/MSouHuGZbvC2oFlPO+vWh2m0Yy/HnWQXR4OMh3yGzS44TXWk8VtiLle1DLutoF2b02z7c0buDesDKc87PGYz3vXrZ+wE1kO2XkAgJNJiuE5MO0l93V9YLZYZJjyWNf5F0ig6ZTGazzscsX27284vb3ZE2soEHUeI9ww+FkU5sfQdH1nfgnzq92fZWCftj3l/L/oaZzGsVH4u1T8n753/sV39L+41+CBxUv1k3s/fnIPy0/uxTHlKjKB0b6n6Pm8ZL43CoZ7ox5z9/8AXA8Zr53RgkAAAAAASUVORK5CYII=");
523
538
  arxivIcon = imageDataUrl("image/png", "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACr1BMVEUAAACzICWzICSyrKazrKWzqaKzraazR0mzTE6zaGizBQiz49uzZmSzEBazHySzsam0ICmzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzICWzrKWzrKWzICWzICWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzICWzrKWzrKWzrKWzICWzICWzICWzHySz4dWzrKWzrKWzrKWzICWzICWzHySzgX2zrqezrKWzrKWzICWzPD+zrKWzrKWzrKWzICWzHySzjYmzr6izraazT1CzLjKzMDSzQUOzrKWzrqezgH2zKi6zHySzICWzrKWzrKWzcW+zICWzICWzrKWzrKWzYWGzICWzrKWzUVKzICWzrKWzrKWznZezQkSzICWzICWzrKWzraazkY2zHiOzICWzICWzjYmzm5WzhIGzODuzAACzHySzHSKzOz6zrqazs6yzICWzICWzODuzrKWzrKWzrKWzICWzICWzODuzo5yzrKWzrKWzICWzICWzICWzGyCzr6ezrKWzrKWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzrKWzrKWzrKWzrKWzrKWzICWzICWzICWzrKWzrKWzrKWzrKWzICWzICWzICWzrKWzrKWzrKWzICWzICWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzrKWzICWzrKWzHySzkYyzrqezHiOzODuzJCmzqaOzISazraazpZ6zNTizkIuzi4ezraX///8A/VYjAAAA1HRSTlMAAAAAAAAAAAAAAAAAAAAAAAGA95kOB7X6kQ9W8fyaEQIBA3z9oRUllnUKDJz+qBgwxuwxGbquHD3SpQwt1CBL3cEeR+e7JFvm1mX0wSgEbO5HBYXFkfPyYaX++n0EHsH9lwtO8/NRJrr8/ttFGb7+3jpk/v6ecv6sK9j+/vVcQNf+8nUGSfD7dQMHivyVCmr2/vl3A0np28zvWS7V0joht+HJMR2vzCcLvygYp7IVc7QhFJ/9lQkSzhoRl/t2lu0UDY9XDSoLhvjgOwh89a4GB4L2i8A61lMAAAABYktHROQvYjspAAAAB3RJTUUH5wETDS455INCLAAAAgZJREFUOMt10/dfTXEYB/Dz6Ilst3lFueWmjDIysmdkF0Kyyd7Ze5WZcc2ErIhKISops6zs73Pda1zrH/EcoXPqe8+vn/fre57z+T5HURQwuHt4eoHi9AFvH2Fs6gu1nAJo1lz4+beAqkNc0BSAGhHY0ijMQa3+C8TgkNZttKJtOyFCw9r/FYgdOlKncC2Azl2EEF27/RGIEd2JevRE3Ri9erPw6cMCA/r2I+o/AFE/6MBBLCIHg6tpSBTR0HB9rophw1mMGDlqdDRRVEz1nMWYsX4sxsWOJ5owsWbOwjeOgXXSR1v85CmSnF8ydZpVCPun6TNm1pY2Wsdt1mwW1oQ5devJcsS58+YvUMXCRSC7Oly8hGjpZxZi2XKJQFyRSPRl5VcGYpVBBlYTkePbGvWItYGSd+C69arYsNEuNm2WDYG4ZauDyLbt+/YdO6X7Vb9BUjILx67dexpKe2i0d9/+HzYWKQcay3IwHDxkP/yT57AcOSq7Cjh2nIs+cfIXUeopyWVC2mn+vjNn08/xGecjaojKpbtwEVwvZbC4fKWagEx/zq9eA0DMyuZKc67rN65JrlGIvBtqP4g3b+VT4u07uqUtKBTmsKLK/hDvFt8jS4lJu/fepfc9H1T9OA8fxVPqY80YAE/KMjX9Y/nTZ/T8hWwz/4mXFa/o9RvnQMG3795/UKf4DUwCyzJ9eBcsAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIzLTAxLTE5VDEzOjQ2OjU3KzAwOjAwqJ4w4AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMy0wMS0xOVQxMzo0Njo1NyswMDowMNnDiFwAAABXelRYdFJhdyBwcm9maWxlIHR5cGUgaXB0YwAAeJzj8gwIcVYoKMpPy8xJ5VIAAyMLLmMLEyMTS5MUAxMgRIA0w2QDI7NUIMvY1MjEzMQcxAfLgEigSi4A6hcRdPJCNZUAAAAASUVORK5CYII=");
524
- feishuIcon = imageDataUrl("image/svg+xml", "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTIuOTIzOCAxMi44MDI5QzEyLjk0MjcgMTIuNzg0IDEyLjk2MTYgMTIuNzY4MiAxMi45ODA2IDEyLjc0OTNDMTMuMDE4NCAxMi43MTQ2IDEzLjA1NjMgMTIuNjc2NyAxMy4wOTEgMTIuNjM4OUwxMy4xNjY3IDEyLjU2MzFMMTMuMzk3IDEyLjMzNkwxNC43MzE1IDExLjAxNzNMMTUuMDY1OSAxMC42ODZDMTUuMTI5IDEwLjYyMjkgMTUuMTk1MiAxMC41NjMgMTUuMjYxNSAxMC41MDMxQzE1LjM4NDUgMTAuMzkyNiAxNS41MDc2IDEwLjI4NTQgMTUuNjM2OSAxMC4xODEzQzE1Ljc1MzYgMTAuMDg2NiAxNS44NzY3IDkuOTk1MTQgMTUuOTk5NyA5LjkwNjhDMTYuMTczMiA5Ljc4Mzc2IDE2LjM0OTkgOS42NzAxOSAxNi41MzI5IDkuNTU5NzdDMTYuNzEyNyA5LjQ1MjUxIDE2Ljg5NTcgOS4zNTQ3MSAxNy4wODUgOS4yNjMyMkMxNy4yNjE2IDkuMTc4MDQgMTcuNDQxNSA5LjA5OTE3IDE3LjYyNzYgOS4wMjY2MUMxNy43MzE3IDguOTg1NiAxNy44MzI2IDguOTQ3NzQgMTcuOTM5OSA4LjkxMzA0QzE3Ljk5MzUgOC44OTQxMSAxOC4wNDQgOC44NzgzNCAxOC4wOTc3IDguODYyNTZDMTcuNjI3NiA3LjAwNDM5IDE2Ljc2MzIgNS4zMDA4IDE1LjU5OTEgMy44NDk1OUMxNS4zNzE5IDMuNTY1NjYgMTUuMDI0OSAzLjQwMTYxIDE0LjY1ODkgMy40MDE2MUg1LjAwODRDNC44MzQ4OSAzLjQwMTYxIDQuNzYyMzMgMy42MjU2IDQuOTAxMTQgMy43MjY1NkM4LjE4NTI4IDYuMTM5OTcgMTAuOTIzNiA5LjI0MTE0IDEyLjkwMTcgMTIuODI1QzEyLjkwOCAxMi44MTg3IDEyLjkxNzUgMTIuODEyNCAxMi45MjM4IDEyLjgwMjlaIiBmaWxsPSIjMDBENkI5IiAvPgogIDxwYXRoIGQ9Ik05LjA5Njk2IDIxLjI5ODZDMTQuMDgxNSAyMS4yOTg2IDE4LjQyMjUgMTguNTQ3NiAyMC42ODc3IDE0LjQ4NDNDMjAuNzY2NiAxNC4zNDIzIDIwLjg0NTQgMTQuMTk3MiAyMC45MTggMTQuMDUyQzIwLjgwNDQgMTQuMjcyOSAyMC42NzUxIDE0LjQ4MTEgMjAuNTM5NCAxNC42NzY3QzIwLjQ4ODkgMTQuNzQ2MSAyMC40Mzg1IDE0LjgxNTUgMjAuMzg4IDE0Ljg4MThDMjAuMzIxNyAxNC45NjY5IDIwLjI1NTUgMTUuMDQ5IDIwLjE4NjEgMTUuMTI3OEMyMC4xMzI0IDE1LjE5MDkgMjAuMDc1NyAxNS4yNTA5IDIwLjAxODkgMTUuMzEwOEMxOS45MDIxIDE1LjQzMDcgMTkuNzgyMyAxNS41NDc0IDE5LjY1NjEgMTUuNjU0N0MxOS41ODY3IDE1LjcxNDYgMTkuNTE0MSAxNS43NzE0IDE5LjQ0MTUgMTUuODI4MkMxOS4zNTY0IDE1Ljg5NDQgMTkuMjY4IDE1Ljk1NzUgMTkuMTc5NyAxNi4wMTQzQzE5LjEyMjkgMTYuMDUyMiAxOS4wNjYxIDE2LjA5IDE5LjAwOTMgMTYuMTI0N0MxOC45NDk0IDE2LjE2MjYgMTguODg5NSAxNi4xOTczIDE4LjgyNjQgMTYuMjMyQzE4LjcwMDIgMTYuMzAxNCAxOC41NzQgMTYuMzY0NSAxOC40NDQ2IDE2LjQyNDVDMTguMzMxMSAxNi40NzQ5IDE4LjIxNzUgMTYuNTIyMyAxOC4xMDA4IDE2LjU2MzNDMTcuOTc0NiAxNi42MTA2IDE3Ljg0NTIgMTYuNjUxNiAxNy43MTU5IDE2LjY4NjNDMTcuNTIzNCAxNi43Mzk5IDE3LjMyNDcgMTYuNzgwOSAxNy4xMjU5IDE2LjgxMjVDMTYuOTgwOCAxNi44MzQ2IDE2LjgzNTcgMTYuODUwNCAxNi42ODc0IDE2Ljg2M0MxNi41MzI4IDE2Ljg3MjQgMTYuMzc1MSAxNi44Nzg3IDE2LjIxNzMgMTYuODc1NkMxNi4wNDM4IDE2Ljg3MjQgMTUuODcwMyAxNi44NjMgMTUuNjkzNiAxNi44NDRDMTUuNTY0MyAxNi44MzE0IDE1LjQzNSAxNi44MTI1IDE1LjMwNTYgMTYuNzg3M0MxNS4xOTIgMTYuNzY4MyAxNS4wNzg1IDE2Ljc0MzEgMTQuOTY0OSAxNi43MTc4QzE0LjkwNDkgMTYuNzAyMSAxNC44NDUgMTYuNjg5NSAxNC43ODUxIDE2LjY3MzdDMTQuNjE3OSAxNi42Mjk1IDE0LjQ1MzggMTYuNTgyMiAxNC4yODk4IDE2LjUzNDlDMTQuMjA3NyAxNi41MDk2IDE0LjEyNTcgMTYuNDg3NSAxNC4wNDM3IDE2LjQ2MjNDMTMuOTIwNiAxNi40MjQ1IDEzLjc5NzYgMTYuMzg5NyAxMy42Nzc3IDE2LjM1MTlDMTMuNTc2OCAxNi4zMjAzIDEzLjQ3OSAxNi4yODg4IDEzLjM3OCAxNi4yNTcyQzEzLjI4MzQgMTYuMjI1NyAxMy4xODg3IDE2LjE5NDIgMTMuMDk0MSAxNi4xNjI2QzEzLjAzMSAxNi4xNDA1IDEyLjk2NDcgMTYuMTE4NCAxMi45MDE2IDE2LjA5NjRDMTIuODIyOCAxNi4wNzExIDEyLjc0NzEgMTYuMDQyNyAxMi42NjgyIDE2LjAxNDNDMTIuNjExNCAxNS45OTU0IDEyLjU1NzggMTUuOTc2NSAxMi41MDEgMTUuOTU0NEMxMi4zOTA2IDE1LjkxMzQgMTIuMjgwMiAxNS44NzU1IDEyLjE3MjkgMTUuODM0NUMxMi4xMDk4IDE1LjgwOTMgMTIuMDQ2NyAxNS43ODcyIDExLjk4MzYgMTUuNzYxOUMxMS44OTg0IDE1LjczMDQgMTEuODEzMiAxNS42OTU3IDExLjczMTIgMTUuNjY0MUMxMS42NDI5IDE1LjYyOTQgMTEuNTUxNCAxNS41OTQ3IDExLjQ2MzEgMTUuNTU2OUMxMS40MDYzIDE1LjUzNDggMTEuMzQ2MyAxNS41MDk2IDExLjI4OTUgMTUuNDg3NUMxMS4yMTcgMTUuNDU5MSAxMS4xNDc2IDE1LjQyNzUgMTEuMDc1IDE1LjM5OTFDMTEuMDIxNCAxNS4zNzcxIDEwLjk2NDYgMTUuMzUxOCAxMC45MTEgMTUuMzI5N0MxMC44NTQyIDE1LjMwNDUgMTAuNzk3NCAxNS4yNzkzIDEwLjc0MDYgMTUuMjU0QzEwLjY5MDEgMTUuMjMxOSAxMC42NDI4IDE1LjIwOTkgMTAuNTkyMyAxNS4xODc4QzEwLjU0ODIgMTUuMTY4OCAxMC41MDA4IDE1LjE0NjggMTAuNDU2NyAxNS4xMjc4QzEwLjQwOTQgMTUuMTA1NyAxMC4zNjUyIDE1LjA4NjggMTAuMzE3OSAxNS4wNjQ3QzEwLjI3MDUgMTUuMDQyNyAxMC4yMjMyIDE1LjAyMDYgMTAuMTc1OSAxNC45OTg1QzEwLjExNiAxNC45NzAxIDEwLjA1NiAxNC45NDE3IDkuOTk2MDggMTQuOTE2NUM5LjkzMjk5IDE0Ljg4ODEgOS44NzMwNCAxNC44NTY1IDkuODA5OTUgMTQuODI4MUM5Ljc0MzcgMTQuNzk2NiA5LjY3NzQ1IDE0Ljc2NSA5LjYxMTIgMTQuNzMwM0M5LjU1NDQxIDE0LjcwMTkgOS40OTc2MiAxNC42NzM1IDkuNDQwODQgMTQuNjQ4M0M2LjQ1MzI0IDEzLjE1OTIgMy44MDMyMSAxMS4xNzE3IDEuNTQ0MzggOC43NjE0NUMxLjQzMDgxIDguNjQxNTcgMS4yMzIwNiA4LjcyMDQ0IDEuMjMyMDYgOC44ODQ0OUwxLjIzODM2IDE4LjA5MzNDMS4yMzgzNiAxOC40OTQgMS40MzcxMiAxOC44NzI2IDEuNzcxNTMgMTkuMDkzNEMzLjg2NjMxIDIwLjQ4NzggNi4zODY5OSAyMS4yOTg2IDkuMDk2OTYgMjEuMjk4NloiIGZpbGw9IiMzMzcwRkYiIC8+CiAgPHBhdGggZD0iTTIzLjczMjIgOS4yOTQ4OEMyMi43MjI2IDguNzk2NDIgMjEuNTgzOCA4LjUxODggMjAuMzgxOCA4LjUxODhDMTkuNjY4OCA4LjUxODggMTguOTc0NyA4LjYxNjYgMTguMzIxNyA4LjgwMjczQzE4LjI0NiA4LjgyNDgxIDE4LjE3MDMgOC44NDY5IDE4LjA5NzcgOC44Njg5OEMxOC4wNDQxIDguODg0NzYgMTcuOTkwNSA4LjkwMzY4IDE3Ljk0IDguOTE5NDZDMTcuODM1OSA4Ljk1NDE2IDE3LjczMTggOC45OTIwMiAxNy42Mjc2IDkuMDMzMDNDMTcuNDQ0NyA5LjEwNTU5IDE3LjI2MTcgOS4xODQ0NiAxNy4wODUgOS4yNjk2NEMxNi44OTU3IDkuMzYxMTMgMTYuNzEyOCA5LjQ1ODkzIDE2LjUzMjkgOS41NjYxOUMxNi4zNSA5LjY3MzQ1IDE2LjE3MDEgOS43OTAxOCAxNS45OTk4IDkuOTEzMjJDMTUuODc2NyAxMC4wMDE2IDE1Ljc1NjkgMTAuMDkzIDE1LjYzNyAxMC4xODc3QzE1LjUwNzYgMTAuMjkxOCAxNS4zODQ2IDEwLjM5OTEgMTUuMjYxNiAxMC41MDk1QzE1LjE5NTMgMTAuNTY5NCAxNS4xMzIyIDEwLjYzMjUgMTUuMDY2IDEwLjY5MjVMMTQuNzMxNSAxMS4wMjA2TDEzLjM5MzkgMTIuMzQyNEwxMy4xNjM2IDEyLjU2OTZMMTMuMDg3OSAxMi42NDUzQzEzLjA1IDEyLjY4MzEgMTMuMDEyMiAxMi43MTc4IDEyLjk3NzUgMTIuNzU1N0MxMi45NTg2IDEyLjc3NDYgMTIuOTM5NiAxMi43OTA0IDEyLjkyMDcgMTIuODA5M0MxMi44OTIzIDEyLjgzNzcgMTIuODYzOSAxMi44NjMgMTIuODM1NSAxMi44ODgyQzEyLjgwNCAxMi45MTY2IDEyLjc3MjQgMTIuOTQ4MSAxMi43NDA5IDEyLjk3NjVDMTEuOTE0MyAxMy43MzY4IDEwLjk5MzEgMTQuMzg5OSA5Ljk5MzA0IDE0LjkyM0MxMC4wNTMgMTQuOTUxNCAxMC4xMTI5IDE0Ljk3OTggMTAuMTcyOSAxNS4wMDUxQzEwLjIyMDIgMTUuMDI3MSAxMC4yNjc1IDE1LjA0OTIgMTAuMzE0OCAxNS4wNzEzQzEwLjM1OSAxNS4wOTM0IDEwLjQwNjMgMTUuMTEyMyAxMC40NTM2IDE1LjEzNDRDMTAuNDk3OCAxNS4xNTMzIDEwLjU0NTEgMTUuMTc1NCAxMC41ODkzIDE1LjE5NDNDMTAuNjM5OCAxNS4yMTY0IDEwLjY4NzEgMTUuMjM4NSAxMC43Mzc2IDE1LjI2MDZDMTAuNzk0NCAxNS4yODU4IDEwLjg1MTEgMTUuMzExMSAxMC45MDc5IDE1LjMzNjNDMTAuOTYxNiAxNS4zNTg0IDExLjAxODQgMTUuMzgzNiAxMS4wNzIgMTUuNDA1N0MxMS4xNDQ1IDE1LjQzNzMgMTEuMjEzOSAxNS40NjU3IDExLjI4NjUgMTUuNDk0MUMxMS4zNDMzIDE1LjUxOTMgMTEuNDAzMiAxNS41NDE0IDExLjQ2IDE1LjU2MzVDMTEuNTQ4NCAxNS41OTgyIDExLjYzNjcgMTUuNjM2IDExLjcyODIgMTUuNjcwN0MxMS44MTM0IDE1LjcwMjMgMTEuODk1NCAxNS43MzcgMTEuOTgwNiAxNS43Njg1QzEyLjA0MzcgMTUuNzkzOCAxMi4xMDY4IDE1LjgxNTggMTIuMTY5OSAxNS44NDExQzEyLjI4MDMgMTUuODgyMSAxMi4zODc1IDE1LjkyMzEgMTIuNDk4IDE1Ljk2MUMxMi41NTQ3IDE1Ljk3OTkgMTIuNjA4NCAxNi4wMDIgMTIuNjY1MiAxNi4wMjA5QzEyLjc0NCAxNi4wNDkzIDEyLjgxOTcgMTYuMDc0NSAxMi44OTg2IDE2LjEwMjlDMTIuOTYxNyAxNi4xMjUgMTMuMDI4IDE2LjE0NzEgMTMuMDkxMSAxNi4xNjkyQzEzLjE4NTcgMTYuMjAwNyAxMy4yODAzIDE2LjIzMjMgMTMuMzc1IDE2LjI2MzhDMTMuNDcyOCAxNi4yOTU0IDEzLjU3MzcgMTYuMzI2OSAxMy42NzQ3IDE2LjM1ODVDMTMuNzk3NyAxNi4zOTYzIDEzLjkxNzYgMTYuNDM0MiAxNC4wNDA2IDE2LjQ2ODlDMTQuMTIyNyAxNi40OTQxIDE0LjIwNDcgMTYuNTE2MiAxNC4yODY3IDE2LjU0MTRDMTQuNDUwOCAxNi41ODg4IDE0LjYxOCAxNi42MzYxIDE0Ljc4MiAxNi42ODAzQzE0Ljg0MiAxNi42OTYgMTQuOTAxOSAxNi43MTE4IDE0Ljk2MTggMTYuNzI0NEMxNS4wNzU0IDE2Ljc1MjggMTUuMTg5IDE2Ljc3NDkgMTUuMzAyNiAxNi43OTM4QzE1LjQzMTkgMTYuODE1OSAxNS41NjEzIDE2LjgzNDggMTUuNjkwNiAxNi44NTA2QzE1Ljg2NzMgMTYuODY5NSAxNi4wNDA4IDE2Ljg4MjIgMTYuMjE0MyAxNi44ODIyQzE2LjM3MiAxNi44ODUzIDE2LjUyOTggMTYuODc5IDE2LjY4NDQgMTYuODY5NUMxNi44MzI2IDE2Ljg2MDEgMTYuOTc3OCAxNi44NDEyIDE3LjEyMjkgMTYuODE5MUMxNy4zMjQ4IDE2Ljc4NzUgMTcuNTIwNCAxNi43NDY1IDE3LjcxMjggMTYuNjkyOUMxNy44NDIyIDE2LjY1ODIgMTcuOTcxNSAxNi42MTcyIDE4LjA5NzcgMTYuNTY5OEMxOC4yMTQ0IDE2LjUyNTcgMTguMzI4IDE2LjQ4MTUgMTguNDQxNiAxNi40Mjc5QzE4LjU3MDkgMTYuMzY3OSAxOC43MDAzIDE2LjMwNDggMTguODIzMyAxNi4yMzU0QzE4Ljg4MzMgMTYuMjAwNyAxOC45NDY0IDE2LjE2NiAxOS4wMDYzIDE2LjEyODJDMTkuMDYzMSAxNi4wOTM1IDE5LjExOTkgMTYuMDU1NiAxOS4xNzY3IDE2LjAxNzhDMTkuMjY1IDE1Ljk1NzggMTkuMzUzMyAxNS44OTQ3IDE5LjQzODUgMTUuODMxNkMxOS41MTExIDE1Ljc3NDggMTkuNTgzNiAxNS43MTggMTkuNjUzIDE1LjY1ODFDMTkuNzc5MiAxNS41NTA4IDE5Ljg5OTEgMTUuNDM0MSAyMC4wMTU4IDE1LjMxNDJDMjAuMDcyNiAxNS4yNTQzIDIwLjEyOTQgMTUuMTk0MyAyMC4xODMgMTUuMTMxM0MyMC4yNTI0IDE1LjA1MjQgMjAuMzE4NyAxNC45NzA0IDIwLjM4NDkgMTQuODg1MkMyMC40MzU0IDE0LjgxODkgMjAuNDg1OSAxNC43NDk1IDIwLjUzNjQgMTQuNjgwMUMyMC42NzIgMTQuNDg0NSAyMC43OTgyIDE0LjI3NjMgMjAuOTExOCAxNC4wNTg2TDIxLjA0MTEgMTMuNzk5OUwyMi4yMDg0IDExLjQ3NDhMMjIuMjA1MyAxMS40ODEyQzIyLjU4MDcgMTAuNjU3OCAyMy4xMDEyIDkuOTE5NTMgMjMuNzMyMiA5LjI5NDg4WiIgZmlsbD0iIzEzM0M5QSIgLz4KPC9zdmc+Cg==");
539
+ redditIcon = imageDataUrl("image/svg+xml", "PHN2ZyBmaWxsPSIjRkY0NTAwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+UmVkZGl0PC90aXRsZT48cGF0aCBkPSJNMTIgMEM1LjM3MyAwIDAgNS4zNzMgMCAxMmMwIDMuMzE0IDEuMzQzIDYuMzE0IDMuNTE1IDguNDg1bC0yLjI4NiAyLjI4NkMuNzc1IDIzLjIyNSAxLjA5NyAyNCAxLjczOCAyNEgxMmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyUzE4LjYyNyAwIDEyIDBabTQuMzg4IDMuMTk5YzEuMTA0IDAgMS45OTkuODk1IDEuOTk5IDEuOTk5IDAgMS4xMDUtLjg5NSAyLTEuOTk5IDItLjk0NiAwLTEuNzM5LS42NTctMS45NDctMS41Mzl2LjAwMmMtMS4xNDcuMTYyLTIuMDMyIDEuMTUtMi4wMzIgMi4zNDF2LjAwN2MxLjc3Ni4wNjcgMy40LjU2NyA0LjY4NiAxLjM2My40NzMtLjM2MyAxLjA2NC0uNTggMS43MDctLjU4IDEuNTQ3IDAgMi44MDIgMS4yNTQgMi44MDIgMi44MDIgMCAxLjExNy0uNjU1IDIuMDgxLTEuNjAxIDIuNTMxLS4wODggMy4yNTYtMy42MzcgNS44NzYtNy45OTcgNS44NzYtNC4zNjEgMC03LjkwNS0yLjYxNy03Ljk5OC01Ljg3LS45NTQtLjQ0Ny0xLjYxNC0xLjQxNS0xLjYxNC0yLjUzOCAwLTEuNTQ4IDEuMjU1LTIuODAyIDIuODAzLTIuODAyLjY0NSAwIDEuMjM5LjIxOCAxLjcxMi41ODUgMS4yNzUtLjc5IDIuODgxLTEuMjkxIDQuNjQtMS4zNjV2LS4wMWMwLTEuNjYzIDEuMjYzLTMuMDM0IDIuODgtMy4yMDcuMTg4LS45MTEuOTkzLTEuNTk1IDEuOTU5LTEuNTk1Wm0tOC4wODUgOC4zNzZjLS43ODQgMC0xLjQ1OS43OC0xLjUwNiAxLjc5Ny0uMDQ3IDEuMDE2LjY0IDEuNDI5IDEuNDI2IDEuNDI5Ljc4NiAwIDEuMzcxLS4zNjkgMS40MTgtMS4zODUuMDQ3LTEuMDE3LS41NTMtMS44NDEtMS4zMzgtMS44NDFabTcuNDA2IDBjLS43ODYgMC0xLjM4NS44MjQtMS4zMzggMS44NDEuMDQ3IDEuMDE3LjYzNCAxLjM4NSAxLjQxOCAxLjM4NS43ODUgMCAxLjQ3My0uNDEzIDEuNDI2LTEuNDI5LS4wNDYtMS4wMTctLjcyMS0xLjc5Ny0xLjUwNi0xLjc5N1ptLTMuNzAzIDQuMDEzYy0uOTc0IDAtMS45MDcuMDQ4LTIuNzcuMTM1LS4xNDcuMDE1LS4yNDEuMTY4LS4xODMuMzA1LjQ4MyAxLjE1NCAxLjYyMiAxLjk2NCAyLjk1MyAxLjk2NCAxLjMzIDAgMi40Ny0uODEgMi45NTMtMS45NjQuMDU3LS4xMzctLjAzNy0uMjktLjE4NC0uMzA1LS44NjMtLjA4Ny0xLjc5NS0uMTM1LTIuNzY5LS4xMzVaIi8+PC9zdmc+");
540
+ mediumIcon = imageDataUrl("image/svg+xml", "PHN2ZyBmaWxsPSIjMDAwMDAwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+TWVkaXVtPC90aXRsZT48cGF0aCBkPSJNNC4yMSAwQTQuMjAxIDQuMjAxIDAgMCAwIDAgNC4yMXYxNS41OEE0LjIwMSA0LjIwMSAwIDAgMCA0LjIxIDI0aDE1LjU4QTQuMjAxIDQuMjAxIDAgMCAwIDI0IDE5Ljc5di0xLjA5M2MtLjEzNy4wMTMtLjI3OC4wMi0uNDIyLjAyLTIuNTc3IDAtNC4wMjctMi4xNDYtNC4wOS00LjgzMmE3LjU5MiA3LjU5MiAwIDAgMSAuMDIyLS43MDhjLjA5My0xLjE4Ni40NzUtMi4yNDEgMS4xMDUtMy4wMjJhMy44ODUgMy44ODUgMCAwIDEgMS4zOTUtMS4xYy40NjgtLjIzNyAxLjEyNy0uMzY3IDEuNjY0LS4zNjdoLjAyM2MuMTAxIDAgLjIwMi4wMDQuMzAzLjAxVjQuMjExQTQuMjAxIDQuMjAxIDAgMCAwIDE5Ljc5IDBabS4xOTggNS41ODNoNC4xNjVsMy41ODggOC40MzUgMy41OS04LjQzNWgzLjg2NHYuMTQ2bC0uMDE5LjAwNGMtLjcwNS4xNi0xLjA2My4zOTctMS4wNjMgMS4yNTRoLS4wMDNsLjAwMyAxMC4yNzRjLjA2LjY3Ni40MjQuODg1IDEuMDYzIDEuMDNsLjAyLjAwNHYuMTQ1aC00LjkyM3YtLjE0NWwuMDE5LS4wMDVjLjYzOS0uMTQ0Ljk5NC0uMzUzIDEuMDU0LTEuMDNWNy4yNjdsLTQuNzQ1IDExLjE1aC0uMjYxTDYuMTUgNy41Njl2OS40NDVjMCAuODU3LjM1OCAxLjA5NCAxLjA2MyAxLjI1M2wuMDIuMDA0di4xNDdINC40MDV2LS4xNDdsLjAxOS0uMDA0Yy43MDUtLjE2IDEuMDY1LS4zOTcgMS4wNjUtMS4yNTNWNi45ODdjMC0uODU3LS4zNTgtMS4wOTQtMS4wNjQtMS4yNTRsLS4wMTgtLjAwNHptMTkuMjUgMy42NjhjLTEuMDg2LjAyMy0xLjczMyAxLjMyMy0xLjgxMyAzLjEyNEgyNFY5LjI5OGExLjM3OCAxLjM3OCAwIDAgMC0uMzQyLS4wNDdabS0xLjg2MiAzLjYzMmMtLjEgMS43NTYuODYgMy4yMzkgMi4yMDQgMy42MzR2LTMuNjM0eiIvPjwvc3ZnPg==");
541
+ hackerNewsIcon = imageDataUrl("image/svg+xml", "PHN2ZyBmaWxsPSIjRjA2NTJGIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+WSBDb21iaW5hdG9yPC90aXRsZT48cGF0aCBkPSJNMCAyNFYwaDI0djI0SDB6TTYuOTUxIDUuODk2bDQuMTEyIDcuNzA4djUuMDY0aDEuNTgzdi00Ljk3Mmw0LjE0OC03Ljc5OWgtMS43NDlsLTIuNDU3IDQuODc1Yy0uMzcyLjc0NS0uNjg4IDEuNDM0LS42ODggMS40MzRzLS4yOTctLjcwOC0uNjUxLTEuNDM0TDguODMxIDUuODk2aC0xLjg4eiIvPjwvc3ZnPg==");
542
+ linuxDoIcon = imageDataUrl("image/svg+xml", "PHN2ZyBmaWxsPSIjMDAwMDAwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+RGlzY291cnNlPC90aXRsZT48cGF0aCBkPSJNMTIuMTAzIDBDMTguNjY2IDAgMjQgNS40ODUgMjQgMTEuOTk3YzAgNi41MS01LjMzIDExLjk5LTExLjkgMTEuOTlMMCAyNFYxMS43OUMwIDUuMjggNS41MzIgMCAxMi4xMDMgMHptLjExNiA0LjU2M2MtMi41OTMtLjAwMy00Ljk5NiAxLjM1Mi02LjMzNyAzLjU3LTEuMzMgMi4yMDgtMS4zODcgNC45NTctLjE0OCA3LjIyTDQuNCAxOS42MWw0Ljc5NC0xLjA3NGMyLjc0NSAxLjIyNSA1Ljk2NS42NzYgOC4xMzYtMS4zOSAyLjE3LTIuMDU0IDIuODYtNS4yMjggMS43MzctNy45OTctMS4xMzUtMi43NzgtMy44NC00LjU5LTYuODQtNC41ODVoLS4wMDh6Ii8+PC9zdmc+");
543
+ feishuIcon = imageDataUrl("image/svg+xml", "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTIuOTIzOCAxMi44MDI5QzEyLjk0MjcgMTIuNzg0IDEyLjk2MTYgMTIuNzY4MiAxMi45ODA2IDEyLjc0OTNDMTMuMDE4NCAxMi43MTQ2IDEzLjA1NjMgMTIuNjc2NyAxMy4wOTEgMTIuNjM4OUwxMy4xNjY3IDEyLjU2MzFMMTMuMzk3IDEyLjMzNkwxNC43MzE1IDExLjAxNzNMMTUuMDY1OSAxMC42ODZDMTUuMTI5IDEwLjYyMjkgMTUuMTk1MiAxMC41NjMgMTUuMjYxNSAxMC41MDMxQzE1LjM4NDUgMTAuMzkyNiAxNS41MDc2IDEwLjI4NTQgMTUuNjM2OSAxMC4xODEzQzE1Ljc1MzYgMTAuMDg2NiAxNS44NzY3IDkuOTk1MTQgMTUuOTk5NyA5LjkwNjhDMTYuMTczMiA5Ljc4Mzc2IDE2LjM0OTkgOS42NzAxOSAxNi41MzI5IDkuNTU5NzdDMTYuNzEyNyA5LjQ1MjUxIDE2Ljg5NTcgOS4zNTQ3MSAxNy4wODUgOS4yNjMyMkMxNy4yNjE2IDkuMTc4MDQgMTcuNDQxNSA5LjA5OTE3IDE3LjYyNzYgOS4wMjY2MUMxNy43MzE3IDguOTg1NiAxNy44MzI2IDguOTQ3NzQgMTcuOTM5OSA4LjkxMzA0QzE3Ljk5MzUgOC44OTQxMSAxOC4wNDQgOC44NzgzNCAxOC4wOTc3IDguODYyNTZDMTcuNjI3NiA3LjAwNDM5IDE2Ljc2MzIgNS4zMDA4IDE1LjU5OTEgMy44NDk1OUMxNS4zNzE5IDMuNTY1NjYgMTUuMDI0OSAzLjQwMTYxIDE0LjY1ODkgMy40MDE2MUg1LjAwODRDNC44MzQ4OSAzLjQwMTYxIDQuNzYyMzMgMy42MjU2IDQuOTAxMTQgMy43MjY1NkM4LjE4NTI4IDYuMTM5OTcgMTAuOTIzNiA5LjI0MTE0IDEyLjkwMTcgMTIuODI1QzEyLjkwOCAxMi44MTg3IDEyLjkxNzUgMTIuODEyNCAxMi45MjM4IDEyLjgwMjlaIiBmaWxsPSIjMDBENkI5IiAvPgogIDxwYXRoIGQ9Ik05LjA5Njk2IDIxLjI5ODZDMTQuMDgxNSAyMS4yOTg2IDE4LjQyMjUgMTguNTQ3NiAyMC42ODc3IDE0LjQ4NDNDMjAuNzY2NiAxNC4zNDIzIDIwLjg0NTQgMTQuMTk3MiAyMC45MTggMTQuMDUyQzIwLjgwNDQgMTQuMjcyOSAyMC42NzUxIDE0LjQ4MTEgMjAuNTM5NCAxNC42NzY3QzIwLjQ4ODkgMTQuNzQ2MSAyMC40Mzg1IDE0LjgxNTUgMjAuMzg4IDE0Ljg4MThDMjAuMzIxNyAxNC45NjY5IDIwLjI1NTUgMTUuMDQ5IDIwLjE4NjEgMTUuMTI3OEMyMC4xMzI0IDE1LjE5MDkgMjAuMDc1NyAxNS4yNTA5IDIwLjAxODkgMTUuMzEwOEMxOS45MDIxIDE1LjQzMDcgMTkuNzgyMyAxNS41NDc0IDE5LjY1NjEgMTUuNjU0N0MxOS41ODY3IDE1LjcxNDYgMTkuNTE0MSAxNS43NzE0IDE5LjQ0MTUgMTUuODI4MkMxOS4zNTY0IDE1Ljg5NDQgMTkuMjY4IDE1Ljk1NzUgMTkuMTc5NyAxNi4wMTQzQzE5LjEyMjkgMTYuMDUyMiAxOS4wNjYxIDE2LjA5IDE5LjAwOTMgMTYuMTI0N0MxOC45NDk0IDE2LjE2MjYgMTguODg5NSAxNi4xOTczIDE4LjgyNjQgMTYuMjMyQzE4LjcwMDIgMTYuMzAxNCAxOC41NzQgMTYuMzY0NSAxOC40NDQ2IDE2LjQyNDVDMTguMzMxMSAxNi40NzQ5IDE4LjIxNzUgMTYuNTIyMyAxOC4xMDA4IDE2LjU2MzNDMTcuOTc0NiAxNi42MTA2IDE3Ljg0NTIgMTYuNjUxNiAxNy43MTU5IDE2LjY4NjNDMTcuNTIzNCAxNi43Mzk5IDE3LjMyNDcgMTYuNzgwOSAxNy4xMjU5IDE2LjgxMjVDMTYuOTgwOCAxNi44MzQ2IDE2LjgzNTcgMTYuODUwNCAxNi42ODc0IDE2Ljg2M0MxNi41MzI4IDE2Ljg3MjQgMTYuMzc1MSAxNi44Nzg3IDE2LjIxNzMgMTYuODc1NkMxNi4wNDM4IDE2Ljg3MjQgMTUuODcwMyAxNi44NjMgMTUuNjkzNiAxNi44NDRDMTUuNTY0MyAxNi44MzE0IDE1LjQzNSAxNi44MTI1IDE1LjMwNTYgMTYuNzg3M0MxNS4xOTIgMTYuNzY4MyAxNS4wNzg1IDE2Ljc0MzEgMTQuOTY0OSAxNi43MTc4QzE0LjkwNDkgMTYuNzAyMSAxNC44NDUgMTYuNjg5NSAxNC43ODUxIDE2LjY3MzdDMTQuNjE3OSAxNi42Mjk1IDE0LjQ1MzggMTYuNTgyMiAxNC4yODk4IDE2LjUzNDlDMTQuMjA3NyAxNi41MDk2IDE0LjEyNTcgMTYuNDg3NSAxNC4wNDM3IDE2LjQ2MjNDMTMuOTIwNiAxNi40MjQ1IDEzLjc5NzYgMTYuMzg5NyAxMy42Nzc3IDE2LjM1MTlDMTMuNTc2OCAxNi4zMjAzIDEzLjQ3OSAxNi4yODg4IDEzLjM3OCAxNi4yNTcyQzEzLjI4MzQgMTYuMjI1NyAxMy4xODg3IDE2LjE5NDIgMTMuMDk0MSAxNi4xNjI2QzEzLjAzMSAxNi4xNDA1IDEyLjk2NDcgMTYuMTE4NCAxMi45MDE2IDE2LjA5NjRDMTIuODIyOCAxNi4wNzExIDEyLjc0NzEgMTYuMDQyNyAxMi42NjgyIDE2LjAxNDNDMTIuNjExNCAxNS45OTU0IDEyLjU1NzggMTUuOTc2NSAxMi41MDEgMTUuOTU0NEMxMi4zOTA2IDE1LjkxMzQgMTIuMjgwMiAxNS44NzU1IDEyLjE3MjkgMTUuODM0NUMxMi4xMDk4IDE1LjgwOTMgMTIuMDQ2NyAxNS43ODcyIDExLjk4MzYgMTUuNzYxOUMxMS44OTg0IDE1LjczMDQgMTEuODEzMiAxNS42OTU3IDExLjczMTIgMTUuNjY0MUMxMS42NDI5IDE1LjYyOTQgMTEuNTUxNCAxNS41OTQ3IDExLjQ2MzEgMTUuNTU2OUMxMS40MDYzIDE1LjUzNDggMTEuMzQ2MyAxNS41MDk2IDExLjI4OTUgMTUuNDg3NUMxMS4yMTcgMTUuNDU5MSAxMS4xNDc2IDE1LjQyNzUgMTEuMDc1IDE1LjM5OTFDMTEuMDIxNCAxNS4zNzcxIDEwLjk2NDYgMTUuMzUxOCAxMC45MTEgMTUuMzI5N0MxMC44NTQyIDE1LjMwNDUgMTAuNzk3NCAxNS4yNzkzIDEwLjc0MDYgMTUuMjU0QzEwLjY5MDEgMTUuMjMxOSAxMC42NDI4IDE1LjIwOTkgMTAuNTkyMyAxNS4xODc4QzEwLjU0ODIgMTUuMTY4OCAxMC41MDA4IDE1LjE0NjggMTAuNDU2NyAxNS4xMjc4QzEwLjQwOTQgMTUuMTA1NyAxMC4zNjUyIDE1LjA4NjggMTAuMzE3OSAxNS4wNjQ3QzEwLjI3MDUgMTUuMDQyNyAxMC4yMjMyIDE1LjAyMDYgMTAuMTc1OSAxNC45OTg1QzEwLjExNiAxNC45NzAxIDEwLjA1NiAxNC45NDE3IDkuOTk2MDggMTQuOTE2NUM5LjkzMjk5IDE0Ljg4ODEgOS44NzMwNCAxNC44NTY1IDkuODA5OTUgMTQuODI4MUM5Ljc0MzcgMTQuNzk2NiA5LjY3NzQ1IDE0Ljc2NSA5LjYxMTIgMTQuNzMwM0M5LjU1NDQxIDE0LjcwMTkgOS40OTc2MiAxNC42NzM1IDkuNDQwODQgMTQuNjQ4M0M2LjQ1MzI0IDEzLjE1OTIgMy44MDMyMSAxMS4xNzE3IDEuNTQ0MzggOC43NjE0NUMxLjQzMDgxIDguNjQxNTcgMS4yMzIwNiA4LjcyMDQ0IDEuMjMyMDYgOC44ODQ0OUwxLjIzODM2IDE4LjA5MzNDMS4yMzgzNiAxOC40OTQgMS40MzcxMiAxOC44NzI2IDEuNzcxNTMgMTkuMDkzNEMzLjg2NjMxIDIwLjQ4NzggNi4zODY5OSAyMS4yOTg2IDkuMDk2OTYgMjEuMjk4NloiIGZpbGw9IiMzMzcwRkYiIC8+CiAgPHBhdGggZD0iTTIzLjczMjIgOS4yOTQ4OEMyMi43MjI2IDguNzk2NDIgMjEuNTgzOCA4LjUxODggMjAuMzgxOCA4LjUxODhDMTkuNjY4OCA4LjUxODggMTguOTc0NyA4LjYxNjYgMTguMzIxNyA4LjgwMjczQzE4LjI0NiA4LjgyNDgxIDE4LjE3MDMgOC44NDY5IDE4LjA5NzcgOC44Njg5OEMxOC4wNDQxIDguODg0NzYgMTcuOTkwNSA4LjkwMzY4IDE3Ljk0IDguOTE5NDZDMTcuODM1OSA4Ljk1NDE2IDE3LjczMTggOC45OTIwMiAxNy42Mjc2IDkuMDMzMDNDMTcuNDQ0NyA5LjEwNTU5IDE3LjI2MTcgOS4xODQ0NiAxNy4wODUgOS4yNjk2NEMxNi44OTU3IDkuMzYxMTMgMTYuNzEyOCA5LjQ1ODkzIDE2LjUzMjkgOS41NjYxOUMxNi4zNSA5LjY3MzQ1IDE2LjE3MDEgOS43OTAxOCAxNS45OTk4IDkuOTEzMjJDMTUuODc2NyAxMC4wMDE2IDE1Ljc1NjkgMTAuMDkzIDE1LjYzNyAxMC4xODc3QzE1LjUwNzYgMTAuMjkxOCAxNS4zODQ2IDEwLjM5OTEgMTUuMjYxNiAxMC41MDk1QzE1LjE5NTMgMTAuNTY5NCAxNS4xMzIyIDEwLjYzMjUgMTUuMDY2IDEwLjY5MjVMMTQuNzMxNSAxMS4wMjA2TDEzLjM5MzkgMTIuMzQyNEwxMy4xNjM2IDEyLjU2OTZMMTMuMDg3OSAxMi42NDUzQzEzLjA1IDEyLjY4MzEgMTMuMDEyMiAxMi43MTc4IDEyLjk3NzUgMTIuNzU1N0MxMi45NTg2IDEyLjc3NDYgMTIuOTM5NiAxMi43OTA0IDEyLjkyMDcgMTIuODA5M0MxMi44OTIzIDEyLjgzNzcgMTIuODYzOSAxMi44NjMgMTIuODM1NSAxMi44ODgyQzEyLjgwNCAxMi45MTY2IDEyLjc3MjQgMTIuOTQ4MSAxMi43NDA5IDEyLjk3NjVDMTEuOTE0MyAxMy43MzY4IDEwLjk5MzEgMTQuMzg5OSA5Ljk5MzA0IDE0LjkyM0MxMC4wNTMgMTQuOTUxNCAxMC4xMTI5IDE0Ljk3OTggMTAuMTcyOSAxNS4wMDUxQzEwLjIyMDIgMTUuMDI3MSAxMC4yNjc1IDE1LjA0OTIgMTAuMzE0OCAxNS4wNzEzQzEwLjM1OSAxNS4wOTM0IDEwLjQwNjMgMTUuMTEyMyAxMC40NTM2IDE1LjEzNDRDMTAuNDk3OCAxNS4xNTMzIDEwLjU0NTEgMTUuMTc1NCAxMC41ODkzIDE1LjE5NDNDMTAuNjM5OCAxNS4yMTY0IDEwLjY4NzEgMTUuMjM4NSAxMC43Mzc2IDE1LjI2MDZDMTAuNzk0NCAxNS4yODU4IDEwLjg1MTEgMTUuMzExMSAxMC45MDc5IDE1LjMzNjNDMTAuOTYxNiAxNS4zNTg0IDExLjAxODQgMTUuMzgzNiAxMS4wNzIgMTUuNDA1N0MxMS4xNDQ1IDE1LjQzNzMgMTEuMjEzOSAxNS40NjU3IDExLjI4NjUgMTUuNDk0MUMxMS4zNDMzIDE1LjUxOTMgMTEuNDAzMiAxNS41NDE0IDExLjQ2IDE1LjU2MzVDMTEuNTQ4NCAxNS41OTgyIDExLjYzNjcgMTUuNjM2IDExLjcyODIgMTUuNjcwN0MxMS44MTM0IDE1LjcwMjMgMTEuODk1NCAxNS43MzcgMTEuOTgwNiAxNS43Njg1QzEyLjA0MzcgMTUuNzkzOCAxMi4xMDY4IDE1LjgxNTggMTIuMTY5OSAxNS44NDExQzEyLjI4MDMgMTUuODgyMSAxMi4zODc1IDE1LjkyMzEgMTIuNDk4IDE1Ljk2MUMxMi41NTQ3IDE1Ljk3OTkgMTIuNjA4NCAxNi4wMDIgMTIuNjY1MiAxNi4wMjA5QzEyLjc0NCAxNi4wNDkzIDEyLjgxOTcgMTYuMDc0NSAxMi44OTg2IDE2LjEwMjlDMTIuOTYxNyAxNi4xMjUgMTMuMDI4IDE2LjE0NzEgMTMuMDkxMSAxNi4xNjkyQzEzLjE4NTcgMTYuMjAwNyAxMy4yODAzIDE2LjIzMjMgMTMuMzc1IDE2LjI2MzhDMTMuNDcyOCAxNi4yOTU0IDEzLjU3MzcgMTMuMzI2OSAxMy42NzQ3IDE2LjM1ODVDMTMuNzk3NyAxNi4zOTYzIDEzLjkxNzYgMTYuNDM0MiAxNC4wNDA2IDE2LjQ2ODlDMTQuMTIyNyAxNi40OTQxIDE0LjIwNDcgMTYuNTE2MiAxNC4yODY3IDE2LjU0MTRDMTQuNDUwOCAxNi41ODg4IDE0LjYxOCAxNi42MzYxIDE0Ljc4MiAxNi42ODAzQzE0Ljg0MiAxNi42OTYgMTQuOTAxOSAxNi43MTE4IDE0Ljk2MTggMTYuNzI0NEMxNS4wNzU0IDE2Ljc1MjggMTUuMTg5IDE2Ljc3NDkgMTUuMzAyNiAxNi43OTM4QzE1LjQzMTkgMTYuODE1OSAxNS41NjEzIDE2LjgzNDggMTUuNjkwNiAxNi44NTA2QzE1Ljg2NzMgMTYuODY5NSAxNi4wNDA4IDE2Ljg4MjIgMTYuMjE0MyAxNi44ODIyQzE2LjM3MiAxNi44ODUzIDE2LjUyOTggMTYuODc5IDE2LjY4NDQgMTYuODY5NUMxNi44MzI2IDE2Ljg2MDEgMTYuOTc3OCAxNi44NDEyIDE3LjEyMjkgMTYuODE5MUMxNy4zMjQ4IDE2Ljc4NzUgMTcuNTIwNCAxNi43NDY1IDE3LjcxMjggMTYuNjkyOUMxNy44NDIyIDE2LjY1ODIgMTcuOTcxNSAxNi42MTcyIDE4LjA5NzcgMTYuNTY5OEMxOC4yMTQ0IDE2LjUyNTcgMTguMzI4IDE2LjQ4MTUgMTguNDQxNiAxNi40Mjc5QzE4LjU3MDkgMTYuMzY3OSAxOC43MDAzIDE2LjMwNDggMTguODIzMyAxNi4yMzU0QzE4Ljg4MzMgMTYuMjAwNyAxOC45NDY0IDE2LjE2NiAxOS4wMDYzIDE2LjEyODJDMTkuMDYzMSAxNi4wOTM1IDE5LjExOTkgMTYuMDU1NiAxOS4xNzY3IDE2LjAxNzhDMTkuMjY1IDE1Ljk1NzggMTkuMzUzMyAxNS44OTQ3IDE5LjQzODUgMTUuODMxNkMxOS41MTExIDE1Ljc3NDggMTkuNTgzNiAxNS43MTggMTkuNjUzIDE1LjY1ODFDMTkuNzc5MiAxNS41NTA4IDE5Ljg5OTEgMTUuNDM0MSAyMC4wMTU4IDE1LjMxNDJDMjAuMDcyNiAxNS4yNTQzIDIwLjEyOTQgMTUuMTk0MyAyMC4xODMgMTUuMTMxM0MyMC4yNTI0IDE1LjA1MjQgMjAuMzE4NyAxNC45NzA0IDIwLjM4NDkgMTQuODg1MkMyMC40MzU0IDE0LjgxODkgMjAuNDg1OSAxNC43NDk1IDIwLjUzNjQgMTQuNjgwMUMyMC42NzIgMTQuNDg0NSAyMC43OTgyIDE0LjI3NjMgMjAuOTExOCAxNC4wNTg2TDIxLjA0MTEgMTMuNzk5OUwyMi4yMDg0IDExLjQ3NDhMMjIuMjA1MyAxMS40ODEyQzIyLjU4MDcgMTAuNjU3OCAyMy4xMDEyIDkuOTE5NTMgMjMuNzMyMiA5LjI5NDg4WiIgZmlsbD0iIzEzM0M5QSIgLz4KPC9zdmc+Cg==");
525
544
  rudderIcon = imageDataUrl("image/x-icon", "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");
526
545
  KNOWN_WEBSITE_ICONS = [
527
546
  { hostnames: ["x.com", "twitter.com"], includeSubdomains: true, siteName: "X", iconDataUrl: xIcon },
@@ -532,9 +551,9 @@ var init_website_icons = __esm({
532
551
  { hostnames: ["docs.google.com"], siteName: "Google Docs", iconDataUrl: googleDocsIcon },
533
552
  { hostnames: ["notion.so", "www.notion.so"], siteName: "Notion", iconDataUrl: notionIcon },
534
553
  { hostnames: ["linear.app", "linear.com"], siteName: "Linear", iconDataUrl: linearIcon },
535
- { hostnames: ["openai.com", "www.openai.com", "platform.openai.com"], siteName: "OpenAI", iconDataUrl: openaiIcon },
536
- { hostnames: ["chatgpt.com", "www.chatgpt.com", "chat.openai.com"], siteName: "ChatGPT", iconDataUrl: chatgptIcon },
537
- { hostnames: ["anthropic.com", "www.anthropic.com", "console.anthropic.com"], siteName: "Anthropic", iconDataUrl: anthropicIcon },
554
+ { hostnames: ["openai.com"], includeSubdomains: true, siteName: "OpenAI", iconDataUrl: openaiIcon },
555
+ { hostnames: ["chatgpt.com", "chat.openai.com"], includeSubdomains: true, siteName: "ChatGPT", iconDataUrl: chatgptIcon },
556
+ { hostnames: ["anthropic.com"], includeSubdomains: true, siteName: "Anthropic", iconDataUrl: anthropicIcon },
538
557
  { hostnames: ["claude.ai"], siteName: "Claude", iconDataUrl: claudeIcon },
539
558
  { hostnames: ["figma.com", "www.figma.com"], siteName: "Figma", iconDataUrl: figmaIcon },
540
559
  { hostnames: ["slack.com", "www.slack.com"], siteName: "Slack", iconDataUrl: slackIcon },
@@ -542,6 +561,10 @@ var init_website_icons = __esm({
542
561
  { hostnames: ["vercel.com", "www.vercel.com"], siteName: "Vercel", iconDataUrl: vercelIcon },
543
562
  { hostnames: ["cloudflare.com", "www.cloudflare.com"], siteName: "Cloudflare", iconDataUrl: cloudflareIcon },
544
563
  { hostnames: ["arxiv.org", "www.arxiv.org"], siteName: "arXiv", iconDataUrl: arxivIcon },
564
+ { hostnames: ["reddit.com"], includeSubdomains: true, siteName: "Reddit", iconDataUrl: redditIcon },
565
+ { hostnames: ["medium.com"], includeSubdomains: true, siteName: "Medium", iconDataUrl: mediumIcon },
566
+ { hostnames: ["news.ycombinator.com"], siteName: "Hacker News", iconDataUrl: hackerNewsIcon },
567
+ { hostnames: ["linux.do"], includeSubdomains: true, siteName: "Linux.do", iconDataUrl: linuxDoIcon },
545
568
  { hostnames: ["feishu.cn", "www.feishu.cn", "feishuapp.cn", "www.feishuapp.cn"], includeSubdomains: true, siteName: "Feishu", iconDataUrl: feishuIcon },
546
569
  { hostnames: ["rudderhq.dev", "rudder.zeeland.studio"], includeSubdomains: true, siteName: "Rudder", iconDataUrl: rudderIcon }
547
570
  ];
@@ -600,10 +623,22 @@ var init_custom_integration = __esm({
600
623
 
601
624
  // ../packages/shared/dist/validators/instance.js
602
625
  import { z as z2 } from "zod";
603
- var instanceLocaleSchema, instanceGeneralSettingsSchema, patchInstanceGeneralSettingsSchema, instanceNotificationSettingsSchema, patchInstanceNotificationSettingsSchema, instanceLangfuseSettingsSchema, patchInstanceLangfuseSettingsSchema, OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH, operatorProfileSettingsSchema, patchOperatorProfileSettingsSchema, KEYBOARD_SHORTCUT_ACTION_IDS, keyboardShortcutActionIdSchema, keyboardShortcutBindingSchema, keyboardShortcutPreferenceSchema, keyboardShortcutSettingsSchema, instancePathPickerSelectionTypeSchema, instancePathPickerRequestSchema, instancePathPickerResultSchema;
626
+ var DEFAULT_INSTANCE_BROWSER_SETTINGS, instanceBrowserSettingsSchema, patchInstanceBrowserSettingsSchema, instanceLocaleSchema, instanceGeneralSettingsSchema, patchInstanceGeneralSettingsSchema, instanceNotificationSettingsSchema, patchInstanceNotificationSettingsSchema, instanceLangfuseSettingsSchema, patchInstanceLangfuseSettingsSchema, OPERATOR_PROFILE_MORE_ABOUT_YOU_MAX_LENGTH, operatorProfileSettingsSchema, patchOperatorProfileSettingsSchema, KEYBOARD_SHORTCUT_ACTION_IDS, keyboardShortcutActionIdSchema, keyboardShortcutBindingSchema, keyboardShortcutPreferenceSchema, keyboardShortcutSettingsSchema, instancePathPickerSelectionTypeSchema, instancePathPickerRequestSchema, instancePathPickerResultSchema;
604
627
  var init_instance = __esm({
605
628
  "../packages/shared/dist/validators/instance.js"() {
606
629
  "use strict";
630
+ DEFAULT_INSTANCE_BROWSER_SETTINGS = {
631
+ enabled: true,
632
+ openLinksIn: "built_in"
633
+ };
634
+ instanceBrowserSettingsSchema = z2.object({
635
+ enabled: z2.boolean().default(DEFAULT_INSTANCE_BROWSER_SETTINGS.enabled),
636
+ openLinksIn: z2.enum(["built_in", "default_browser"]).default(DEFAULT_INSTANCE_BROWSER_SETTINGS.openLinksIn)
637
+ }).strict();
638
+ patchInstanceBrowserSettingsSchema = z2.object({
639
+ enabled: z2.boolean().optional(),
640
+ openLinksIn: z2.enum(["built_in", "default_browser"]).optional()
641
+ }).strict();
607
642
  instanceLocaleSchema = z2.enum(["en", "zh-CN"]);
608
643
  instanceGeneralSettingsSchema = z2.object({
609
644
  censorUsernameInLogs: z2.boolean().default(false),
@@ -3084,19 +3119,13 @@ var init_organization_skill_reference = __esm({
3084
3119
  "rudder",
3085
3120
  "rudder-create-agent",
3086
3121
  "rudder-create-plugin",
3087
- "skill-creator"
3122
+ "skill-creator",
3123
+ "browser"
3088
3124
  ];
3089
3125
  RUDDER_BUNDLED_SKILL_KEYS = new Set(RUDDER_BUNDLED_SKILL_SLUGS.map((slug) => `rudder/${slug}`));
3090
3126
  }
3091
3127
  });
3092
3128
 
3093
- // ../packages/shared/dist/project-mentions.js
3094
- var init_project_mentions = __esm({
3095
- "../packages/shared/dist/project-mentions.js"() {
3096
- "use strict";
3097
- }
3098
- });
3099
-
3100
3129
  // ../packages/shared/dist/project-url-key.js
3101
3130
  var init_project_url_key = __esm({
3102
3131
  "../packages/shared/dist/project-url-key.js"() {
@@ -3321,6 +3350,7 @@ var init_config_schema = __esm({
3321
3350
  var init_dist = __esm({
3322
3351
  "../packages/shared/dist/index.js"() {
3323
3352
  "use strict";
3353
+ init_chat_work_manifest();
3324
3354
  init_constants();
3325
3355
  init_agent_run();
3326
3356
  init_observability();
@@ -7496,6 +7526,102 @@ var AGENT_CLI_CAPABILITIES = [
7496
7526
  requiresRunId: false,
7497
7527
  attachesRunIdWhenAvailable: true
7498
7528
  },
7529
+ {
7530
+ id: "browser.tabs",
7531
+ command: "rudder browser tabs",
7532
+ category: "browser",
7533
+ description: "List Browser tabs owned by the current Rudder agent run.",
7534
+ mutating: false,
7535
+ contract: "agent-v1",
7536
+ requiresOrgId: true,
7537
+ requiresAgentId: true,
7538
+ requiresRunId: true,
7539
+ attachesRunIdWhenAvailable: false
7540
+ },
7541
+ {
7542
+ id: "browser.open",
7543
+ command: "rudder browser open <url>",
7544
+ category: "browser",
7545
+ description: "Open a run-owned tab in the Rudder Browser.",
7546
+ mutating: true,
7547
+ contract: "agent-v1",
7548
+ requiresOrgId: true,
7549
+ requiresAgentId: true,
7550
+ requiresRunId: true,
7551
+ attachesRunIdWhenAvailable: true
7552
+ },
7553
+ {
7554
+ id: "browser.navigate",
7555
+ command: "rudder browser navigate <tab-id> <url>",
7556
+ category: "browser",
7557
+ description: "Navigate a run-owned Rudder Browser tab.",
7558
+ mutating: true,
7559
+ contract: "agent-v1",
7560
+ requiresOrgId: true,
7561
+ requiresAgentId: true,
7562
+ requiresRunId: true,
7563
+ attachesRunIdWhenAvailable: true
7564
+ },
7565
+ {
7566
+ id: "browser.read",
7567
+ command: "rudder browser read <tab-id>",
7568
+ category: "browser",
7569
+ description: "Read a structured snapshot from a run-owned Rudder Browser tab.",
7570
+ mutating: false,
7571
+ contract: "agent-v1",
7572
+ requiresOrgId: true,
7573
+ requiresAgentId: true,
7574
+ requiresRunId: true,
7575
+ attachesRunIdWhenAvailable: false
7576
+ },
7577
+ {
7578
+ id: "browser.click",
7579
+ command: "rudder browser click <tab-id> <ref>",
7580
+ category: "browser",
7581
+ description: "Click an element reference returned by Rudder Browser read.",
7582
+ mutating: true,
7583
+ contract: "agent-v1",
7584
+ requiresOrgId: true,
7585
+ requiresAgentId: true,
7586
+ requiresRunId: true,
7587
+ attachesRunIdWhenAvailable: true
7588
+ },
7589
+ {
7590
+ id: "browser.type",
7591
+ command: "rudder browser type <tab-id> <ref> --text <text>",
7592
+ category: "browser",
7593
+ description: "Type into an element reference in a run-owned Rudder Browser tab.",
7594
+ mutating: true,
7595
+ contract: "agent-v1",
7596
+ requiresOrgId: true,
7597
+ requiresAgentId: true,
7598
+ requiresRunId: true,
7599
+ attachesRunIdWhenAvailable: true
7600
+ },
7601
+ {
7602
+ id: "browser.screenshot",
7603
+ command: "rudder browser screenshot <tab-id>",
7604
+ category: "browser",
7605
+ description: "Capture a screenshot of a run-owned Rudder Browser tab.",
7606
+ mutating: false,
7607
+ contract: "agent-v1",
7608
+ requiresOrgId: true,
7609
+ requiresAgentId: true,
7610
+ requiresRunId: true,
7611
+ attachesRunIdWhenAvailable: false
7612
+ },
7613
+ {
7614
+ id: "browser.close",
7615
+ command: "rudder browser close <tab-id>",
7616
+ category: "browser",
7617
+ description: "Close a run-owned Rudder Browser tab.",
7618
+ mutating: true,
7619
+ contract: "agent-v1",
7620
+ requiresOrgId: true,
7621
+ requiresAgentId: true,
7622
+ requiresRunId: true,
7623
+ attachesRunIdWhenAvailable: true
7624
+ },
7499
7625
  {
7500
7626
  id: "automation.list",
7501
7627
  command: "rudder automation list --org-id <id>",
@@ -7878,6 +8004,7 @@ var CATEGORY_TITLES = {
7878
8004
  runs: "Runs",
7879
8005
  approval: "Approval",
7880
8006
  skill: "Skill",
8007
+ browser: "Browser",
7881
8008
  user: "User",
7882
8009
  library: "Library"
7883
8010
  };
@@ -7950,6 +8077,12 @@ function mcpInputSchemaForCapability(id) {
7950
8077
  add("skill", mcpString("Organization skill id."));
7951
8078
  add("path", mcpString("Skill package file path, such as SKILL.md."));
7952
8079
  }
8080
+ if (id.startsWith("browser.")) {
8081
+ add("url", mcpString("HTTP or HTTPS URL."));
8082
+ add("tabId", mcpString("Run-owned Rudder Browser tab id."));
8083
+ add("ref", mcpString("Element reference returned by rudder_browser_read."));
8084
+ add("text", mcpString("Text to enter into the referenced element."));
8085
+ }
7953
8086
  if (id.startsWith("automation.")) {
7954
8087
  add("automation", mcpString("Automation id."));
7955
8088
  add("trigger", mcpString("Automation trigger id."));
@@ -8065,7 +8198,7 @@ function mcpInputSchemaForCapability(id) {
8065
8198
  })) {
8066
8199
  add(key, mcpStringArray(description));
8067
8200
  }
8068
- for (const key of ["clearTitle", "clearCapabilities", "clearDescription", "clearReportsTo", "enable", "enabled", "disabled", "reopen", "planMode", "includeTranscript", "includeOutput", "includeOutputs", "notifyOnIssueCreated", "errorsOnly", "chronological", "narrative"]) {
8201
+ for (const key of ["clearTitle", "clearCapabilities", "clearDescription", "clearReportsTo", "enable", "enabled", "disabled", "reopen", "planMode", "includeTranscript", "includeOutput", "includeOutputs", "notifyOnIssueCreated", "errorsOnly", "chronological", "narrative", "submit"]) {
8069
8202
  add(key, mcpBoolean(`Boolean option ${key}.`));
8070
8203
  }
8071
8204
  return {
@@ -8074,8 +8207,8 @@ function mcpInputSchemaForCapability(id) {
8074
8207
  properties
8075
8208
  };
8076
8209
  }
8077
- function buildAgentV1McpToolsManifest(contract = "agent-v1") {
8078
- const capabilities = buildAgentCliCapabilitiesManifest(contract).capabilities;
8210
+ function buildAgentV1McpToolsManifest(contract = "agent-v1", options = {}) {
8211
+ const capabilities = buildAgentCliCapabilitiesManifest(contract).capabilities.filter((entry) => options.browserEnabled !== false || entry.category !== "browser");
8079
8212
  return {
8080
8213
  schema: "rudder.agent-mcp-tools/v1",
8081
8214
  contract,
@@ -8307,6 +8440,7 @@ function buildMcpServerEnv(env = process.env) {
8307
8440
  RUDDER_ORG_ID: env.RUDDER_ORG_ID,
8308
8441
  RUDDER_AGENT_ID: env.RUDDER_AGENT_ID,
8309
8442
  RUDDER_RUN_ID: env.RUDDER_RUN_ID,
8443
+ RUDDER_BROWSER_ENABLED: env.RUDDER_BROWSER_ENABLED,
8310
8444
  RUDDER_PROJECT_LIBRARY_PATH: env.RUDDER_PROJECT_LIBRARY_PATH,
8311
8445
  RUDDER_MCP_RUDDER_BIN: env.RUDDER_MCP_RUDDER_BIN
8312
8446
  };
@@ -8319,6 +8453,7 @@ function buildAgentV1ToolCallPlan(toolName, rawArgs, env = buildMcpServerEnv())
8319
8453
  }
8320
8454
  const capability = getAgentCliCapabilityById(capabilityId);
8321
8455
  rejectModelProvidedRuntimeIdentity(input);
8456
+ assertBrowserCapabilityEnabled(capabilityId, env);
8322
8457
  assertRuntimeMcpContext(capability, env);
8323
8458
  const tempFiles = [];
8324
8459
  const args = cliArgsForCapability(capabilityId, input, tempFiles, env);
@@ -8333,6 +8468,7 @@ function buildAgentV1ToolCallPlan(toolName, rawArgs, env = buildMcpServerEnv())
8333
8468
  RUDDER_ORG_ID: env.RUDDER_ORG_ID,
8334
8469
  RUDDER_AGENT_ID: env.RUDDER_AGENT_ID,
8335
8470
  RUDDER_RUN_ID: env.RUDDER_RUN_ID,
8471
+ RUDDER_BROWSER_ENABLED: env.RUDDER_BROWSER_ENABLED,
8336
8472
  RUDDER_PROJECT_LIBRARY_PATH: env.RUDDER_PROJECT_LIBRARY_PATH
8337
8473
  },
8338
8474
  tempFiles
@@ -8353,7 +8489,9 @@ async function runAgentV1McpJsonRpcMessage(message, env = buildMcpServerEnv()) {
8353
8489
  });
8354
8490
  case "tools/list":
8355
8491
  return rpcResult(id, {
8356
- tools: buildAgentV1McpToolsManifest("agent-v1").tools.map(toMcpToolListEntry)
8492
+ tools: buildAgentV1McpToolsManifest("agent-v1", {
8493
+ browserEnabled: browserCapabilityEnabled(env)
8494
+ }).tools.map(toMcpToolListEntry)
8357
8495
  });
8358
8496
  case "tools/call":
8359
8497
  return rpcResult(id, await callToolSafely(message.params, env));
@@ -8542,6 +8680,41 @@ async function callToolDirectlyIfSupported(toolName, rawArgs, env) {
8542
8680
  { status: "done", comment }
8543
8681
  ));
8544
8682
  }
8683
+ case "browser.tabs":
8684
+ return mcpSuccess(await api.post("/api/browser/tabs", {}));
8685
+ case "browser.open":
8686
+ return mcpSuccess(await api.post("/api/browser/open", {
8687
+ url: requiredString(input, "url")
8688
+ }));
8689
+ case "browser.navigate":
8690
+ return mcpSuccess(await api.post("/api/browser/navigate", {
8691
+ tabId: requiredString(input, "tabId"),
8692
+ url: requiredString(input, "url")
8693
+ }));
8694
+ case "browser.read":
8695
+ return mcpSuccess(await api.post("/api/browser/read", {
8696
+ tabId: requiredString(input, "tabId")
8697
+ }));
8698
+ case "browser.click":
8699
+ return mcpSuccess(await api.post("/api/browser/click", {
8700
+ tabId: requiredString(input, "tabId"),
8701
+ ref: requiredString(input, "ref")
8702
+ }));
8703
+ case "browser.type":
8704
+ return mcpSuccess(await api.post("/api/browser/type", {
8705
+ tabId: requiredString(input, "tabId"),
8706
+ ref: requiredString(input, "ref"),
8707
+ text: requiredString(input, "text"),
8708
+ ...input.submit === true ? { submit: true } : {}
8709
+ }));
8710
+ case "browser.screenshot":
8711
+ return mcpSuccess(await api.post("/api/browser/screenshot", {
8712
+ tabId: requiredString(input, "tabId")
8713
+ }));
8714
+ case "browser.close":
8715
+ return mcpSuccess(await api.post("/api/browser/close", {
8716
+ tabId: requiredString(input, "tabId")
8717
+ }));
8545
8718
  default:
8546
8719
  return null;
8547
8720
  }
@@ -8781,6 +8954,25 @@ function cliArgsForCapability(capabilityId, input, tempFiles, env) {
8781
8954
  pushOptional(args, "--workspace-ids", input.workspaceIds);
8782
8955
  return args;
8783
8956
  }
8957
+ case "browser.tabs":
8958
+ return ["browser", "tabs"];
8959
+ case "browser.open":
8960
+ return ["browser", "open", requiredString(input, "url")];
8961
+ case "browser.navigate":
8962
+ return ["browser", "navigate", requiredString(input, "tabId"), requiredString(input, "url")];
8963
+ case "browser.read":
8964
+ return ["browser", "read", requiredString(input, "tabId")];
8965
+ case "browser.click":
8966
+ return ["browser", "click", requiredString(input, "tabId"), requiredString(input, "ref")];
8967
+ case "browser.type": {
8968
+ const args = ["browser", "type", requiredString(input, "tabId"), requiredString(input, "ref"), "--text", requiredString(input, "text")];
8969
+ pushBoolean(args, "--submit", input.submit);
8970
+ return args;
8971
+ }
8972
+ case "browser.screenshot":
8973
+ return ["browser", "screenshot", requiredString(input, "tabId")];
8974
+ case "browser.close":
8975
+ return ["browser", "close", requiredString(input, "tabId")];
8784
8976
  case "automation.list": {
8785
8977
  const args = ["automation", "list"];
8786
8978
  pushOptional(args, "--status", input.status);
@@ -9089,11 +9281,21 @@ function assertRuntimeMcpContext(capability, env) {
9089
9281
  if (!optionalString(env.RUDDER_API_KEY)) missing.push("RUDDER_API_KEY");
9090
9282
  if (capability.requiresOrgId && !optionalString(env.RUDDER_ORG_ID)) missing.push("RUDDER_ORG_ID");
9091
9283
  if (capability.requiresAgentId && !optionalString(env.RUDDER_AGENT_ID)) missing.push("RUDDER_AGENT_ID");
9284
+ if (capability.requiresRunId && !optionalString(env.RUDDER_RUN_ID)) missing.push("RUDDER_RUN_ID");
9092
9285
  if (missing.length === 0) return;
9093
9286
  const err = new Error(`Rudder MCP runtime context is incomplete. Missing ${missing.join(", ")}.`);
9094
9287
  err.code = "rudder_mcp_missing_runtime_context";
9095
9288
  throw err;
9096
9289
  }
9290
+ function browserCapabilityEnabled(env) {
9291
+ return optionalString(env.RUDDER_BROWSER_ENABLED)?.toLowerCase() === "true";
9292
+ }
9293
+ function assertBrowserCapabilityEnabled(capabilityId, env) {
9294
+ if (!capabilityId.startsWith("browser.") || browserCapabilityEnabled(env)) return;
9295
+ const error = new Error("Rudder Browser is disabled or unavailable for this run.");
9296
+ error.code = "browser_disabled";
9297
+ throw error;
9298
+ }
9097
9299
  function structuredContentFromJsonText(text6) {
9098
9300
  try {
9099
9301
  const parsed = JSON.parse(text6);
@@ -11234,6 +11436,57 @@ function formatAutomationRun(row) {
11234
11436
  };
11235
11437
  }
11236
11438
 
11439
+ // src/commands/client/browser.ts
11440
+ async function runBrowserAction(action, payload, options) {
11441
+ try {
11442
+ const context = resolveCommandContext(options, { requireCompany: true });
11443
+ const result = await context.api.post(`/api/browser/${action}`, payload);
11444
+ printOutput(result ?? {}, { json: context.json });
11445
+ } catch (error) {
11446
+ handleCommandError(error);
11447
+ }
11448
+ }
11449
+ function registerBrowserCommands(program) {
11450
+ const browser = program.command("browser").description("Control the run-owned Rudder Browser");
11451
+ addCommonClientOptions(
11452
+ browser.command("tabs").description(getAgentCliCapabilityById("browser.tabs").description),
11453
+ { includeCompany: true }
11454
+ ).action((options) => runBrowserAction("tabs", {}, options));
11455
+ addCommonClientOptions(
11456
+ browser.command("open").description(getAgentCliCapabilityById("browser.open").description).argument("<url>", "HTTP or HTTPS URL"),
11457
+ { includeCompany: true }
11458
+ ).action((url, options) => runBrowserAction("open", { url }, options));
11459
+ addCommonClientOptions(
11460
+ browser.command("navigate").description(getAgentCliCapabilityById("browser.navigate").description).argument("<tab-id>", "Run-owned Browser tab id").argument("<url>", "HTTP or HTTPS URL"),
11461
+ { includeCompany: true }
11462
+ ).action((tabId, url, options) => runBrowserAction("navigate", { tabId, url }, options));
11463
+ addCommonClientOptions(
11464
+ browser.command("read").description(getAgentCliCapabilityById("browser.read").description).argument("<tab-id>", "Run-owned Browser tab id"),
11465
+ { includeCompany: true }
11466
+ ).action((tabId, options) => runBrowserAction("read", { tabId }, options));
11467
+ addCommonClientOptions(
11468
+ browser.command("click").description(getAgentCliCapabilityById("browser.click").description).argument("<tab-id>", "Run-owned Browser tab id").argument("<ref>", "Element reference returned by browser read"),
11469
+ { includeCompany: true }
11470
+ ).action((tabId, ref, options) => runBrowserAction("click", { tabId, ref }, options));
11471
+ addCommonClientOptions(
11472
+ browser.command("type").description(getAgentCliCapabilityById("browser.type").description).argument("<tab-id>", "Run-owned Browser tab id").argument("<ref>", "Element reference returned by browser read").requiredOption("--text <text>", "Text to enter").option("--submit", "Submit the form after typing", false),
11473
+ { includeCompany: true }
11474
+ ).action((tabId, ref, options) => runBrowserAction("type", {
11475
+ tabId,
11476
+ ref,
11477
+ text: options.text,
11478
+ ...options.submit ? { submit: true } : {}
11479
+ }, options));
11480
+ addCommonClientOptions(
11481
+ browser.command("screenshot").description(getAgentCliCapabilityById("browser.screenshot").description).argument("<tab-id>", "Run-owned Browser tab id"),
11482
+ { includeCompany: true }
11483
+ ).action((tabId, options) => runBrowserAction("screenshot", { tabId }, options));
11484
+ addCommonClientOptions(
11485
+ browser.command("close").description(getAgentCliCapabilityById("browser.close").description).argument("<tab-id>", "Run-owned Browser tab id"),
11486
+ { includeCompany: true }
11487
+ ).action((tabId, options) => runBrowserAction("close", { tabId }, options));
11488
+ }
11489
+
11237
11490
  // src/commands/client/chat.ts
11238
11491
  init_dist();
11239
11492
  function registerChatCommands(program) {
@@ -16923,6 +17176,7 @@ function createProgram() {
16923
17176
  registerSkillCommands(program);
16924
17177
  registerLibraryCommands(program);
16925
17178
  registerAutomationCommands(program);
17179
+ registerBrowserCommands(program);
16926
17180
  registerChatCommands(program);
16927
17181
  registerRunsCommands(program);
16928
17182
  registerLazyWorktreeCommands(program);