@just-every/ensemble 0.2.184 → 0.2.185

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.
@@ -82,6 +82,14 @@ async function getSharp() {
82
82
  }
83
83
  return sharpModule;
84
84
  }
85
+ async function getSharpOrNull() {
86
+ try {
87
+ return await getSharp();
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ }
85
93
  exports.MAX_IMAGE_HEIGHT = 2000;
86
94
  exports.DEFAULT_QUALITY = 80;
87
95
  exports.OPENAI_MAX_WIDTH = 1024;
@@ -366,8 +374,11 @@ async function resizeDataUrl(dataUrl, width, height, opts) {
366
374
  if (!match)
367
375
  return dataUrl;
368
376
  const [, mime, b64] = match;
377
+ const sharp = await getSharpOrNull();
378
+ if (!sharp) {
379
+ return dataUrl;
380
+ }
369
381
  const input = buffer_1.Buffer.from(b64, 'base64');
370
- const sharp = await getSharp();
371
382
  const image = sharp(input);
372
383
  const fit = opts?.fit || 'cover';
373
384
  const background = opts?.background || (mime.includes('png') ? { r: 0, g: 0, b: 0, alpha: 0 } : '#000');
@@ -386,42 +397,50 @@ async function resizeDataUrl(dataUrl, width, height, opts) {
386
397
  async function resizeAndSplitForOpenAI(imageData) {
387
398
  const MAX_WIDTH = 1024;
388
399
  const MAX_HEIGHT = 768;
389
- const base64Image = imageData.replace(/^data:image\/\w+;base64,/, '');
390
- const imageFormat = imageData.match(/data:image\/(\w+);/)?.[1] || 'png';
391
- const imageBuffer = buffer_1.Buffer.from(base64Image, 'base64');
392
- const sharp = await getSharp();
393
- const { width: origW = 0, height: origH = 0 } = await sharp(imageBuffer).metadata();
394
- if (origW <= MAX_WIDTH && origH <= MAX_HEIGHT) {
400
+ const sharp = await getSharpOrNull();
401
+ if (!sharp) {
395
402
  return [imageData];
396
403
  }
397
- const newWidth = Math.min(origW, MAX_WIDTH);
398
- const resizedBuffer = await sharp(imageBuffer)
399
- .resize({ width: newWidth })
400
- .flatten({ background: '#fff' })
401
- .toFormat(imageFormat)
402
- .toBuffer();
403
- const { height: resizedH = 0 } = await sharp(resizedBuffer).metadata();
404
- const result = [];
405
- if (resizedH > MAX_HEIGHT) {
406
- const segments = Math.ceil(resizedH / MAX_HEIGHT);
407
- for (let i = 0; i < segments; i++) {
408
- const top = i * MAX_HEIGHT;
409
- const height = Math.min(MAX_HEIGHT, resizedH - top);
410
- if (height <= 0)
411
- continue;
412
- const segmentBuf = await sharp(resizedBuffer)
413
- .extract({ left: 0, top, width: newWidth, height })
414
- .toFormat(imageFormat)
415
- .toBuffer();
416
- const segmentDataUrl = `data:image/${imageFormat};base64,${segmentBuf.toString('base64')}`;
417
- result.push(segmentDataUrl);
404
+ try {
405
+ const base64Image = imageData.replace(/^data:image\/\w+;base64,/, '');
406
+ const imageFormat = imageData.match(/data:image\/(\w+);/)?.[1] || 'png';
407
+ const imageBuffer = buffer_1.Buffer.from(base64Image, 'base64');
408
+ const { width: origW = 0, height: origH = 0 } = await sharp(imageBuffer).metadata();
409
+ if (origW <= MAX_WIDTH && origH <= MAX_HEIGHT) {
410
+ return [imageData];
418
411
  }
412
+ const newWidth = Math.min(origW, MAX_WIDTH);
413
+ const resizedBuffer = await sharp(imageBuffer)
414
+ .resize({ width: newWidth })
415
+ .flatten({ background: '#fff' })
416
+ .toFormat(imageFormat)
417
+ .toBuffer();
418
+ const { height: resizedH = 0 } = await sharp(resizedBuffer).metadata();
419
+ const result = [];
420
+ if (resizedH > MAX_HEIGHT) {
421
+ const segments = Math.ceil(resizedH / MAX_HEIGHT);
422
+ for (let i = 0; i < segments; i++) {
423
+ const top = i * MAX_HEIGHT;
424
+ const height = Math.min(MAX_HEIGHT, resizedH - top);
425
+ if (height <= 0)
426
+ continue;
427
+ const segmentBuf = await sharp(resizedBuffer)
428
+ .extract({ left: 0, top, width: newWidth, height })
429
+ .toFormat(imageFormat)
430
+ .toBuffer();
431
+ const segmentDataUrl = `data:image/${imageFormat};base64,${segmentBuf.toString('base64')}`;
432
+ result.push(segmentDataUrl);
433
+ }
434
+ }
435
+ else {
436
+ const singleUrl = `data:image/${imageFormat};base64,${resizedBuffer.toString('base64')}`;
437
+ result.push(singleUrl);
438
+ }
439
+ return result;
419
440
  }
420
- else {
421
- const singleUrl = `data:image/${imageFormat};base64,${resizedBuffer.toString('base64')}`;
422
- result.push(singleUrl);
441
+ catch {
442
+ return [imageData];
423
443
  }
424
- return result;
425
444
  }
426
445
  function stripDataUrl(dataUrl) {
427
446
  const match = dataUrl.match(/^data:image\/([^;]+);base64,(.+)$/);
@@ -430,7 +449,10 @@ function stripDataUrl(dataUrl) {
430
449
  return { format: match[1], base64: match[2] };
431
450
  }
432
451
  async function processAndTruncate(imageBuffer, format, maxW, maxH) {
433
- const sharp = await getSharp();
452
+ const sharp = await getSharpOrNull();
453
+ if (!sharp) {
454
+ return imageBuffer;
455
+ }
434
456
  const resized = await sharp(imageBuffer)
435
457
  .rotate()
436
458
  .resize({ width: maxW, withoutEnlargement: true })
@@ -449,7 +471,10 @@ async function processAndTruncate(imageBuffer, format, maxW, maxH) {
449
471
  async function resizeAndTruncateForClaude(imageData) {
450
472
  const { format, base64 } = stripDataUrl(imageData);
451
473
  const buf = buffer_1.Buffer.from(base64, 'base64');
452
- const sharp = await getSharp();
474
+ const sharp = await getSharpOrNull();
475
+ if (!sharp) {
476
+ return imageData;
477
+ }
453
478
  const meta = await sharp(buf).metadata();
454
479
  if (meta.width <= exports.CLAUDE_MAX_WIDTH && meta.height <= exports.CLAUDE_MAX_HEIGHT) {
455
480
  return imageData;
@@ -460,7 +485,10 @@ async function resizeAndTruncateForClaude(imageData) {
460
485
  async function resizeAndTruncateForGemini(imageData) {
461
486
  const { format, base64 } = stripDataUrl(imageData);
462
487
  const buf = buffer_1.Buffer.from(base64, 'base64');
463
- const sharp = await getSharp();
488
+ const sharp = await getSharpOrNull();
489
+ if (!sharp) {
490
+ return imageData;
491
+ }
464
492
  const meta = await sharp(buf).metadata();
465
493
  if (meta.width <= exports.GEMINI_MAX_WIDTH && meta.height <= exports.GEMINI_MAX_HEIGHT) {
466
494
  return imageData;
@@ -1 +1 @@
1
- {"version":3,"file":"image_utils.d.ts","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"AA0DA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAS7D,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EAAE,EACZ,OAAO,EAAE,GAAG,EACZ,KAAK,EACC,MAAM,GACN;IACI,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC,EACP,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,EAClG,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAwCd;AASD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAgH5E;AAwED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CA4FrC;AAMD,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,GACnH,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAUD,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAsDlF;AAoCD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF;AAKD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF"}
1
+ {"version":3,"file":"image_utils.d.ts","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"AAkEA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAS7D,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,GAAG,EAAE,EACZ,OAAO,EAAE,GAAG,EACZ,KAAK,EACC,MAAM,GACN;IACI,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;CACjC,EACP,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,EAClG,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,CAwCd;AASD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,CAgH5E;AAwED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CA4FrC;AAMD,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,GACnH,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAUD,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgElF;AAuCD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnF;AAKD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"image_utils.js","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA,wDAoDC;AASD,gDAgHC;AAwED,sDAiGC;AAMD,sCAyBC;AAUD,0DAsDC;AAoCD,gEAaC;AAKD,gEAaC;AA9jBD,mCAAgC;AAChC,+BAAoC;AACpC,+DAAuE;AAGvE,IAAI,WAAW,GAAQ,IAAI,CAAC;AAE5B,SAAS,kBAAkB,CAAC,SAAkB;IAC1C,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,SAAqC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,SAAoC,CAAC;IACvD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAmC,CAAC;IACzD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAkC,CAAC;QAC5D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,OAAmC,CAAC;QACtD,CAAC;IACL,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,KAAiC,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,wDAAa,OAAO,GAAC,CAAC;YACrC,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC7E,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CACX,qGAAqG,CACxG,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAGY,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,GAAG,CAAC;AACxB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAGtC,yDAAgE;AAQzD,KAAK,UAAU,sBAAsB,CACxC,KAAa,EACb,KAAY,EACZ,OAAY,EACZ,KAKO,EACP,gBAAkG,EAClG,MAAe;IAEf,MAAM,OAAO,GACT,OAAO,KAAK,KAAK,QAAQ;QACrB,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ;YAChC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAGvB,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,MAAM,IAAA,6CAA0B,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvE,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACjD,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,QAAQ,GAAG,EAAE,WAAW,QAAQ,KAAK,WAAW,GAAG,CAAC,CAAC;YACpG,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;IACL,CAAC;IAGD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAClC,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnB,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AASD,SAAgB,kBAAkB,CAAC,OAAe;IAE9C,MAAM,MAAM,GAA6B;QACrC,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,OAAO;QACxB,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAG/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAK9E,MAAM,QAAQ,GAAG,mEAAmE,CAAC;IAGrF,MAAM,MAAM,GAA2B,EAAE,CAAC;IAG1C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QACrD,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QAGpB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAG3C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAG9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAG5C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACjB,WAAW,GAAG,mBAAmB,CAAC;YAClC,SAAS,GAAG,sCAAsC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3C,WAAW,GAAG,cAAc,CAAC;YAC7B,SAAS,GAAG,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,WAAW,GAAG,QAAQ,CAAC;YACvB,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAEzE,WAAW,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,SAAS,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,UAAU,GAAG,UAAU,CAAC;QAE5B,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE5D,IAAI,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1C,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBACzD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACrC,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;oBACV,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;YACX,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBAET,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACpE,IAAI,YAAY,EAAE,CAAC;oBACf,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACpE,IAAI,YAAY,EAAE,CAAC;gBACf,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAID,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,WAAW,UAAU,EAAE,CAAC;QACrD,OAAO,WAAW,EAAE,GAAG,CAAC;IAC5B,CAAC,CAAC,CAAC;IAGH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO;QACH,KAAK,EAAE,IAAI;QACX,eAAe,EAAE,OAAO;QACxB,cAAc,EAAE,cAAc;QAC9B,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,MAAM;KACjB,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,IAAI,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAA,mCAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC;QACD,OAAO,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC/G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAgB;IACjD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAChH,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA+B;IACzD,MAAM,KAAK,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAKrC;IACG,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,qCAAe,EAAC,MAAM,CAAC,IAAI,WAAW,CAAC;QAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,MAAM,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAExC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,gBAAgB,GAClB,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAA,qCAAe,EAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,IAAI,WAAW,CAAC;YACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,gBAAgB,EAAE,EAAE,CAAC;QACtE,CAAC;QAGD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC;gBACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACtF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,MAAM,EAAE,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAA,qCAAe,EAAC,gBAAgB,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,IAAI,WAAW,CAAC;gBACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,gBAAgB,EAAE,EAAE,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,qCAAe,EAAC,eAAe,CAAC,IAAI,WAAW,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,eAAe,EAAE,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,qCAAe,EAAC,YAAY,CAAC,IAAI,WAAW,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,YAAY,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAMM,KAAK,UAAU,aAAa,CAC/B,OAAe,EACf,KAAa,EACb,MAAc,EACd,IAAkH;IAElH,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAExG,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/D,OAAO,QAAQ,OAAO,WAAW,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC9D,CAAC;AAUM,KAAK,UAAU,uBAAuB,CAAC,SAAiB;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,GAAG,CAAC;IAGvB,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAGxE,MAAM,WAAW,GAAG,eAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAGvD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpF,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;SACzC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SAC3B,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;SAC/B,QAAQ,CAAC,WAAkB,CAAC;SAC5B,QAAQ,EAAE,CAAC;IAGhB,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEvE,MAAM,MAAM,GAAa,EAAE,CAAC;IAG5B,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;YACpD,IAAI,MAAM,IAAI,CAAC;gBAAE,SAAS;YAE1B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;iBACxC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;iBAClD,QAAQ,CAAC,WAAkB,CAAC;iBAC5B,QAAQ,EAAE,CAAC;YAEhB,MAAM,cAAc,GAAG,cAAc,WAAW,WAAW,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;SAAM,CAAC;QAEJ,MAAM,SAAS,GAAG,cAAc,WAAW,WAAW,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,SAAS,YAAY,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY;IAC7F,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;SACnC,MAAM,EAAE;SACR,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;SACjD,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;SAC/B,QAAQ,CAAC,MAAa,CAAC;SACvB,QAAQ,EAAE,CAAC;IAGhB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAG1D,IAAI,MAAO,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC;aACtB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aACzD,QAAQ,CAAC,MAAa,CAAC;aACvB,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAKM,KAAK,UAAU,0BAA0B,CAAC,SAAiB;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAG1C,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,KAAM,IAAI,wBAAgB,IAAI,IAAI,CAAC,MAAO,IAAI,yBAAiB,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,wBAAgB,EAAE,yBAAiB,CAAC,CAAC;IAC1F,OAAO,cAAc,MAAM,WAAW,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtE,CAAC;AAKM,KAAK,UAAU,0BAA0B,CAAC,SAAiB;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAG1C,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,KAAM,IAAI,wBAAgB,IAAI,IAAI,CAAC,MAAO,IAAI,yBAAiB,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,wBAAgB,EAAE,yBAAiB,CAAC,CAAC;IAC1F,OAAO,cAAc,MAAM,WAAW,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"image_utils.js","sourceRoot":"","sources":["../../../utils/image_utils.ts"],"names":[],"mappings":"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"}