@hypercli.com/sdk 2026.4.7-1 → 2026.4.7-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/agent.d.ts +127 -0
  2. package/dist/agent.d.ts.map +1 -0
  3. package/dist/agent.js +255 -0
  4. package/dist/agent.js.map +1 -0
  5. package/dist/agents.d.ts +437 -0
  6. package/dist/agents.d.ts.map +1 -0
  7. package/dist/agents.js +1140 -0
  8. package/dist/agents.js.map +1 -0
  9. package/dist/billing.d.ts +72 -0
  10. package/dist/billing.d.ts.map +1 -0
  11. package/dist/billing.js +93 -0
  12. package/dist/billing.js.map +1 -0
  13. package/dist/browser.d.ts +25 -0
  14. package/dist/browser.d.ts.map +1 -0
  15. package/dist/browser.js +33 -0
  16. package/dist/browser.js.map +1 -0
  17. package/dist/client.d.ts +65 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +97 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/config.d.ts +46 -0
  22. package/dist/config.d.ts.map +1 -0
  23. package/dist/config.js +235 -0
  24. package/dist/config.js.map +1 -0
  25. package/dist/errors.d.ts +9 -0
  26. package/dist/errors.d.ts.map +1 -0
  27. package/dist/errors.js +15 -0
  28. package/dist/errors.js.map +1 -0
  29. package/dist/files.d.ts +60 -0
  30. package/dist/files.d.ts.map +1 -0
  31. package/dist/files.js +128 -0
  32. package/dist/files.js.map +1 -0
  33. package/dist/gateway.d.ts +269 -0
  34. package/dist/gateway.d.ts.map +1 -0
  35. package/dist/gateway.js +2020 -0
  36. package/dist/gateway.js.map +1 -0
  37. package/dist/http.d.ts +42 -0
  38. package/dist/http.d.ts.map +1 -0
  39. package/dist/http.js +238 -0
  40. package/dist/http.js.map +1 -0
  41. package/dist/index.d.ts +25 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +41 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/instances.d.ts +94 -0
  46. package/dist/instances.d.ts.map +1 -0
  47. package/dist/instances.js +197 -0
  48. package/dist/instances.js.map +1 -0
  49. package/dist/job/base.d.ts +80 -0
  50. package/dist/job/base.d.ts.map +1 -0
  51. package/dist/job/base.js +200 -0
  52. package/dist/job/base.js.map +1 -0
  53. package/dist/job/comfyui.d.ts +75 -0
  54. package/dist/job/comfyui.d.ts.map +1 -0
  55. package/dist/job/comfyui.js +454 -0
  56. package/dist/job/comfyui.js.map +1 -0
  57. package/dist/job/gradio.d.ts +48 -0
  58. package/dist/job/gradio.d.ts.map +1 -0
  59. package/dist/job/gradio.js +90 -0
  60. package/dist/job/gradio.js.map +1 -0
  61. package/dist/jobs.d.ts +153 -0
  62. package/dist/jobs.d.ts.map +1 -0
  63. package/dist/jobs.js +352 -0
  64. package/dist/jobs.js.map +1 -0
  65. package/dist/keys.d.ts +83 -0
  66. package/dist/keys.d.ts.map +1 -0
  67. package/dist/keys.js +69 -0
  68. package/dist/keys.js.map +1 -0
  69. package/dist/logs.d.ts +54 -0
  70. package/dist/logs.d.ts.map +1 -0
  71. package/dist/logs.js +256 -0
  72. package/dist/logs.js.map +1 -0
  73. package/dist/renders.d.ts +177 -0
  74. package/dist/renders.d.ts.map +1 -0
  75. package/dist/renders.js +310 -0
  76. package/dist/renders.js.map +1 -0
  77. package/dist/user.d.ts +49 -0
  78. package/dist/user.d.ts.map +1 -0
  79. package/dist/user.js +57 -0
  80. package/dist/user.js.map +1 -0
  81. package/dist/voice.d.ts +31 -0
  82. package/dist/voice.d.ts.map +1 -0
  83. package/dist/voice.js +36 -0
  84. package/dist/voice.js.map +1 -0
  85. package/dist/x402.d.ts +79 -0
  86. package/dist/x402.d.ts.map +1 -0
  87. package/dist/x402.js +295 -0
  88. package/dist/x402.js.map +1 -0
  89. package/package.json +1 -1
