@just-every/ensemble 0.2.262 → 0.2.263

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.
@@ -49,12 +49,88 @@ function ideogramV3CostPerImage(renderingSpeed) {
49
49
  return 0.09;
50
50
  return 0.06;
51
51
  }
52
+ function ideogramV4CostPerMegapixel(bodyMode, renderingSpeed) {
53
+ const multiplier = bodyMode === 'ideogram-v4-instant' ? 0.5 : 0.7;
54
+ if (renderingSpeed === 'TURBO')
55
+ return 0.0075 * multiplier;
56
+ if (renderingSpeed === 'QUALITY')
57
+ return 0.025 * multiplier;
58
+ return 0.015 * multiplier;
59
+ }
52
60
  function clampFalIdeogramImageCount(n) {
53
61
  const count = Math.floor(Number(n || 1));
54
62
  if (!Number.isFinite(count))
55
63
  return 1;
56
64
  return Math.max(1, Math.min(8, count));
57
65
  }
66
+ function clampFalSeedreamImageCount(n) {
67
+ const count = Math.floor(Number(n || 1));
68
+ if (!Number.isFinite(count))
69
+ return 1;
70
+ return Math.max(1, Math.min(6, count));
71
+ }
72
+ function normalizeFalOutputFormat(format) {
73
+ if (format === 'jpg')
74
+ return 'jpeg';
75
+ if (format === 'jpeg' || format === 'png')
76
+ return format;
77
+ return undefined;
78
+ }
79
+ function parsePixelSize(size) {
80
+ if (typeof size === 'object' && size !== null) {
81
+ const width = size.width;
82
+ const height = size.height;
83
+ if (typeof width === 'number' && typeof height === 'number' && width > 0 && height > 0) {
84
+ return { width, height };
85
+ }
86
+ }
87
+ if (typeof size !== 'string')
88
+ return undefined;
89
+ const match = /^(\d+)x(\d+)$/i.exec(size);
90
+ if (!match)
91
+ return undefined;
92
+ return { width: Number(match[1]), height: Number(match[2]) };
93
+ }
94
+ function falImageSizeMegapixels(size) {
95
+ const pixelSize = parsePixelSize(size);
96
+ if (pixelSize)
97
+ return (pixelSize.width * pixelSize.height) / (1024 * 1024);
98
+ switch (size) {
99
+ case 'square':
100
+ case 'square_hd':
101
+ case 'auto_1K':
102
+ return 1;
103
+ case 'portrait_4_3':
104
+ case 'landscape_4_3':
105
+ return 1.125;
106
+ case 'portrait_16_9':
107
+ case 'landscape_16_9':
108
+ return 1.125;
109
+ case 'auto_2K':
110
+ return 4;
111
+ default:
112
+ return undefined;
113
+ }
114
+ }
115
+ function mapSeedreamV5ImageSize(size, resolution) {
116
+ const pixelSize = parsePixelSize(size);
117
+ if (pixelSize)
118
+ return pixelSize;
119
+ if (resolution === '1k')
120
+ return 'auto_1K';
121
+ if (size === 'square')
122
+ return 'square_hd';
123
+ if (size === 'landscape' || size === '1792x1024' || size === '1536x1024' || size === '16:9') {
124
+ return 'landscape_16_9';
125
+ }
126
+ if (size === 'portrait' || size === '1024x1792' || size === '1024x1536' || size === '9:16') {
127
+ return 'portrait_16_9';
128
+ }
129
+ return 'auto_2K';
130
+ }
131
+ function seedreamV5ProCostForMegapixels(megapixels) {
132
+ return megapixels <= (1536 * 1536) / (1024 * 1024) ? 0.0675 : 0.135;
133
+ }
58
134
  class FALProvider extends base_provider_js_1.BaseModelProvider {
59
135
  constructor() {
60
136
  super('fal');
@@ -76,6 +152,24 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
76
152
  m === 'fal-ai-ideogram-v3-edit') {
77
153
  return { path: 'fal-ai/ideogram/v3/edit', bodyMode: 'ideogram-v3-edit' };
78
154
  }
155
+ if (m === 'ideogram/v4/instant' || m === 'fal-ideogram-v4-instant') {
156
+ return { path: 'ideogram/v4/instant', bodyMode: 'ideogram-v4-instant' };
157
+ }
158
+ if (m === 'ideogram/v4/fast' || m === 'fal-ideogram-v4-fast') {
159
+ return { path: 'ideogram/v4/fast', bodyMode: 'ideogram-v4-fast' };
160
+ }
161
+ if (m === 'bytedance/seedream/v5/pro' ||
162
+ m === 'bytedance/seedream/v5/pro/text-to-image' ||
163
+ m === 'fal-ai/bytedance/seedream/v5/pro' ||
164
+ m === 'fal-ai/bytedance/seedream/v5/pro/text-to-image') {
165
+ return { path: 'bytedance/seedream/v5/pro/text-to-image', bodyMode: 'seedream-v5-pro' };
166
+ }
167
+ if (m === 'bytedance/seedream/v5/lite' ||
168
+ m === 'bytedance/seedream/v5/lite/text-to-image' ||
169
+ m === 'fal-ai/bytedance/seedream/v5/lite' ||
170
+ m === 'fal-ai/bytedance/seedream/v5/lite/text-to-image') {
171
+ return { path: 'fal-ai/bytedance/seedream/v5/lite/text-to-image', bodyMode: 'seedream-v5-lite' };
172
+ }
79
173
  if (m === 'fal-ai/image2svg' || m === 'image2svg' || m === 'fal-image2svg') {
80
174
  return { path: 'fal-ai/image2svg', bodyMode: 'image2svg' };
81
175
  }
@@ -222,7 +316,7 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
222
316
  rendering_speed: renderingSpeed,
223
317
  num_images: clampFalIdeogramImageCount(opts.n),
224
318
  };
