@usenaive-sdk/cli 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,451 @@
1
+ import { Command } from "commander";
2
+ import { apiRequest, handleApiError } from "../client.js";
3
+ import { agentOutput } from "../output.js";
4
+ export const businessCmd = new Command("business")
5
+ .description("Business Data — Google Business, Trustpilot, TripAdvisor, and social media metrics")
6
+ .addHelpText("after", `
7
+ Subcommands:
8
+ Google Business:
9
+ naive business google my-business-info Search Google Business listings (live)
10
+ naive business google hotel-searches Search Google Hotels (live)
11
+ naive business google hotel-info Get hotel details (live)
12
+ naive business google reviews Get Google Business reviews (task)
13
+ naive business google qna Get Questions & Answers (live)
14
+
15
+ Trustpilot:
16
+ naive business trustpilot search Search Trustpilot businesses (task)
17
+ naive business trustpilot reviews Get Trustpilot reviews (task)
18
+
19
+ TripAdvisor:
20
+ naive business tripadvisor search Search TripAdvisor businesses (task)
21
+ naive business tripadvisor reviews Get TripAdvisor reviews (task)
22
+
23
+ Social Media Metrics:
24
+ naive business social facebook Get Facebook engagement metrics (live)
25
+ naive business social pinterest Get Pinterest metrics (live)
26
+ naive business social reddit Get Reddit metrics (live)
27
+
28
+ Task Management:
29
+ naive business task-get <id> Retrieve results for a completed task
30
+ naive business tasks-ready Check which tasks are ready
31
+
32
+ Workflow (Live endpoints — Google, Social):
33
+ Results returned immediately. Cost: 2 credits (Google), 1 credit (Social).
34
+
35
+ Workflow (Standard endpoints — reviews, Trustpilot, TripAdvisor):
36
+ 1. Submit a task
37
+ 2. Check status with tasks-ready
38
+ 3. Retrieve results with task-get
39
+ Cost: 2 credits per retrieval
40
+ `);
41
+ // --- Google subcommands ---
42
+ const googleCmd = new Command("google")
43
+ .description("Google Business data endpoints");
44
+ googleCmd
45
+ .command("my-business-info")
46
+ .description("Search Google Business listings (Live — immediate results)")
47
+ .requiredOption("--keyword <keyword>", "Search keyword (e.g., 'pizza new york')")
48
+ .option("--location-code <code>", "Location code")
49
+ .option("--language-code <code>", "Language code")
50
+ .action(async (opts) => {
51
+ const body = { keyword: opts.keyword };
52
+ if (opts.locationCode)
53
+ body.location_code = parseInt(opts.locationCode);
54
+ if (opts.languageCode)
55
+ body.language_code = opts.languageCode;
56
+ const resp = await apiRequest("POST", "/v1/business/google/my-business-info", body);
57
+ handleApiError("business.google.my-business-info", resp);
58
+ agentOutput({
59
+ action: "business.google.my-business-info",
60
+ result: resp.data,
61
+ next_steps: [
62
+ { command: 'naive business google reviews --keyword "<business-name>"', description: "Get reviews for a business" },
63
+ { command: 'naive business google hotel-searches --keyword "hotels <location>"', description: "Search for hotels", when: "Looking for hotels" },
64
+ ],
65
+ hints: [
66
+ `Live Google Business results for: "${opts.keyword}"`,
67
+ "Cost: 2 credits",
68
+ ],
69
+ });
70
+ });
71
+ googleCmd
72
+ .command("hotel-searches")
73
+ .description("Search Google Hotels (Live — immediate results)")
74
+ .requiredOption("--keyword <keyword>", "Search keyword (e.g., 'hotels paris')")
75
+ .option("--location-code <code>", "Location code")
76
+ .option("--language-code <code>", "Language code")
77
+ .option("--check-in <date>", "Check-in date (YYYY-MM-DD)")
78
+ .option("--check-out <date>", "Check-out date (YYYY-MM-DD)")
79
+ .option("--adults <n>", "Number of adults")
80
+ .action(async (opts) => {
81
+ const body = { keyword: opts.keyword };
82
+ if (opts.locationCode)
83
+ body.location_code = parseInt(opts.locationCode);
84
+ if (opts.languageCode)
85
+ body.language_code = opts.languageCode;
86
+ if (opts.checkIn)
87
+ body.check_in = opts.checkIn;
88
+ if (opts.checkOut)
89
+ body.check_out = opts.checkOut;
90
+ if (opts.adults)
91
+ body.adults = parseInt(opts.adults);
92
+ const resp = await apiRequest("POST", "/v1/business/google/hotel-searches", body);
93
+ handleApiError("business.google.hotel-searches", resp);
94
+ agentOutput({
95
+ action: "business.google.hotel-searches",
96
+ result: resp.data,
97
+ next_steps: [
98
+ { command: 'naive business google hotel-info --hotel-id "<hotel-id>"', description: "Get detailed info for a specific hotel" },
99
+ ],
100
+ hints: [
101
+ `Live hotel search results for: "${opts.keyword}"`,
102
+ "Cost: 2 credits",
103
+ ],
104
+ });
105
+ });
106
+ googleCmd
107
+ .command("hotel-info")
108
+ .description("Get detailed hotel information (Live — immediate results)")
109
+ .requiredOption("--hotel-id <id>", "Hotel identifier (Google CID or place_id)")
110
+ .option("--location-code <code>", "Location code")
111
+ .option("--language-code <code>", "Language code")
112
+ .option("--check-in <date>", "Check-in date (YYYY-MM-DD)")
113
+ .option("--check-out <date>", "Check-out date (YYYY-MM-DD)")
114
+ .option("--adults <n>", "Number of adults")
115
+ .action(async (opts) => {
116
+ const body = { hotel_identifier: opts.hotelId };
117
+ if (opts.locationCode)
118
+ body.location_code = parseInt(opts.locationCode);
119
+ if (opts.languageCode)
120
+ body.language_code = opts.languageCode;
121
+ if (opts.checkIn)
122
+ body.check_in = opts.checkIn;
123
+ if (opts.checkOut)
124
+ body.check_out = opts.checkOut;
125
+ if (opts.adults)
126
+ body.adults = parseInt(opts.adults);
127
+ const resp = await apiRequest("POST", "/v1/business/google/hotel-info", body);
128
+ handleApiError("business.google.hotel-info", resp);
129
+ agentOutput({
130
+ action: "business.google.hotel-info",
131
+ result: resp.data,
132
+ next_steps: [
133
+ { command: 'naive business google reviews --keyword "<hotel-name>"', description: "Get reviews for this hotel" },
134
+ ],
135
+ hints: [
136
+ `Live hotel info for: ${opts.hotelId}`,
137
+ "Cost: 2 credits",
138
+ ],
139
+ });
140
+ });
141
+ googleCmd
142
+ .command("reviews")
143
+ .description("Get Google Business reviews (Standard method — submit task)")
144
+ .requiredOption("--keyword <keyword>", "Business name or keyword")
145
+ .option("--location-code <code>", "Location code")
146
+ .option("--language-code <code>", "Language code")
147
+ .option("--depth <n>", "Number of reviews")
148
+ .option("--sort-by <sort>", "Sort order: most_relevant, newest, highest_rating, lowest_rating")
149
+ .option("--priority <n>", "Task priority (1=high, 2=normal)")
150
+ .action(async (opts) => {
151
+ const body = { keyword: opts.keyword };
152
+ if (opts.locationCode)
153
+ body.location_code = parseInt(opts.locationCode);
154
+ if (opts.languageCode)
155
+ body.language_code = opts.languageCode;
156
+ if (opts.depth)
157
+ body.depth = parseInt(opts.depth);
158
+ if (opts.sortBy)
159
+ body.sort_by = opts.sortBy;
160
+ if (opts.priority)
161
+ body.priority = parseInt(opts.priority);
162
+ const resp = await apiRequest("POST", "/v1/business/google/reviews/task", body);
163
+ handleApiError("business.google.reviews", resp);
164
+ agentOutput({
165
+ action: "business.google.reviews",
166
+ result: resp.data,
167
+ next_steps: [
168
+ { command: "naive business tasks-ready --platform google --endpoint reviews", description: "Check when results are ready" },
169
+ { command: "naive business task-get <task-id> --platform google --endpoint reviews", description: "Retrieve results" },
170
+ ],
171
+ hints: [
172
+ `Task submitted for Google reviews: "${opts.keyword}"`,
173
+ "Use tasks-ready to check status, then task-get to retrieve results",
174
+ ],
175
+ });
176
+ });
177
+ googleCmd
178
+ .command("qna")
179
+ .description("Get Google Questions & Answers (Live — immediate results)")
180
+ .requiredOption("--keyword <keyword>", "Business name or keyword")
181
+ .option("--location-code <code>", "Location code")
182
+ .option("--language-code <code>", "Language code")
183
+ .action(async (opts) => {
184
+ const body = { keyword: opts.keyword };
185
+ if (opts.locationCode)
186
+ body.location_code = parseInt(opts.locationCode);
187
+ if (opts.languageCode)
188
+ body.language_code = opts.languageCode;
189
+ const resp = await apiRequest("POST", "/v1/business/google/questions-and-answers", body);
190
+ handleApiError("business.google.qna", resp);
191
+ agentOutput({
192
+ action: "business.google.qna",
193
+ result: resp.data,
194
+ next_steps: [
195
+ { command: 'naive business google reviews --keyword "<business>"', description: "Get reviews for this business" },
196
+ { command: 'naive business google my-business-info --keyword "<business>"', description: "Get full business info" },
197
+ ],
198
+ hints: [
199
+ `Live Q&A results for: "${opts.keyword}"`,
200
+ "Cost: 2 credits",
201
+ ],
202
+ });
203
+ });
204
+ businessCmd.addCommand(googleCmd);
205
+ // --- Trustpilot subcommands ---
206
+ const trustpilotCmd = new Command("trustpilot")
207
+ .description("Trustpilot business data endpoints");
208
+ trustpilotCmd
209
+ .command("search")
210
+ .description("Search Trustpilot businesses (Standard method — submit task)")
211
+ .requiredOption("--keyword <keyword>", "Search keyword (e.g., 'web hosting')")
212
+ .option("--location-code <code>", "Location code")
213
+ .option("--language-code <code>", "Language code")
214
+ .option("--priority <n>", "Task priority (1=high, 2=normal)")
215
+ .action(async (opts) => {
216
+ const body = { keyword: opts.keyword };
217
+ if (opts.locationCode)
218
+ body.location_code = parseInt(opts.locationCode);
219
+ if (opts.languageCode)
220
+ body.language_code = opts.languageCode;
221
+ if (opts.priority)
222
+ body.priority = parseInt(opts.priority);
223
+ const resp = await apiRequest("POST", "/v1/business/trustpilot/search/task", body);
224
+ handleApiError("business.trustpilot.search", resp);
225
+ agentOutput({
226
+ action: "business.trustpilot.search",
227
+ result: resp.data,
228
+ next_steps: [
229
+ { command: "naive business tasks-ready --platform trustpilot --endpoint search", description: "Check when results are ready" },
230
+ { command: "naive business task-get <task-id> --platform trustpilot --endpoint search", description: "Retrieve results" },
231
+ ],
232
+ hints: [
233
+ `Task submitted for Trustpilot search: "${opts.keyword}"`,
234
+ ],
235
+ });
236
+ });
237
+ trustpilotCmd
238
+ .command("reviews")
239
+ .description("Get Trustpilot reviews for a business (Standard method — submit task)")
240
+ .requiredOption("--domain <domain>", "Business domain (e.g., example.com)")
241
+ .option("--location-code <code>", "Location code")
242
+ .option("--language-code <code>", "Language code")
243
+ .option("--priority <n>", "Task priority (1=high, 2=normal)")
244
+ .action(async (opts) => {
245
+ const body = { domain: opts.domain };
246
+ if (opts.locationCode)
247
+ body.location_code = parseInt(opts.locationCode);
248
+ if (opts.languageCode)
249
+ body.language_code = opts.languageCode;
250
+ if (opts.priority)
251
+ body.priority = parseInt(opts.priority);
252
+ const resp = await apiRequest("POST", "/v1/business/trustpilot/reviews/task", body);
253
+ handleApiError("business.trustpilot.reviews", resp);
254
+ agentOutput({
255
+ action: "business.trustpilot.reviews",
256
+ result: resp.data,
257
+ next_steps: [
258
+ { command: "naive business tasks-ready --platform trustpilot --endpoint reviews", description: "Check when results are ready" },
259
+ { command: "naive business task-get <task-id> --platform trustpilot --endpoint reviews", description: "Retrieve results" },
260
+ ],
261
+ hints: [
262
+ `Task submitted for Trustpilot reviews: ${opts.domain}`,
263
+ ],
264
+ });
265
+ });
266
+ businessCmd.addCommand(trustpilotCmd);
267
+ // --- TripAdvisor subcommands ---
268
+ const tripadvisorCmd = new Command("tripadvisor")
269
+ .description("TripAdvisor business data endpoints");
270
+ tripadvisorCmd
271
+ .command("search")
272
+ .description("Search TripAdvisor businesses (Standard method — submit task)")
273
+ .requiredOption("--keyword <keyword>", "Search keyword (e.g., 'pizza restaurant new york')")
274
+ .option("--location-code <code>", "Location code")
275
+ .option("--language-code <code>", "Language code")
276
+ .option("--priority <n>", "Task priority (1=high, 2=normal)")
277
+ .action(async (opts) => {
278
+ const body = { keyword: opts.keyword };
279
+ if (opts.locationCode)
280
+ body.location_code = parseInt(opts.locationCode);
281
+ if (opts.languageCode)
282
+ body.language_code = opts.languageCode;
283
+ if (opts.priority)
284
+ body.priority = parseInt(opts.priority);
285
+ const resp = await apiRequest("POST", "/v1/business/tripadvisor/search/task", body);
286
+ handleApiError("business.tripadvisor.search", resp);
287
+ agentOutput({
288
+ action: "business.tripadvisor.search",
289
+ result: resp.data,
290
+ next_steps: [
291
+ { command: "naive business tasks-ready --platform tripadvisor --endpoint search", description: "Check when results are ready" },
292
+ { command: "naive business task-get <task-id> --platform tripadvisor --endpoint search", description: "Retrieve results" },
293
+ ],
294
+ hints: [
295
+ `Task submitted for TripAdvisor search: "${opts.keyword}"`,
296
+ ],
297
+ });
298
+ });
299
+ tripadvisorCmd
300
+ .command("reviews")
301
+ .description("Get TripAdvisor reviews (Standard method — submit task)")
302
+ .requiredOption("--url-path <path>", "TripAdvisor URL path (e.g., Restaurant_Review-g...)")
303
+ .option("--location-code <code>", "Location code")
304
+ .option("--language-code <code>", "Language code")
305
+ .option("--depth <n>", "Number of reviews")
306
+ .option("--priority <n>", "Task priority (1=high, 2=normal)")
307
+ .action(async (opts) => {
308
+ const body = { url_path: opts.urlPath };
309
+ if (opts.locationCode)
310
+ body.location_code = parseInt(opts.locationCode);
311
+ if (opts.languageCode)
312
+ body.language_code = opts.languageCode;
313
+ if (opts.depth)
314
+ body.depth = parseInt(opts.depth);
315
+ if (opts.priority)
316
+ body.priority = parseInt(opts.priority);
317
+ const resp = await apiRequest("POST", "/v1/business/tripadvisor/reviews/task", body);
318
+ handleApiError("business.tripadvisor.reviews", resp);
319
+ agentOutput({
320
+ action: "business.tripadvisor.reviews",
321
+ result: resp.data,
322
+ next_steps: [
323
+ { command: "naive business tasks-ready --platform tripadvisor --endpoint reviews", description: "Check when results are ready" },
324
+ { command: "naive business task-get <task-id> --platform tripadvisor --endpoint reviews", description: "Retrieve results" },
325
+ ],
326
+ hints: [
327
+ `Task submitted for TripAdvisor reviews: ${opts.urlPath}`,
328
+ ],
329
+ });
330
+ });
331
+ businessCmd.addCommand(tripadvisorCmd);
332
+ // --- Social Media subcommands ---
333
+ const socialCmd = new Command("social")
334
+ .description("Social media engagement metrics (Facebook, Pinterest, Reddit)");
335
+ socialCmd
336
+ .command("facebook")
337
+ .description("Get Facebook engagement metrics for URLs (Live — immediate results)")
338
+ .requiredOption("--targets <urls>", "Comma-separated target URLs")
339
+ .action(async (opts) => {
340
+ const targets = opts.targets.split(",").map((u) => u.trim());
341
+ const body = { targets };
342
+ const resp = await apiRequest("POST", "/v1/business/social/facebook", body);
343
+ handleApiError("business.social.facebook", resp);
344
+ agentOutput({
345
+ action: "business.social.facebook",
346
+ result: resp.data,
347
+ next_steps: [
348
+ { command: "naive business social pinterest --targets <urls>", description: "Check Pinterest metrics for the same URLs" },
349
+ { command: "naive business social reddit --targets <urls>", description: "Check Reddit metrics for the same URLs" },
350
+ ],
351
+ hints: [
352
+ `Facebook metrics for ${targets.length} URL(s)`,
353
+ "Cost: 1 credit",
354
+ ],
355
+ });
356
+ });
357
+ socialCmd
358
+ .command("pinterest")
359
+ .description("Get Pinterest engagement metrics for URLs (Live — immediate results)")
360
+ .requiredOption("--targets <urls>", "Comma-separated target URLs")
361
+ .action(async (opts) => {
362
+ const targets = opts.targets.split(",").map((u) => u.trim());
363
+ const body = { targets };
364
+ const resp = await apiRequest("POST", "/v1/business/social/pinterest", body);
365
+ handleApiError("business.social.pinterest", resp);
366
+ agentOutput({
367
+ action: "business.social.pinterest",
368
+ result: resp.data,
369
+ next_steps: [
370
+ { command: "naive business social facebook --targets <urls>", description: "Check Facebook metrics for the same URLs" },
371
+ { command: "naive business social reddit --targets <urls>", description: "Check Reddit metrics for the same URLs" },
372
+ ],
373
+ hints: [
374
+ `Pinterest metrics for ${targets.length} URL(s)`,
375
+ "Cost: 1 credit",
376
+ ],
377
+ });
378
+ });
379
+ socialCmd
380
+ .command("reddit")
381
+ .description("Get Reddit engagement metrics for URLs (Live — immediate results)")
382
+ .requiredOption("--targets <urls>", "Comma-separated target URLs")
383
+ .action(async (opts) => {
384
+ const targets = opts.targets.split(",").map((u) => u.trim());
385
+ const body = { targets };
386
+ const resp = await apiRequest("POST", "/v1/business/social/reddit", body);
387
+ handleApiError("business.social.reddit", resp);
388
+ agentOutput({
389
+ action: "business.social.reddit",
390
+ result: resp.data,
391
+ next_steps: [
392
+ { command: "naive business social facebook --targets <urls>", description: "Check Facebook metrics for the same URLs" },
393
+ { command: "naive business social pinterest --targets <urls>", description: "Check Pinterest metrics for the same URLs" },
394
+ ],
395
+ hints: [
396
+ `Reddit metrics for ${targets.length} URL(s)`,
397
+ "Cost: 1 credit",
398
+ ],
399
+ });
400
+ });
401
+ businessCmd.addCommand(socialCmd);
402
+ // --- Cross-platform task management ---
403
+ businessCmd
404
+ .command("task-get <task-id>")
405
+ .description("Retrieve results for a completed Business Data task")
406
+ .requiredOption("--platform <platform>", "Platform: google, trustpilot, or tripadvisor")
407
+ .requiredOption("--endpoint <endpoint>", "Endpoint (e.g., reviews, search, my-business-info)")
408
+ .action(async (taskId, opts) => {
409
+ const platform = opts.platform;
410
+ const endpoint = opts.endpoint;
411
+ const resp = await apiRequest("GET", `/v1/business/${platform}/${endpoint}/task/${taskId}`);
412
+ handleApiError("business.task-get", resp);
413
+ agentOutput({
414
+ action: "business.task-get",
415
+ result: resp.data,
416
+ next_steps: [
417
+ { command: `naive business tasks-ready --platform ${platform} --endpoint ${endpoint}`, description: "Check for more ready tasks" },
418
+ ],
419
+ hints: [
420
+ `Retrieved results for task ${taskId} (${platform}/${endpoint})`,
421
+ "Cost: 2 credits",
422
+ ],
423
+ });
424
+ });
425
+ businessCmd
426
+ .command("tasks-ready")
427
+ .description("Check which Business Data tasks are ready for retrieval")
428
+ .requiredOption("--platform <platform>", "Platform: google, trustpilot, or tripadvisor")
429
+ .requiredOption("--endpoint <endpoint>", "Endpoint (e.g., reviews, search, my-business-info)")
430
+ .action(async (opts) => {
431
+ const platform = opts.platform;
432
+ const endpoint = opts.endpoint;
433
+ const resp = await apiRequest("GET", `/v1/business/${platform}/${endpoint}/tasks-ready`);
434
+ handleApiError("business.tasks-ready", resp);
435
+ const tasks = (resp.data?.tasks ?? []);
436
+ agentOutput({
437
+ action: "business.tasks-ready",
438
+ result: resp.data,
439
+ next_steps: tasks.length > 0
440
+ ? tasks.slice(0, 3).map((t) => ({
441
+ command: `naive business task-get ${t.id} --platform ${platform} --endpoint ${endpoint}`,
442
+ description: `Retrieve results for task ${t.id}`,
443
+ }))
444
+ : [{ command: `naive business ${platform} ${endpoint} --help`, description: "Submit a new task" }],
445
+ hints: [
446
+ `${tasks.length} task(s) ready for ${platform}/${endpoint}`,
447
+ ...(tasks.length === 0 ? ["No tasks ready yet — tasks typically complete within 30 seconds"] : []),
448
+ ],
449
+ });
450
+ });
451
+ //# sourceMappingURL=business.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business.js","sourceRoot":"","sources":["../../src/commands/business.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;KAC/C,WAAW,CAAC,oFAAoF,CAAC;KACjG,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvB,CAAC,CAAC;AAEH,6BAA6B;AAE7B,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACpC,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,SAAS;KACN,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,4DAA4D,CAAC;KACzE,cAAc,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KAChF,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACpF,cAAc,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;IAEzD,WAAW,CAAC;QACV,MAAM,EAAE,kCAAkC;QAC1C,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,2DAA2D,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACnH,EAAE,OAAO,EAAE,oEAAoE,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;SAChJ;QACD,KAAK,EAAE;YACL,sCAAsC,IAAI,CAAC,OAAO,GAAG;YACrD,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,cAAc,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KAC9E,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAAI,CAAC,CAAC;IAClF,cAAc,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAEvD,WAAW,CAAC;QACV,MAAM,EAAE,gCAAgC;QACxC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,0DAA0D,EAAE,WAAW,EAAE,wCAAwC,EAAE;SAC/H;QACD,KAAK,EAAE;YACL,mCAAmC,IAAI,CAAC,OAAO,GAAG;YAClD,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,2DAA2D,CAAC;KACxE,cAAc,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;KAC9E,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACzE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/C,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAErD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAC9E,cAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAEnD,WAAW,CAAC;QACV,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,wDAAwD,EAAE,WAAW,EAAE,4BAA4B,EAAE;SACjH;QACD,KAAK,EAAE;YACL,wBAAwB,IAAI,CAAC,OAAO,EAAE;YACtC,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,cAAc,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;KACjE,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,kBAAkB,EAAE,kEAAkE,CAAC;KAC9F,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;IAChF,cAAc,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAEhD,WAAW,CAAC;QACV,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,iEAAiE,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC3H,EAAE,OAAO,EAAE,wEAAwE,EAAE,WAAW,EAAE,kBAAkB,EAAE;SACvH;QACD,KAAK,EAAE;YACL,uCAAuC,IAAI,CAAC,OAAO,GAAG;YACtD,oEAAoE;SACrE;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,2DAA2D,CAAC;KACxE,cAAc,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;KACjE,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAE9D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACzF,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAE5C,WAAW,CAAC;QACV,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,sDAAsD,EAAE,WAAW,EAAE,+BAA+B,EAAE;YACjH,EAAE,OAAO,EAAE,+DAA+D,EAAE,WAAW,EAAE,wBAAwB,EAAE;SACpH;QACD,KAAK,EAAE;YACL,0BAA0B,IAAI,CAAC,OAAO,GAAG;YACzC,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAElC,iCAAiC;AAEjC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KAC5C,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,aAAa;KACV,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,cAAc,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;KAC7E,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,qCAAqC,EAAE,IAAI,CAAC,CAAC;IACnF,cAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAEnD,WAAW,CAAC;QACV,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,oEAAoE,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC9H,EAAE,OAAO,EAAE,2EAA2E,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC1H;QACD,KAAK,EAAE;YACL,0CAA0C,IAAI,CAAC,OAAO,GAAG;SAC1D;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,aAAa;KACV,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,uEAAuE,CAAC;KACpF,cAAc,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAC1E,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9D,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACpF,cAAc,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAEpD,WAAW,CAAC;QACV,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,qEAAqE,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC/H,EAAE,OAAO,EAAE,4EAA4E,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC3H;QACD,KAAK,EAAE;YACL,0CAA0C,IAAI,CAAC,MAAM,EAAE;SACxD;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAEtC,kCAAkC;AAElC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KAC9C,WAAW,CAAC,qCAAqC,CAAC,CAAC;AAEtD,cAAc;KACX,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,cAAc,CAAC,qBAAqB,EAAE,oDAAoD,CAAC;KAC3F,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAC;IACpF,cAAc,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAEpD,WAAW,CAAC;QACV,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,qEAAqE,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC/H,EAAE,OAAO,EAAE,4EAA4E,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC3H;QACD,KAAK,EAAE;YACL,2CAA2C,IAAI,CAAC,OAAO,GAAG;SAC3D;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,cAAc;KACX,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,cAAc,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;KAC1F,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9D,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;IACrF,cAAc,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAErD,WAAW,CAAC;QACV,MAAM,EAAE,8BAA8B;QACtC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,sEAAsE,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAChI,EAAE,OAAO,EAAE,6EAA6E,EAAE,WAAW,EAAE,kBAAkB,EAAE;SAC5H;QACD,KAAK,EAAE;YACL,2CAA2C,IAAI,CAAC,OAAO,EAAE;SAC1D;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEvC,mCAAmC;AAEnC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACpC,WAAW,CAAC,+DAA+D,CAAC,CAAC;AAEhF,SAAS;KACN,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qEAAqE,CAAC;KAClF,cAAc,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC5E,cAAc,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAEjD,WAAW,CAAC;QACV,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,kDAAkD,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACzH,EAAE,OAAO,EAAE,+CAA+C,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpH;QACD,KAAK,EAAE;YACL,wBAAwB,OAAO,CAAC,MAAM,SAAS;YAC/C,gBAAgB;SACjB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,sEAAsE,CAAC;KACnF,cAAc,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAAI,CAAC,CAAC;IAC7E,cAAc,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAElD,WAAW,CAAC;QACV,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,iDAAiD,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACvH,EAAE,OAAO,EAAE,+CAA+C,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpH;QACD,KAAK,EAAE;YACL,yBAAyB,OAAO,CAAC,MAAM,SAAS;YAChD,gBAAgB;SACjB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mEAAmE,CAAC;KAChF,cAAc,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC1E,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAE/C,WAAW,CAAC;QACV,MAAM,EAAE,wBAAwB;QAChC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,iDAAiD,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACvH,EAAE,OAAO,EAAE,kDAAkD,EAAE,WAAW,EAAE,2CAA2C,EAAE;SAC1H;QACD,KAAK,EAAE;YACL,sBAAsB,OAAO,CAAC,MAAM,SAAS;YAC7C,gBAAgB;SACjB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAElC,yCAAyC;AAEzC,WAAW;KACR,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,qDAAqD,CAAC;KAClE,cAAc,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KACvF,cAAc,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,EAAE;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,gBAAgB,QAAQ,IAAI,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5F,cAAc,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAE1C,WAAW,CAAC;QACV,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE;YACV,EAAE,OAAO,EAAE,yCAAyC,QAAQ,eAAe,QAAQ,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;SACnI;QACD,KAAK,EAAE;YACL,8BAA8B,MAAM,KAAK,QAAQ,IAAI,QAAQ,GAAG;YAChE,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,yDAAyD,CAAC;KACtE,cAAc,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KACvF,cAAc,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;KAC7F,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,gBAAgB,QAAQ,IAAI,QAAQ,cAAc,CAAC,CAAC;IACzF,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,CAAE,IAAI,CAAC,IAAY,EAAE,KAAK,IAAI,EAAE,CAA0B,CAAC;IACzE,WAAW,CAAC;QACV,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,OAAO,EAAE,2BAA2B,CAAC,CAAC,EAAE,eAAe,QAAQ,eAAe,QAAQ,EAAE;gBACxF,WAAW,EAAE,6BAA6B,CAAC,CAAC,EAAE,EAAE;aACjD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,QAAQ,IAAI,QAAQ,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACpG,KAAK,EAAE;YACL,GAAG,KAAK,CAAC,MAAM,sBAAsB,QAAQ,IAAI,QAAQ,EAAE;YAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnG;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare const ecommerceCmd: Command;