@@ -0,0 +1,127 @@
1
+ /**
2
+ * HyperAgent API client - AI agent inference using OpenAI-compatible API
3
+ *
4
+ * Note: OpenAI client integration is not included in this SDK.
5
+ * Use the OpenAI Node.js SDK directly with HyperClaw endpoints.
6
+ */
7
+ import type { HTTPClient } from './http.js';
8
+ export interface HyperAgentPlan {
9
+ id: string;
10
+ name: string;
11
+ price: number;
12
+ priceUsd: number;
13
+ aiu: number;
14
+ agents: number;
15
+ features: string[];
16
+ models: string[];
17
+ highlighted?: boolean;
18
+ expiresAt?: Date | null;
19
+ limits: {
20
+ tpd: number;
21
+ tpm: number;
22
+ burstTpm: number;
23
+ rpm: number;
24
+ };
25
+ tpmLimit: number;
26
+ rpmLimit: number;
27
+ }
28
+ export interface HyperAgentCurrentPlan {
29
+ id: string;
30
+ name: string;
31
+ price: number | string;
32
+ aiu?: number;
33
+ agents?: number;
34
+ tpmLimit: number;
35
+ rpmLimit: number;
36
+ expiresAt: Date | null;
37
+ cancelAtPeriodEnd: boolean;
38
+ provider?: string;
39
+ secondsRemaining?: number | null;
40
+ pooledTpd?: number;
41
+ slotInventory?: Record<string, {
42
+ granted: number;
43
+ used: number;
44
+ available: number;
45
+ }>;
46
+ }
47
+ export interface HyperAgentSubscription {
48
+ id: string;
49
+ userId: string;
50
+ planId: string;
51
+ planName: string;
52
+ provider: string;
53
+ status: string;
54
+ quantity: number;
55
+ expiresAt: Date | null;
56
+ updatedAt: Date | null;
57
+ stripeSubscriptionId: string | null;
58
+ cancelAtPeriodEnd: boolean;
59
+ canCancel: boolean;
60
+ isCurrent: boolean;
61
+ meta: Record<string, any> | null;
62
+ planTpmLimit: number;
63
+ planRpmLimit: number;
64
+ planTpd: number;
65
+ planAgentTier: string | null;
66
+ slotGrants: Record<string, number> | null;
67
+ }
68
+ export interface HyperAgentSubscriptionSummary {
69
+ effectivePlanId: string;
70
+ currentSubscriptionId: string | null;
71
+ pooledTpmLimit: number;
72
+ pooledRpmLimit: number;
73
+ pooledTpd: number;
74
+ slotInventory: Record<string, {
75
+ granted: number;
76
+ used: number;
77
+ available: number;
78
+ }>;
79
+ activeSubscriptionCount: number;
80
+ activeSubscriptions: HyperAgentSubscription[];
81
+ subscriptions: HyperAgentSubscription[];
82
+ user: Record<string, any>;
83
+ }
84
+ export interface HyperAgentModel {
85
+ id: string;
86
+ name: string;
87
+ contextLength: number;
88
+ supportsVision: boolean;
89
+ supportsFunctionCalling: boolean;
90
+ supportsToolChoice: boolean;
91
+ }
92
+ /**
93
+ * HyperAgent API Client
94
+ *
95
+ * For chat completions, use the OpenAI Node.js SDK directly:
96
+ *
97
+ * ```typescript
98
+ * import OpenAI from 'openai';
99
+ *
100
+ * const openai = new OpenAI({
101
+ * apiKey: client.agent.apiKey,
102
+ * baseURL: client.agent.baseUrl,
103
+ * });
104
+ * ```
105
+ */
106
+ export declare class HyperAgent {
107
+ private http;
108
+ static readonly AGENT_API_BASE = "https://api.hypercli.com/v1";
109
+ static readonly DEV_API_BASE = "https://api.dev.hypercli.com/v1";
110
+ readonly apiKey: string;
111
+ readonly baseUrl: string;
112
+ readonly controlBaseUrl: string;
113
+ constructor(http: HTTPClient, agentApiKey?: string, dev?: boolean, agentsApiBaseUrl?: string);
114
+ private get baseUrlWithoutV1();
115
+ plans(): Promise<HyperAgentPlan[]>;
116
+ currentPlan(): Promise<HyperAgentCurrentPlan>;
117
+ subscriptions(): Promise<HyperAgentSubscription[]>;
118
+ subscriptionSummary(): Promise<HyperAgentSubscriptionSummary>;
119
+ models(): Promise<HyperAgentModel[]>;
120
+ discoveryHealth(): Promise<{
121
+ hostsTotal: number;
122
+ hostsHealthy: number;
123
+ fallbacksActive: number;
124
+ }>;
125
+ discoveryConfig(apiKey?: string): Promise<any>;
126
+ }
127
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js ADDED
@@ -0,0 +1,255 @@
1
+ import { getAgentsApiBaseUrl } from './config.js';
2
+ function resolveHyperAgentBaseUrl(agentsApiBaseUrl, dev) {
3
+ const raw = (agentsApiBaseUrl || '').replace(/\/+$/, '');
4
+ if (!raw) {
5
+ const fallback = getAgentsApiBaseUrl(dev);
6
+ return resolveHyperAgentBaseUrl(fallback, dev);
7
+ }
8
+ const parsed = new URL(raw.includes('://') ? raw : `https://${raw}`);
9
+ const host = parsed.host.toLowerCase();
10
+ if (host === 'api.hypercli.com' || host === 'api.hyperclaw.app' || host === 'api.agents.hypercli.com') {
11
+ return 'https://api.agents.hypercli.com/v1';
12
+ }
13
+ if (host === 'api.dev.hypercli.com' ||
14
+ host === 'api.dev.hyperclaw.app' ||
15
+ host === 'dev-api.hyperclaw.app' ||
16
+ host === 'api.agents.dev.hypercli.com') {
17
+ return 'https://api.agents.dev.hypercli.com/v1';
18
+ }
19
+ if (raw.endsWith('/api')) {
20
+ return `${raw.slice(0, -4)}/v1`;
21
+ }
22
+ if (raw.endsWith('/agents')) {
23
+ return `${raw.slice(0, -7)}/v1`;
24
+ }
25
+ return `${raw}/v1`;
26
+ }
27
+ function resolveHyperAgentControlBaseUrl(productApiBaseUrl, agentsApiBaseUrl, dev) {
28
+ const rawAgents = (agentsApiBaseUrl || '').replace(/\/+$/, '');
29
+ if (!rawAgents) {
30
+ const fallback = getAgentsApiBaseUrl(dev);
31
+ return resolveHyperAgentControlBaseUrl(undefined, fallback, dev);
32
+ }
33
+ const parsed = new URL(rawAgents.includes('://') ? rawAgents : `https://${rawAgents}`);
34
+ const normalizedPath = parsed.pathname.replace(/\/+$/, '');
35
+ const host = parsed.host.toLowerCase();
36
+ if (normalizedPath.endsWith('/agents')) {
37
+ return `${parsed.origin}${normalizedPath}`;
38
+ }
39
+ if (host === 'api.hypercli.com' || host === 'api.hyperclaw.app' || host === 'api.agents.hypercli.com') {
40
+ return 'https://api.hypercli.com/agents';
41
+ }
42
+ if (host === 'api.dev.hypercli.com' ||
43
+ host === 'api.dev.hyperclaw.app' ||
44
+ host === 'dev-api.hyperclaw.app' ||
45
+ host === 'api.agents.dev.hypercli.com') {
46
+ return 'https://api.dev.hypercli.com/agents';
47
+ }
48
+ return `${parsed.origin}/agents`;
49
+ }
50
+ function hyperAgentPlanFromDict(data) {
51
+ return {
52
+ id: data.id,
53
+ name: data.name,
54
+ price: data.price ?? data.price_usd ?? 0,
55
+ priceUsd: data.price_usd ?? data.price ?? 0,
56
+ aiu: data.aiu ?? 0,
57
+ agents: data.agents ?? 0,
58
+ features: data.features || [],
59
+ models: data.models || [],
60
+ highlighted: Boolean(data.highlighted),
61
+ expiresAt: data.expires_at ? new Date(String(data.expires_at).replace('Z', '+00:00')) : null,
62
+ limits: {
63
+ tpd: data.limits?.tpd || 0,
64
+ tpm: data.limits?.tpm || 0,
65
+ burstTpm: data.limits?.burst_tpm || 0,
66
+ rpm: data.limits?.rpm || 0,
67
+ },
68
+ tpmLimit: data.tpm_limit || data.limits?.tpm || 0,
69
+ rpmLimit: data.rpm_limit || data.limits?.rpm || 0,
70
+ };
71
+ }
72
+ function hyperAgentCurrentPlanFromDict(data) {
73
+ return {
74
+ id: data.id,
75
+ name: data.name,
76
+ price: data.price,
77
+ aiu: data.aiu,
78
+ agents: data.agents,
79
+ tpmLimit: data.tpm_limit || 0,
80
+ rpmLimit: data.rpm_limit || 0,
81
+ expiresAt: data.expires_at ? new Date(String(data.expires_at).replace('Z', '+00:00')) : null,
82
+ cancelAtPeriodEnd: Boolean(data.cancel_at_period_end),
83
+ provider: data.provider || undefined,
84
+ secondsRemaining: data.seconds_remaining ?? null,
85
+ pooledTpd: data.pooled_tpd || 0,
86
+ slotInventory: data.slot_inventory || undefined,
87
+ };
88
+ }
89
+ function hyperAgentSubscriptionFromDict(data) {
90
+ return {
91
+ id: data.id || '',
92
+ userId: data.user_id || '',
93
+ planId: data.plan_id || '',
94
+ planName: data.plan_name || data.plan_id || '',
95
+ provider: data.provider || '',
96
+ status: data.status || '',
97
+ quantity: data.quantity || 1,
98
+ expiresAt: data.expires_at ? new Date(String(data.expires_at).replace('Z', '+00:00')) : null,
99
+ updatedAt: data.updated_at ? new Date(String(data.updated_at).replace('Z', '+00:00')) : null,
100
+ stripeSubscriptionId: data.stripe_subscription_id || null,
101
+ cancelAtPeriodEnd: Boolean(data.cancel_at_period_end),
102
+ canCancel: Boolean(data.can_cancel),
103
+ isCurrent: Boolean(data.is_current),
104
+ meta: data.meta || null,
105
+ planTpmLimit: data.plan_tpm_limit || 0,
106
+ planRpmLimit: data.plan_rpm_limit || 0,
107
+ planTpd: data.plan_tpd || 0,
108
+ planAgentTier: data.plan_agent_tier || null,
109
+ slotGrants: data.slot_grants || null,
110
+ };
111
+ }
112
+ function hyperAgentSubscriptionSummaryFromDict(data) {
113
+ return {
114
+ effectivePlanId: data.effective_plan_id || '',
115
+ currentSubscriptionId: data.current_subscription_id || null,
116
+ pooledTpmLimit: data.pooled_tpm_limit || 0,
117
+ pooledRpmLimit: data.pooled_rpm_limit || 0,
118
+ pooledTpd: data.pooled_tpd || 0,
119
+ slotInventory: data.slot_inventory || {},
120
+ activeSubscriptionCount: data.active_subscription_count || 0,
121
+ activeSubscriptions: (data.active_subscriptions || []).map(hyperAgentSubscriptionFromDict),
122
+ subscriptions: (data.subscriptions || []).map(hyperAgentSubscriptionFromDict),
123
+ user: data.user || {},
124
+ };
125
+ }
126
+ function hyperAgentModelFromDict(data) {
127
+ const caps = data.capabilities || {};
128
+ return {
129
+ id: data.id,
130
+ name: data.name || data.id,
131
+ contextLength: data.context_length || 0,
132
+ supportsVision: caps.supports_vision || false,
133
+ supportsFunctionCalling: caps.supports_function_calling || false,
134
+ supportsToolChoice: caps.supports_tool_choice || false,
135
+ };
136
+ }
137
+ /**
138
+ * HyperAgent API Client
139
+ *
140
+ * For chat completions, use the OpenAI Node.js SDK directly:
141
+ *
142
+ * ```typescript
143
+ * import OpenAI from 'openai';
144
+ *
145
+ * const openai = new OpenAI({
146
+ * apiKey: client.agent.apiKey,
147
+ * baseURL: client.agent.baseUrl,
148
+ * });
149
+ * ```
150
+ */
151
+ export class HyperAgent {
152
+ http;
153
+ static AGENT_API_BASE = 'https://api.hypercli.com/v1';
154
+ static DEV_API_BASE = 'https://api.dev.hypercli.com/v1';
155
+ apiKey;
156
+ baseUrl;
157
+ controlBaseUrl;
158
+ constructor(http, agentApiKey, dev = false, agentsApiBaseUrl) {
159
+ this.http = http;
160
+ this.apiKey = agentApiKey || http['apiKey'];
161
+ const fallbackBaseUrl = typeof http['baseUrl'] === 'string' ? http['baseUrl'] : (dev ? HyperAgent.DEV_API_BASE : HyperAgent.AGENT_API_BASE);
162
+ const configuredBaseUrl = agentsApiBaseUrl || getAgentsApiBaseUrl(dev) || fallbackBaseUrl;
163
+ this.baseUrl = resolveHyperAgentBaseUrl(configuredBaseUrl, dev);
164
+ this.controlBaseUrl = resolveHyperAgentControlBaseUrl(http['baseUrl'], configuredBaseUrl, dev);
165
+ }
166
+ get baseUrlWithoutV1() {
167
+ return this.baseUrl.replace(/\/v1$/, '');
168
+ }
169
+ async plans() {
170
+ const response = await fetch(`${this.controlBaseUrl}/plans`, {
171
+ headers: {
172
+ Authorization: `Bearer ${this.apiKey}`,
173
+ },
174
+ });
175
+ if (!response.ok) {
176
+ throw new Error(`Failed to get plans: ${response.statusText}`);
177
+ }
178
+ const data = await response.json();
179
+ return (data.plans || []).map(hyperAgentPlanFromDict);
180
+ }
181
+ async currentPlan() {
182
+ const response = await fetch(`${this.controlBaseUrl}/plans/current`, {
183
+ headers: {
184
+ Authorization: `Bearer ${this.apiKey}`,
185
+ },
186
+ });
187
+ if (!response.ok) {
188
+ throw new Error(`Failed to get current plan: ${response.statusText}`);
189
+ }
190
+ const data = await response.json();
191
+ return hyperAgentCurrentPlanFromDict(data);
192
+ }
193
+ async subscriptions() {
194
+ const response = await fetch(`${this.controlBaseUrl}/subscriptions`, {
195
+ headers: {
196
+ Authorization: `Bearer ${this.apiKey}`,
197
+ },
198
+ });
199
+ if (!response.ok) {
200
+ throw new Error(`Failed to get subscriptions: ${response.statusText}`);
201
+ }
202
+ const data = await response.json();
203
+ return (data.items || []).map(hyperAgentSubscriptionFromDict);
204
+ }
205
+ async subscriptionSummary() {
206
+ const response = await fetch(`${this.controlBaseUrl}/subscriptions/summary`, {
207
+ headers: {
208
+ Authorization: `Bearer ${this.apiKey}`,
209
+ },
210
+ });
211
+ if (!response.ok) {
212
+ throw new Error(`Failed to get subscription summary: ${response.statusText}`);
213
+ }
214
+ const data = await response.json();
215
+ return hyperAgentSubscriptionSummaryFromDict(data);
216
+ }
217
+ async models() {
218
+ const response = await fetch(`${this.baseUrl}/models`, {
219
+ headers: {
220
+ Authorization: `Bearer ${this.apiKey}`,
221
+ },
222
+ });
223
+ if (!response.ok) {
224
+ throw new Error(`Failed to get models: ${response.statusText}`);
225
+ }
226
+ const data = await response.json();
227
+ return (data.data || []).map((model) => hyperAgentModelFromDict({
228
+ id: model.id,
229
+ name: model.name || model.id,
230
+ context_length: model.context_length || 0,
231
+ capabilities: model.capabilities || {},
232
+ }));
233
+ }
234
+ async discoveryHealth() {
235
+ const response = await fetch(`${this.baseUrlWithoutV1}/discovery/health`);
236
+ if (!response.ok) {
237
+ throw new Error(`Failed to get discovery health: ${response.statusText}`);
238
+ }
239
+ return (await response.json());
240
+ }
241
+ async discoveryConfig(apiKey) {
242
+ const headers = {};
243
+ if (apiKey) {
244
+ headers['X-API-KEY'] = apiKey;
245
+ }
246
+ const response = await fetch(`${this.baseUrlWithoutV1}/discovery/config`, {
247
+ headers,
248
+ });
249
+ if (!response.ok) {
250
+ throw new Error(`Failed to get discovery config: ${response.statusText}`);
251
+ }
252
+ return await response.json();
253
+ }
254
+ }
255
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,SAAS,wBAAwB,CAAC,gBAAoC,EAAE,GAAY;IAClF,MAAM,GAAG,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACtG,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IACD,IACE,IAAI,KAAK,sBAAsB;QAC/B,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,6BAA6B,EACtC,CAAC;QACD,OAAO,wCAAwC,CAAC;IAClD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,+BAA+B,CACtC,iBAAqC,EACrC,gBAAoC,EACpC,GAAY;IAEZ,MAAM,SAAS,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,+BAA+B,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACtG,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,IACE,IAAI,KAAK,sBAAsB;QAC/B,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,uBAAuB;QAChC,IAAI,KAAK,6BAA6B,EACtC,CAAC;QACD,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;AACnC,CAAC;AAmFD,SAAS,sBAAsB,CAAC,IAAS;IACvC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC;QACxC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QAC3C,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,MAAM,EAAE;YACN,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC;YACrC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;SAC3B;QACD,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAS;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;QAC7B,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;QAC7B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;QACpC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;QAChD,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;QAC/B,aAAa,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAS;IAC/C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QACjB,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;QAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,IAAI,IAAI;QACzD,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACrD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,YAAY,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;QACtC,YAAY,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC3B,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;QAC3C,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAAC,IAAS;IACtD,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE;QAC7C,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,IAAI,IAAI;QAC3D,cAAc,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;QAC1C,cAAc,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;QAC1C,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;QAC/B,aAAa,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE;QACxC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,IAAI,CAAC;QAC5D,mBAAmB,EAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC1F,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC7E,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAS;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;QAC1B,aAAa,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;QACvC,cAAc,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;QAC7C,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,IAAI,KAAK;QAChE,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,IAAI,KAAK;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,UAAU;IASX;IARV,MAAM,CAAU,cAAc,GAAG,6BAA6B,CAAC;IAC/D,MAAM,CAAU,YAAY,GAAG,iCAAiC,CAAC;IAEjD,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,cAAc,CAAS;IAEvC,YACU,IAAgB,EACxB,WAAoB,EACpB,MAAe,KAAK,EACpB,gBAAyB;QAHjB,SAAI,GAAJ,IAAI,CAAY;QAKxB,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC5I,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,QAAQ,EAAE;YAC3D,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,gBAAgB,EAAE;YACnE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,gBAAgB,EAAE;YACnE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,wBAAwB,EAAE;YAC3E,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,qCAAqC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE;YACrD,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAC1C,uBAAuB,CAAC;YACtB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;YAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;YACzC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QAKnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,mBAAmB,CAAC,CAAC;QAE1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAe;QACnC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,mBAAmB,EAAE;YACxE,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC"}