225
- const size = mapImageSize(opts.size);
319
+ const size = parsePixelSize(opts.size) || mapImageSize(opts.size);
226
320
  if (size)
227
321
  body.image_size = size;
228
322
  if (opts?.response_format === 'b64_json') {
@@ -254,6 +348,50 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
254
348
  }
255
349
  return body;
256
350
  }
351
+ buildIdeogramV4Body(prompt, bodyMode, opts) {
352
+ const body = {
353
+ prompt,
354
+ num_images: clampFalIdeogramImageCount(opts.n),
355
+ };
356
+ const size = parsePixelSize(opts.size) || mapImageSize(opts.size);
357
+ if (size)
358
+ body.image_size = size;
359
+ if (bodyMode === 'ideogram-v4-fast') {
360
+ body.rendering_speed = mapIdeogramV3RenderingSpeed(opts.quality);
361
+ }
362
+ if (opts?.response_format === 'b64_json') {
363
+ body.sync_mode = true;
364
+ }
365
+ if (opts.enable_safety_checker !== undefined) {
366
+ body.enable_safety_checker = opts.enable_safety_checker;
367
+ }
368
+ const outputFormat = normalizeFalOutputFormat(opts.output_format);
369
+ if (outputFormat) {
370
+ body.output_format = outputFormat;
371
+ }
372
+ if (typeof opts.seed === 'number' && Number.isFinite(opts.seed)) {
373
+ body.seed = Math.floor(opts.seed);
374
+ }
375
+ return body;
376
+ }
377
+ buildSeedreamV5Body(prompt, bodyMode, opts) {
378
+ const body = {
379
+ prompt,
380
+ image_size: mapSeedreamV5ImageSize(opts.size, opts.resolution),
381
+ num_images: clampFalSeedreamImageCount(opts.n),
382
+ };
383
+ const outputFormat = normalizeFalOutputFormat(opts.output_format);
384
+ if (bodyMode === 'seedream-v5-pro' && outputFormat) {
385
+ body.output_format = outputFormat;
386
+ }
387
+ if (opts?.response_format === 'b64_json') {
388
+ body.sync_mode = true;
389
+ }
390
+ if (opts.enable_safety_checker !== undefined) {
391
+ body.enable_safety_checker = opts.enable_safety_checker;
392
+ }
393
+ return body;
394
+ }
257
395
  buildOutpaintBody(prompt, opts) {
258
396
  const body = {
259
397
  image_url: this.singleSourceImageUrl(opts, 'fal-ai/image-apps-v2/outpaint'),
@@ -313,6 +451,12 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
313
451
  if (bodyMode === 'ideogram-v3-edit') {
314
452
  return this.buildIdeogramV3EditBody(prompt, opts);
315
453
  }
454
+ if (bodyMode === 'ideogram-v4-instant' || bodyMode === 'ideogram-v4-fast') {
455
+ return this.buildIdeogramV4Body(prompt, bodyMode, opts);
456
+ }
457
+ if (bodyMode === 'seedream-v5-pro' || bodyMode === 'seedream-v5-lite') {
458
+ return this.buildSeedreamV5Body(prompt, bodyMode, opts);
459
+ }
316
460
  if (bodyMode === 'outpaint') {
317
461
  return this.buildOutpaintBody(prompt, opts);
318
462
  }
@@ -374,6 +518,23 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
374
518
  }
375
519
  return totalMegapixels;
376
520
  }
521
+ getImageMegapixels(data, requestImageSize, fallbackImageCount) {
522
+ const candidates = data?.images || data?.output?.images || [];
523
+ const requestMegapixels = falImageSizeMegapixels(requestImageSize);
524
+ if (!Array.isArray(candidates) || candidates.length === 0) {
525
+ return Array.from({ length: fallbackImageCount }, () => requestMegapixels || 1);
526
+ }
527
+ return candidates.map((item) => {
528
+ if (item && typeof item === 'object') {
529
+ const width = typeof item.width === 'number' ? item.width : undefined;
530
+ const height = typeof item.height === 'number' ? item.height : undefined;
531
+ if (width && height && width > 0 && height > 0 && Number.isFinite(width) && Number.isFinite(height)) {
532
+ return (width * height) / (1024 * 1024);
533
+ }
534
+ }
535
+ return requestMegapixels || 1;
536
+ });
537
+ }
377
538
  async createImage(prompt, model, agent, opts = {}) {
378
539
  const falKey = process.env.FAL_KEY;
379
540
  const requestId = (0, llm_logger_js_1.log_llm_request)(agent.agent_id || 'default', 'fal', model, { prompt, opts }, new Date());
@@ -400,7 +561,30 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
400
561
  const fluxOutpaintCost = bodyMode === 'flux-2-pro-outpaint'
401
562
  ? (0, fal_flux_outpaint_pricing_js_1.calculateFalFlux2ProOutpaintCostFromImages)(data?.images || data?.output?.images)
402
563
  : null;
403
- const imageCount = bodyMode === 'outpaint' ? this.getOutpaintCostImageCount(data, images.length) : images.length;
564
+ const bodyRecord = bodyInput;
565
+ const ideogramV4Mode = bodyMode === 'ideogram-v4-instant' || bodyMode === 'ideogram-v4-fast' ? bodyMode : null;
566
+ const ideogramV4Megapixels = ideogramV4Mode
567
+ ? this.getImageMegapixels(data, bodyRecord.image_size, images.length)
568
+ : null;
569
+ const seedreamV5ProMegapixels = bodyMode === 'seedream-v5-pro'
570
+ ? this.getImageMegapixels(data, bodyRecord.image_size, images.length)
571
+ : null;
572
+ const seedreamV5LiteCost = bodyMode === 'seedream-v5-lite' ? images.length * 0.035 : null;
573
+ const ideogramV4RenderingSpeed = ideogramV4Mode && bodyRecord.rendering_speed
574
+ ? bodyRecord.rendering_speed
575
+ : 'BALANCED';
576
+ const ideogramV4Cost = ideogramV4Mode && ideogramV4Megapixels
577
+ ? ideogramV4Megapixels.reduce((total, megapixels) => total +
578
+ megapixels * ideogramV4CostPerMegapixel(ideogramV4Mode, ideogramV4RenderingSpeed), 0)
579
+ : null;
580
+ const seedreamV5ProCost = seedreamV5ProMegapixels
581
+ ? seedreamV5ProMegapixels.reduce((total, megapixels) => total + seedreamV5ProCostForMegapixels(megapixels), 0)
582
+ : null;
583
+ const imageCount = bodyMode === 'outpaint'
584
+ ? this.getOutpaintCostImageCount(data, images.length)
585
+ : ideogramV4Megapixels
586
+ ? ideogramV4Megapixels.reduce((total, megapixels) => total + megapixels, 0)
587
+ : images.length;
404
588
  const renderingSpeed = bodyMode === 'ideogram-v3' || bodyMode === 'ideogram-v3-edit'
405
589
  ? mapIdeogramV3RenderingSpeed(opts.quality)
406
590
  : null;
@@ -408,6 +592,9 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
408
592
  model,
409
593
  image_count: imageCount,
410
594
  ...(fluxOutpaintCost ? { cost: fluxOutpaintCost.cost } : {}),
595
+ ...(ideogramV4Cost !== null ? { cost: ideogramV4Cost } : {}),
596
+ ...(seedreamV5ProCost !== null ? { cost: seedreamV5ProCost } : {}),
597
+ ...(seedreamV5LiteCost !== null ? { cost: seedreamV5LiteCost } : {}),
411
598
  request_id: opts?.request_id,
412
599
  metadata: {
413
600
  source: 'fal',
@@ -417,6 +604,26 @@ class FALProvider extends base_provider_js_1.BaseModelProvider {
417
604
  priced_images: fluxOutpaintCost.pricedImages,
418
605
  }
419
606
  : {}),
607
+ ...(ideogramV4Mode && ideogramV4Megapixels
608
+ ? {
609
+ billable_megapixels: ideogramV4Megapixels,
610
+ rendering_speed: ideogramV4RenderingSpeed,
611
+ cost_per_megapixel: ideogramV4CostPerMegapixel(ideogramV4Mode, ideogramV4RenderingSpeed),
612
+ }
613
+ : {}),
614
+ ...(seedreamV5ProMegapixels
615
+ ? {
616
+ billable_megapixels: seedreamV5ProMegapixels,
617
+ cost_per_image: seedreamV5ProMegapixels.length > 0
618
+ ? seedreamV5ProCostForMegapixels(seedreamV5ProMegapixels[0])
619
+ : undefined,
620
+ }
621
+ : {}),
622
+ ...(seedreamV5LiteCost !== null
623
+ ? {
624
+ cost_per_image: 0.035,
625
+ }
626
+ : {}),
420
627
  ...(renderingSpeed
421
628
  ? {
422
629
  rendering_speed: renderingSpeed,
@@ -12,10 +12,13 @@ export declare class FALProvider extends BaseModelProvider {
12
12
  private sourceImageUrls;
13
13
  private buildIdeogramV3Body;
14
14
  private buildIdeogramV3EditBody;
15
+ private buildIdeogramV4Body;
16
+ private buildSeedreamV5Body;
15
17
  private buildOutpaintBody;
16
18
  private buildBody;
17
19
  private extractImages;
18
20
  private getOutpaintCostImageCount;
21
+ private getImageMegapixels;
19
22
  createImage(prompt: string, model: string, agent: AgentDefinition, opts?: ImageGenerationOpts): Promise<string[]>;
20
23
  }
21
24
  export declare const falProvider: FALProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"fal.d.ts","sourceRoot":"","sources":["../../../model_providers/fal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAkEnG,qBAAa,WAAY,SAAQ,iBAAiB;;IAMvC,oBAAoB,IAAI,cAAc,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IA2B3B,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CA6DvB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"fal.d.ts","sourceRoot":"","sources":["../../../model_providers/fal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAsJnG,qBAAa,WAAY,SAAQ,iBAAiB;;IAMvC,oBAAoB,IAAI,cAAc,CAAC,mBAAmB,CAAC;IAIlE,OAAO,CAAC,WAAW;IAyEnB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,yBAAyB;IAiCjC,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,SAAS;IAwDjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,kBAAkB;IAoBpB,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE,mBAAwB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC;CA0HvB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fal.js","sourceRoot":"","sources":["../../../model_providers/fal.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAEvD,yDAAkD;AAClD,8DAAuD;AACvD,wFAAmG;AACnG,4DAAgE;AAChE,gEAAiF;AACjF,0DAA0F;AAkB1F,MAAM,qBAAqB,GAAG;IAC1B,WAAW;IACX,cAAc;IACd,MAAM;IACN,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;CACV,CAAC;AAEX,SAAS,YAAY,CAAC,IAAkC;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,gBAAgB,CAAC;IACzF,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC;IACvF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAwC;IACzE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAgD;IAC5E,IAAI,cAAc,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,CAAU;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAa,WAAY,SAAQ,oCAAiB;IAC9C;QACI,KAAK,CAAC,KAAY,CAAC,CAAC;IACxB,CAAC;IAGD,KAAK,CAAC,CAAC,oBAAoB;QACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;IAEO,WAAW,CAAC,KAAa;QAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,mCAAmC,IAAI,CAAC,KAAK,4BAA4B,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YACtF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QACnE,CAAC;QACD,IACI,CAAC,KAAK,yBAAyB;YAC/B,CAAC,KAAK,kBAAkB;YACxB,CAAC,KAAK,sBAAsB;YAC5B,CAAC,KAAK,yBAAyB,EACjC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC/D,CAAC;QACD,IACI,CAAC,KAAK,8BAA8B;YACpC,CAAC,KAAK,uBAAuB;YAC7B,CAAC,KAAK,2BAA2B;YACjC,CAAC,KAAK,8BAA8B,EACtC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;QACvF,CAAC;QACD,IACI,CAAC,KAAK,+BAA+B;YACrC,CAAC,KAAK,4BAA4B;YAClC,CAAC,KAAK,+BAA+B,EACvC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC3E,CAAC;QACD,IACI,CAAC,KAAK,4BAA4B;YAClC,CAAC,KAAK,yBAAyB;YAC/B,CAAC,KAAK,4BAA4B,EACpC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjG,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAE1G,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnF,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5G,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAEO,oBAAoB,CAAC,IAAyB,EAAE,SAAiB;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,qCAAqC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,iDAAiD,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GACZ,OAAO,QAAQ,KAAK,QAAQ;YACxB,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;QAEtD,IACI,CAAC,QAAQ;YACT,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC9G,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,8EAA8E,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,OAAO,CAAC,IAAyB,EAAE,SAAiB;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;QACrD,IACI,CAAC,OAAO;YACR,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC3G,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,sEAAsE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,IAAA,uDAAoC,EAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEO,kBAAkB,CAAC,IAAyB;QAChD,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC;SACjE,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,4BAA4B,CAAC,IAAyB;QAC1D,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,8BAA8B,CAAC;SAC7E,CAAC;QAEF,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,yBAAyB,CAAC,IAAyB;QACvD,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,CAAC;SAC3E,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAAyB;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,UAAU,GACZ,OAAO,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC3C,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;YACtD,IACI,CAAC,QAAQ;gBACT,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC5B,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;oBAChC,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC1C,CAAC;gBACC,MAAM,IAAI,KAAK,CACX,oGAAoG,CACvG,CAAC;YACN,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,IAAyB;QACjE,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAAC,MAAc,EAAE,IAAyB;QACrE,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,CAAC;YACrE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC;YACvD,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,IAAyB;QAC/D,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,+BAA+B,CAAC;YAC3E,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,SAAS,CACb,MAAc,EACd,QAAiC,EACjC,IAAyB;QAEzB,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACnC,MAAM,IAAI,GAA4B;gBAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,mCAAmC,CAAC;aAClF,CAAC;YACF,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,SAAS,GAAQ,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/E,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,QAAQ,KAAK,KAAK;gBAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;;gBAC/C,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,QAAQ,KAAK,KAAK;gBAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAC9C,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,aAAa,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,EAAE;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACvD,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,yBAAyB,CAAC,IAAS,EAAE,kBAA0B;QACnE,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YAED,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YACD,eAAe,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;QACpD,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CACb,MAAc,EACd,KAAa,EACb,KAAsB,EACtB,OAA4B,EAAE;QAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,OAAO,MAAM,EAAE;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrE,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,gBAAgB,GAClB,QAAQ,KAAK,qBAAqB;oBAC9B,CAAC,CAAC,IAAA,yEAA0C,EAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;oBAClF,CAAC,CAAC,IAAI,CAAC;gBACf,MAAM,UAAU,GACZ,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClG,MAAM,cAAc,GAChB,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,kBAAkB;oBACzD,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC;gBACf,6BAAW,CAAC,QAAQ,CAAC;oBACjB,KAAK;oBACL,WAAW,EAAE,UAAU;oBACvB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,UAAU,EAAE,IAAI,EAAE,UAAU;oBAC5B,QAAQ,EAAE;wBACN,MAAM,EAAE,KAAK;wBACb,GAAG,CAAC,gBAAgB;4BAChB,CAAC,CAAC;gCACI,mBAAmB,EAAE,gBAAgB,CAAC,kBAAkB;gCACxD,aAAa,EAAE,gBAAgB,CAAC,YAAY;6BAC/C;4BACH,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,cAAc;4BACd,CAAC,CAAC;gCACI,eAAe,EAAE,cAAc;gCAC/B,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC;6BACzD;4BACH,CAAC,CAAC,EAAE,CAAC;qBACZ;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAA,6BAAa,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC;QACd,CAAC;gBAAS,CAAC;YACP,IAAA,gCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;CACJ;AAjbD,kCAibC;AAEY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"fal.js","sourceRoot":"","sources":["../../../model_providers/fal.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAEvD,yDAAkD;AAClD,8DAAuD;AACvD,wFAAmG;AACnG,4DAAgE;AAChE,gEAAiF;AACjF,0DAA0F;AAsB1F,MAAM,qBAAqB,GAAG;IAC1B,WAAW;IACX,cAAc;IACd,MAAM;IACN,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;CACV,CAAC;AAEX,SAAS,YAAY,CAAC,IAAkC;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,gBAAgB,CAAC;IACzF,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC;IACvF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAwC;IACzE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7D,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAgD;IAC5E,IAAI,cAAc,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAC/B,QAAoD,EACpD,cAAgD;IAEhD,MAAM,UAAU,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,IAAI,cAAc,KAAK,OAAO;QAAE,OAAO,MAAM,GAAG,UAAU,CAAC;IAC3D,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,KAAK,GAAG,UAAU,CAAC;IAC5D,OAAO,KAAK,GAAG,UAAU,CAAC;AAC9B,CAAC;AAED,SAAS,0BAA0B,CAAC,CAAU;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,0BAA0B,CAAC,CAAU;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA6C;IAC3E,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACzD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAC;QAClD,MAAM,MAAM,GAAI,IAA6B,CAAC,MAAM,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACrF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa;IACzC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS;QAAE,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAE3E,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACV,OAAO,CAAC,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAChB,OAAO,KAAK,CAAC;QACjB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB;YACjB,OAAO,KAAK,CAAC;QACjB,KAAK,SAAS;YACV,OAAO,CAAC,CAAC;QACb;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,IAAkC,EAClC,UAA8C;IAE9C,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC1C,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1F,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACzF,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,8BAA8B,CAAC,UAAkB;IACtD,OAAO,UAAU,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED,MAAa,WAAY,SAAQ,oCAAiB;IAC9C;QACI,KAAK,CAAC,KAAY,CAAC,CAAC;IACxB,CAAC;IAGD,KAAK,CAAC,CAAC,oBAAoB;QACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;IAEO,WAAW,CAAC,KAAa;QAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,mCAAmC,IAAI,CAAC,KAAK,4BAA4B,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI,EAAE,mCAAmC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC;YACtF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QACnE,CAAC;QACD,IACI,CAAC,KAAK,yBAAyB;YAC/B,CAAC,KAAK,kBAAkB;YACxB,CAAC,KAAK,sBAAsB;YAC5B,CAAC,KAAK,yBAAyB,EACjC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,KAAK,qBAAqB,IAAI,CAAC,KAAK,yBAAyB,EAAE,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QACtE,CAAC;QACD,IACI,CAAC,KAAK,2BAA2B;YACjC,CAAC,KAAK,yCAAyC;YAC/C,CAAC,KAAK,kCAAkC;YACxC,CAAC,KAAK,gDAAgD,EACxD,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,yCAAyC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAC5F,CAAC;QACD,IACI,CAAC,KAAK,4BAA4B;YAClC,CAAC,KAAK,0CAA0C;YAChD,CAAC,KAAK,mCAAmC;YACzC,CAAC,KAAK,iDAAiD,EACzD,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,iDAAiD,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QACrG,CAAC;QACD,IAAI,CAAC,KAAK,kBAAkB,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC/D,CAAC;QACD,IACI,CAAC,KAAK,8BAA8B;YACpC,CAAC,KAAK,uBAAuB;YAC7B,CAAC,KAAK,2BAA2B;YACjC,CAAC,KAAK,8BAA8B,EACtC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;QACvF,CAAC;QACD,IACI,CAAC,KAAK,+BAA+B;YACrC,CAAC,KAAK,4BAA4B;YAClC,CAAC,KAAK,+BAA+B,EACvC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC3E,CAAC;QACD,IACI,CAAC,KAAK,4BAA4B;YAClC,CAAC,KAAK,yBAAyB;YAC/B,CAAC,KAAK,4BAA4B,EACpC,CAAC;YACC,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjG,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAE1G,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnF,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC5G,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAEO,oBAAoB,CAAC,IAAyB,EAAE,SAAiB;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,qCAAqC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,iDAAiD,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GACZ,OAAO,QAAQ,KAAK,QAAQ;YACxB,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;QAEtD,IACI,CAAC,QAAQ;YACT,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC9G,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,8EAA8E,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,OAAO,CAAC,IAAyB,EAAE,SAAiB;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;QACrD,IACI,CAAC,OAAO;YACR,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC3G,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,sEAAsE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,IAAA,uDAAoC,EAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEO,kBAAkB,CAAC,IAAyB;QAChD,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC;SACjE,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,4BAA4B,CAAC,IAAyB;QAC1D,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,8BAA8B,CAAC;SAC7E,CAAC;QAEF,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,yBAAyB,CAAC,IAAyB;QACvD,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,CAAC;SAC3E,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAAyB;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,UAAU,GACZ,OAAO,QAAQ,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC3C,CAAC,CAAC,IAAA,sCAAqB,EAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;YACtD,IACI,CAAC,QAAQ;gBACT,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC5B,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;oBAChC,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC1C,CAAC;gBACC,MAAM,IAAI,KAAK,CACX,oGAAoG,CACvG,CAAC;YACN,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,IAAyB;QACjE,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,IAAI;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAAC,MAAc,EAAE,IAAyB;QACrE,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,CAAC;YACrE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,yBAAyB,CAAC;YACvD,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mBAAmB,CACvB,MAAc,EACd,QAAoD,EACpD,IAAyB;QAEzB,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,IAAI;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mBAAmB,CACvB,MAAc,EACd,QAAgD,EAChD,IAAyB;QAEzB,MAAM,IAAI,GAA4B;YAClC,MAAM;YACN,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;YAC9D,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,iBAAiB,IAAI,YAAY,EAAE,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,IAAyB;QAC/D,MAAM,IAAI,GAA4B;YAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,+BAA+B,CAAC;YAC3E,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,SAAS,CACb,MAAc,EACd,QAAiC,EACjC,IAAyB;QAEzB,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACnC,MAAM,IAAI,GAA4B;gBAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,mCAAmC,CAAC;aAClF,CAAC;YACF,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,QAAQ,KAAK,qBAAqB,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,SAAS,GAAQ,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/E,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,QAAQ,KAAK,KAAK;gBAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;;gBAC/C,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,EAAE,eAAe,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,QAAQ,KAAK,KAAK;gBAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;;gBAC9C,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,aAAa,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,EAAE;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACvD,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,yBAAyB,CAAC,IAAS,EAAE,kBAA0B;QACnE,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YAED,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF,OAAO,kBAAkB,CAAC;YAC9B,CAAC;YACD,eAAe,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;QACpD,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,kBAAkB,CAAC,IAAS,EAAE,gBAAyB,EAAE,kBAA0B;QACvF,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC9D,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAChC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzE,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;YACD,OAAO,iBAAiB,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CACb,MAAc,EACd,KAAa,EACb,KAAsB,EACtB,OAA4B,EAAE;QAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,OAAO,MAAM,EAAE;iBACjC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrE,IAAI,IAAA,yBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,gBAAgB,GAClB,QAAQ,KAAK,qBAAqB;oBAC9B,CAAC,CAAC,IAAA,yEAA0C,EAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;oBAClF,CAAC,CAAC,IAAI,CAAC;gBACf,MAAM,UAAU,GAAG,SAAoC,CAAC;gBACxD,MAAM,cAAc,GAChB,QAAQ,KAAK,qBAAqB,IAAI,QAAQ,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5F,MAAM,oBAAoB,GAAG,cAAc;oBACvC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,uBAAuB,GACzB,QAAQ,KAAK,iBAAiB;oBAC1B,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAC;gBACf,MAAM,kBAAkB,GAAG,QAAQ,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1F,MAAM,wBAAwB,GAC1B,cAAc,IAAI,UAAU,CAAC,eAAe;oBACxC,CAAC,CAAE,UAAU,CAAC,eAAoD;oBAClE,CAAC,CAAC,UAAU,CAAC;gBACrB,MAAM,cAAc,GAChB,cAAc,IAAI,oBAAoB;oBAClC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAClB,KAAK;wBACL,UAAU,GAAG,0BAA0B,CAAC,cAAc,EAAE,wBAAwB,CAAC,EACrF,CAAC,CACJ;oBACH,CAAC,CAAC,IAAI,CAAC;gBACf,MAAM,iBAAiB,GAAG,uBAAuB;oBAC7C,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAC1B,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,8BAA8B,CAAC,UAAU,CAAC,EACzE,CAAC,CACJ;oBACH,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,UAAU,GACZ,QAAQ,KAAK,UAAU;oBACnB,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrD,CAAC,CAAC,oBAAoB;wBACpB,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC;wBAC3E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1B,MAAM,cAAc,GAChB,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,kBAAkB;oBACzD,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC;gBACf,6BAAW,CAAC,QAAQ,CAAC;oBACjB,KAAK;oBACL,WAAW,EAAE,UAAU;oBACvB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,UAAU,EAAE,IAAI,EAAE,UAAU;oBAC5B,QAAQ,EAAE;wBACN,MAAM,EAAE,KAAK;wBACb,GAAG,CAAC,gBAAgB;4BAChB,CAAC,CAAC;gCACI,mBAAmB,EAAE,gBAAgB,CAAC,kBAAkB;gCACxD,aAAa,EAAE,gBAAgB,CAAC,YAAY;6BAC/C;4BACH,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,cAAc,IAAI,oBAAoB;4BACtC,CAAC,CAAC;gCACI,mBAAmB,EAAE,oBAAoB;gCACzC,eAAe,EAAE,wBAAwB;gCACzC,kBAAkB,EAAE,0BAA0B,CAC1C,cAAc,EACd,wBAAwB,CAC3B;6BACJ;4BACH,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,uBAAuB;4BACvB,CAAC,CAAC;gCACI,mBAAmB,EAAE,uBAAuB;gCAC5C,cAAc,EACV,uBAAuB,CAAC,MAAM,GAAG,CAAC;oCAC9B,CAAC,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;oCAC5D,CAAC,CAAC,SAAS;6BACtB;4BACH,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,kBAAkB,KAAK,IAAI;4BAC3B,CAAC,CAAC;gCACI,cAAc,EAAE,KAAK;6BACxB;4BACH,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,cAAc;4BACd,CAAC,CAAC;gCACI,eAAe,EAAE,cAAc;gCAC/B,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC;6BACzD;4BACH,CAAC,CAAC,EAAE,CAAC;qBACZ;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAA,6BAAa,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC;QACd,CAAC;gBAAS,CAAC;YACP,IAAA,gCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;CACJ;AAnlBD,kCAmlBC;AAEY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}