ag-psd 29.1.0 → 30.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/psd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LayerCompCapturedInfo = exports.SectionDividerType = exports.ColorMode = void 0;
3
+ exports.Compression = exports.ChannelID = exports.LayerCompCapturedInfo = exports.SectionDividerType = exports.ColorMode = void 0;
4
4
  var ColorMode;
5
5
  (function (ColorMode) {
6
6
  ColorMode[ColorMode["Bitmap"] = 0] = "Bitmap";
@@ -26,4 +26,21 @@ var LayerCompCapturedInfo;
26
26
  LayerCompCapturedInfo[LayerCompCapturedInfo["Position"] = 2] = "Position";
27
27
  LayerCompCapturedInfo[LayerCompCapturedInfo["Appearance"] = 4] = "Appearance";
28
28
  })(LayerCompCapturedInfo = exports.LayerCompCapturedInfo || (exports.LayerCompCapturedInfo = {}));
29
+ var ChannelID;
30
+ (function (ChannelID) {
31
+ ChannelID[ChannelID["Color0"] = 0] = "Color0";
32
+ ChannelID[ChannelID["Color1"] = 1] = "Color1";
33
+ ChannelID[ChannelID["Color2"] = 2] = "Color2";
34
+ ChannelID[ChannelID["Color3"] = 3] = "Color3";
35
+ ChannelID[ChannelID["Transparency"] = -1] = "Transparency";
36
+ ChannelID[ChannelID["UserMask"] = -2] = "UserMask";
37
+ ChannelID[ChannelID["RealUserMask"] = -3] = "RealUserMask";
38
+ })(ChannelID = exports.ChannelID || (exports.ChannelID = {}));
39
+ var Compression;
40
+ (function (Compression) {
41
+ Compression[Compression["RawData"] = 0] = "RawData";
42
+ Compression[Compression["RleCompressed"] = 1] = "RleCompressed";
43
+ Compression[Compression["ZipWithoutPrediction"] = 2] = "ZipWithoutPrediction";
44
+ Compression[Compression["ZipWithPrediction"] = 3] = "ZipWithPrediction";
45
+ })(Compression = exports.Compression || (exports.Compression = {}));
29
46
  //# sourceMappingURL=psd.js.map
package/dist/psd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":";;;AAMA,IAAkB,SASjB;AATD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EATiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAS1B;AAED,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAKnC;AAs9CD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC"}
1
+ {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":";;;AAMA,IAAkB,SASjB;AATD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EATiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAS1B;AAED,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAKnC;AAs9CD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAgND,IAAkB,SAQjB;AARD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,0DAAiB,CAAA;IACjB,kDAAa,CAAA;IACb,0DAAiB,CAAA;AAClB,CAAC,EARiB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAQ1B;AAED,IAAkB,WAKjB;AALD,WAAkB,WAAW;IAC5B,mDAAW,CAAA;IACX,+DAAiB,CAAA;IACjB,6EAAwB,CAAA;IACxB,uEAAqB,CAAA;AACtB,CAAC,EALiB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAK5B"}
@@ -1,5 +1,4 @@
1
- import { Psd, ColorMode, LayerAdditionalInfo, ReadOptions, Color, PatternInfo, GlobalLayerMaskInfo, PixelData } from './psd';
2
- import { Compression } from './helpers';
1
+ import { Psd, Layer, ColorMode, LayerAdditionalInfo, ReadOptions, Color, PatternInfo, GlobalLayerMaskInfo, PixelData } from './psd';
3
2
  import { InternalImageResources } from './imageResources';
4
3
  export declare const supportedColorModes: ColorMode[];
5
4
  export interface PsdReader extends ReadOptions {
@@ -35,11 +34,11 @@ export declare function skipBytes(reader: PsdReader, count: number): void;
35
34
  export declare function checkSignature(reader: PsdReader, a: string, b?: string): void;
36
35
  export declare function readPsd(reader: PsdReader, readOptions?: ReadOptions): Psd;
37
36
  export declare function readLayerInfo(reader: PsdReader, psd: Psd, imageResources: InternalImageResources): void;
38
- export declare function readData(reader: PsdReader, length: number, data: PixelData | undefined, compression: Compression, width: number, height: number, bitDepth: number, offset: number, large: boolean, step: number): void;
37
+ export declare function decodeLayerImageData(layer: Layer, useImageData?: boolean, throwForMissingFeatures?: boolean): void;
39
38
  export declare function readGlobalLayerMaskInfo(reader: PsdReader): GlobalLayerMaskInfo | undefined;
40
39
  export declare function readAdditionalLayerInfo(reader: PsdReader, target: LayerAdditionalInfo, psd: Psd, imageResources: InternalImageResources): void;
41
40
  export declare function createImageDataBitDepth(width: number, height: number, bitDepth: number, channels?: number): PixelData;
42
- export declare function readDataZip(reader: PsdReader, length: number, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offset: number, prediction: boolean): void;
41
+ export declare function readDataZip(compressed: Uint8Array, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offset: number, prediction: boolean): void;
43
42
  export declare function readDataRLE(reader: PsdReader, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offsets: number[], large: boolean): void;
44
43
  export declare function readSection<T>(reader: PsdReader, round: number, func: (left: () => number) => T, skipEmpty?: boolean, eightBytes?: boolean): T | undefined;
45
44
  export declare function readColor(reader: PsdReader): Color;
package/dist/psdReader.js CHANGED
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.readPattern = exports.readColor = exports.readSection = exports.readDataRLE = exports.readDataZip = exports.createImageDataBitDepth = exports.readAdditionalLayerInfo = exports.readGlobalLayerMaskInfo = exports.readData = exports.readLayerInfo = exports.readPsd = exports.checkSignature = exports.skipBytes = exports.readAsciiString = exports.readUnicodeStringWithLengthLE = exports.readUnicodeStringWithLength = exports.readUnicodeString = exports.readPascalString = exports.validSignatureAt = exports.readSignature = exports.readBytes = exports.readFixedPointPath32 = exports.readFixedPoint32 = exports.readFloat64 = exports.readFloat32 = exports.readUint32 = exports.readInt32LE = exports.readInt32 = exports.readUint16LE = exports.readUint16 = exports.readInt16 = exports.peekUint8 = exports.readUint8 = exports.warnOrThrow = exports.createReader = exports.supportedColorModes = void 0;
14
+ exports.readPattern = exports.readColor = exports.readSection = exports.readDataRLE = exports.readDataZip = exports.createImageDataBitDepth = exports.readAdditionalLayerInfo = exports.readGlobalLayerMaskInfo = exports.decodeLayerImageData = exports.readLayerInfo = exports.readPsd = exports.checkSignature = exports.skipBytes = exports.readAsciiString = exports.readUnicodeStringWithLengthLE = exports.readUnicodeStringWithLength = exports.readUnicodeString = exports.readPascalString = exports.validSignatureAt = exports.readSignature = exports.readBytes = exports.readFixedPointPath32 = exports.readFixedPoint32 = exports.readFloat64 = exports.readFloat32 = exports.readUint32 = exports.readInt32LE = exports.readInt32 = exports.readUint16LE = exports.readUint16 = exports.readInt16 = exports.peekUint8 = exports.readUint8 = exports.warnOrThrow = exports.createReader = exports.supportedColorModes = void 0;
15
15
  var pako_1 = require("pako");
16
16
  var helpers_1 = require("./helpers");
17
17
  var additionalInfo_1 = require("./additionalInfo");
@@ -340,10 +340,8 @@ function readLayerInfo(reader, psd, imageResources) {
340
340
  layers.push(layer);
341
341
  layerChannels.push(channels);
342
342
  }
343
- if (!reader.skipLayerImageData) {
344
- for (var i = 0; i < layerCount; i++) {
345
- readLayerChannelImageData(reader, psd, layers[i], layerChannels[i]);
346
- }
343
+ for (var i = 0; i < layerCount; i++) {
344
+ readLayerChannelImageData(reader, psd, layers[i], layerChannels[i]);
347
345
  }
348
346
  if (!psd.children)
349
347
  psd.children = [];
@@ -482,73 +480,104 @@ function readLayerBlendingRanges(reader) {
482
480
  });
483
481
  }
484
482
  function readLayerChannelImageData(reader, psd, layer, channels) {
485
- var _a, _b, _c, _d;
483
+ if (reader.skipLayerImageData)
484
+ return;
485
+ var _a = psd.colorMode, colorMode = _a === void 0 ? 3 /* ColorMode.RGB */ : _a, _b = psd.bitsPerChannel, bitsPerChannel = _b === void 0 ? 8 : _b;
486
+ layer.rawData = { colorMode: colorMode, bitsPerChannel: bitsPerChannel, channels: [], large: reader.large };
487
+ for (var _i = 0, channels_1 = channels; _i < channels_1.length; _i++) {
488
+ var channel = channels_1[_i];
489
+ var start = reader.offset;
490
+ var compression = 0 /* Compression.RawData */;
491
+ var data = undefined;
492
+ if (channel.length === 1)
493
+ throw new Error('Invalid channel length');
494
+ if (channel.length) {
495
+ compression = readUint16(reader);
496
+ // try to fix broken files where there's 1 byte shift of channel
497
+ if (compression > 3) {
498
+ reader.offset -= 1;
499
+ compression = readUint16(reader);
500
+ }
501
+ // try to fix broken files where there's 1 byte shift of channel
502
+ if (compression > 3) {
503
+ reader.offset -= 3;
504
+ compression = readUint16(reader);
505
+ }
506
+ if (compression > 3)
507
+ throw new Error("Invalid compression: ".concat(compression));
508
+ if (channel.length > 2) {
509
+ data = readBytes(reader, channel.length - 2);
510
+ }
511
+ }
512
+ reader.offset = start + channel.length;
513
+ layer.rawData.channels.push({ id: channel.id, compression: compression, data: data });
514
+ }
515
+ if (!reader.useRawData) {
516
+ decodeLayerImageData(layer, !!reader.useImageData, !!reader.throwForMissingFeatures);
517
+ }
518
+ }
519
+ function resetAlpha(_a, cmyk) {
520
+ var data = _a.data;
521
+ var alpha = (data instanceof Float32Array) ? 1.0 : ((data instanceof Uint16Array) ? 0xffff : 0xff);
522
+ var offset = (cmyk ? 4 : 3) | 0;
523
+ var length = data.length | 0;
524
+ var step = (cmyk ? 5 : 4) | 0;
525
+ for (var p = offset; p < length; p = (p + step) | 0) {
526
+ data[p] = alpha;
527
+ }
528
+ }
529
+ function decodeLayerImageData(layer, useImageData, throwForMissingFeatures) {
530
+ if (!layer.rawData)
531
+ return;
532
+ var _a = layer.rawData, colorMode = _a.colorMode, bitsPerChannel = _a.bitsPerChannel, channels = _a.channels, large = _a.large;
486
533
  var layerWidth = (layer.right || 0) - (layer.left || 0);
487
534
  var layerHeight = (layer.bottom || 0) - (layer.top || 0);
488
- var cmyk = psd.colorMode === 4 /* ColorMode.CMYK */;
535
+ var cmyk = colorMode === 4 /* ColorMode.CMYK */;
489
536
  var imageData;
537
+ var initializedAlpha = false;
490
538
  if (layerWidth && layerHeight) {
491
539
  if (cmyk) {
492
- if (psd.bitsPerChannel !== 8)
540
+ if (bitsPerChannel !== 8)
493
541
  throw new Error('bitsPerChannel Not supproted');
494
542
  imageData = { width: layerWidth, height: layerHeight, data: new Uint8ClampedArray(layerWidth * layerHeight * 5) };
495
- for (var p = 4; p < imageData.data.byteLength; p += 5)
496
- imageData.data[p] = 255;
497
543
  }
498
544
  else {
499
- imageData = createImageDataBitDepth(layerWidth, layerHeight, (_a = psd.bitsPerChannel) !== null && _a !== void 0 ? _a : 8);
500
- (0, helpers_1.resetImageData)(imageData);
545
+ imageData = createImageDataBitDepth(layerWidth, layerHeight, bitsPerChannel);
501
546
  }
502
547
  }
503
- if (helpers_1.RAW_IMAGE_DATA) {
548
+ if (helpers_1.RAW_IMAGE_DATA) { // TODO: use layer.rawData instead
504
549
  layer.imageDataRaw = [];
505
550
  layer.imageDataRawCompression = [];
506
551
  }
507
- for (var _i = 0, channels_1 = channels; _i < channels_1.length; _i++) {
508
- var channel = channels_1[_i];
509
- if (channel.length === 0)
552
+ for (var _i = 0, channels_2 = channels; _i < channels_2.length; _i++) {
553
+ var _b = channels_2[_i], id = _b.id, compression = _b.compression, data = _b.data;
554
+ if (!data)
510
555
  continue;
511
- if (channel.length < 2)
512
- throw new Error('Invalid channel length');
513
- var start = reader.offset;
514
- var compression = readUint16(reader);
515
- // try to fix broken files where there's 1 byte shift of channel
516
- if (compression > 3) {
517
- reader.offset -= 1;
518
- compression = readUint16(reader);
519
- }
520
- // try to fix broken files where there's 1 byte shift of channel
521
- if (compression > 3) {
522
- reader.offset -= 3;
523
- compression = readUint16(reader);
524
- }
525
- if (compression > 3)
526
- throw new Error("Invalid compression: ".concat(compression));
527
- if (channel.id === -2 /* ChannelID.UserMask */ || channel.id === -3 /* ChannelID.RealUserMask */) {
528
- var mask = channel.id === -2 /* ChannelID.UserMask */ ? layer.mask : layer.realMask;
556
+ var dataReader = createReader(data.buffer, data.byteOffset, data.byteLength);
557
+ if (id === -2 /* ChannelID.UserMask */ || id === -3 /* ChannelID.RealUserMask */) {
558
+ var mask = id === -2 /* ChannelID.UserMask */ ? layer.mask : layer.realMask;
529
559
  if (!mask)
530
- throw new Error("Missing layer ".concat(channel.id === -2 /* ChannelID.UserMask */ ? 'mask' : 'real mask', " data"));
560
+ throw new Error("Missing layer ".concat(id === -2 /* ChannelID.UserMask */ ? 'mask' : 'real mask', " data"));
531
561
  var maskWidth = (mask.right || 0) - (mask.left || 0);
532
562
  var maskHeight = (mask.bottom || 0) - (mask.top || 0);
533
563
  if (maskWidth < 0 || maskHeight < 0 || maskWidth > 30000 || maskHeight > 30000)
534
564
  throw new Error('Invalid mask size');
535
565
  if (maskWidth && maskHeight) {
536
- var maskData = createImageDataBitDepth(maskWidth, maskHeight, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8);
537
- (0, helpers_1.resetImageData)(maskData);
538
- var start_1 = reader.offset;
539
- readData(reader, channel.length, maskData, compression, maskWidth, maskHeight, (_c = psd.bitsPerChannel) !== null && _c !== void 0 ? _c : 8, 0, reader.large, 4);
540
- if (helpers_1.RAW_IMAGE_DATA) {
541
- if (channel.id === -2 /* ChannelID.UserMask */) {
566
+ var maskData = createImageDataBitDepth(maskWidth, maskHeight, bitsPerChannel);
567
+ readData(dataReader, data.byteLength, maskData, compression, maskWidth, maskHeight, bitsPerChannel, 0, large, 4);
568
+ if (helpers_1.RAW_IMAGE_DATA) { // TODO: use layer.rawData instead
569
+ if (id === -2 /* ChannelID.UserMask */) {
542
570
  layer.maskDataRawCompression = compression;
543
- layer.maskDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start_1, reader.offset - start_1);
571
+ layer.maskDataRaw = data;
544
572
  }
545
573
  else {
546
574
  layer.realMaskDataRawCompression = compression;
547
- layer.realMaskDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start_1, reader.offset - start_1);
575
+ layer.realMaskDataRaw = data;
548
576
  }
549
577
  }
550
578
  setupGrayscale(maskData);
551
- if (reader.useImageData) {
579
+ resetAlpha(maskData, false);
580
+ if (useImageData) {
552
581
  mask.imageData = maskData;
553
582
  }
554
583
  else {
@@ -557,57 +586,71 @@ function readLayerChannelImageData(reader, psd, layer, channels) {
557
586
  }
558
587
  }
559
588
  else {
560
- var offset = (0, helpers_1.offsetForChannel)(channel.id, cmyk);
589
+ var offset = (0, helpers_1.offsetForChannel)(id, cmyk);
561
590
  var targetData = imageData;
562
591
  if (offset < 0) {
563
592
  targetData = undefined;
564
- if (reader.throwForMissingFeatures) {
565
- throw new Error("Channel not supported: ".concat(channel.id));
593
+ if (throwForMissingFeatures) {
594
+ throw new Error("Channel not supported: ".concat(id));
566
595
  }
567
596
  }
568
- readData(reader, channel.length, targetData, compression, layerWidth, layerHeight, (_d = psd.bitsPerChannel) !== null && _d !== void 0 ? _d : 8, offset, reader.large, cmyk ? 5 : 4);
569
- if (helpers_1.RAW_IMAGE_DATA) {
570
- layer.imageDataRawCompression[channel.id] = compression;
571
- layer.imageDataRaw[channel.id] = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start + 2, channel.length - 2);
597
+ readData(dataReader, data.byteLength, targetData, compression, layerWidth, layerHeight, bitsPerChannel, offset, large, cmyk ? 5 : 4);
598
+ if (helpers_1.RAW_IMAGE_DATA) { // TODO: use layer.rawData instead
599
+ layer.imageDataRawCompression[id] = compression;
600
+ layer.imageDataRaw[id] = data;
572
601
  }
573
- reader.offset = start + channel.length;
574
- if (targetData && psd.colorMode === 1 /* ColorMode.Grayscale */) {
602
+ if (targetData && colorMode === 1 /* ColorMode.Grayscale */) {
575
603
  setupGrayscale(targetData);
576
604
  }
577
605
  }
606
+ if (id === -1 /* ChannelID.Transparency */) {
607
+ initializedAlpha = true;
608
+ }
578
609
  }
579
610
  if (imageData) {
611
+ if (!initializedAlpha)
612
+ resetAlpha(imageData, cmyk);
580
613
  if (cmyk) {
581
614
  var cmykData = imageData;
582
615
  imageData = (0, helpers_1.createImageData)(cmykData.width, cmykData.height);
583
616
  cmykToRgb(cmykData, imageData, false);
584
617
  }
585
- if (reader.useImageData) {
618
+ if (useImageData) {
586
619
  layer.imageData = imageData;
587
620
  }
588
621
  else {
589
622
  layer.canvas = (0, helpers_1.imageDataToCanvas)(imageData);
590
623
  }
591
624
  }
625
+ delete layer.rawData;
592
626
  }
593
- function readData(reader, length, data, compression, width, height, bitDepth, offset, large, step) {
627
+ exports.decodeLayerImageData = decodeLayerImageData;
628
+ function readData(reader, length, pixels, compression, width, height, bitDepth, offset, large, step) {
629
+ if (!length)
630
+ return;
594
631
  if (compression === 0 /* Compression.RawData */) {
595
- readDataRaw(reader, data, width, height, bitDepth, step, offset);
632
+ if (length !== (width * height * Math.floor(bitDepth / 8))) {
633
+ reader.log("Invalid length (".concat(length, ", ").concat(width * height * Math.floor(bitDepth / 8), ")"));
634
+ }
635
+ var data = readBytes(reader, length);
636
+ readDataRaw(data, pixels, bitDepth, step, offset);
596
637
  }
597
638
  else if (compression === 1 /* Compression.RleCompressed */) {
598
- readDataRLE(reader, data, width, height, bitDepth, step, [offset], large);
639
+ // const reader = createReader(data.buffer, data.byteOffset, data.byteLength);
640
+ readDataRLE(reader, pixels, width, height, bitDepth, step, [offset], large);
599
641
  }
600
642
  else if (compression === 2 /* Compression.ZipWithoutPrediction */) {
601
- readDataZip(reader, length, data, width, height, bitDepth, step, offset, false);
643
+ var data = readBytes(reader, length);
644
+ readDataZip(data, pixels, width, height, bitDepth, step, offset, false);
602
645
  }
603
646
  else if (compression === 3 /* Compression.ZipWithPrediction */) {
604
- readDataZip(reader, length, data, width, height, bitDepth, step, offset, true);
647
+ var data = readBytes(reader, length);
648
+ readDataZip(data, pixels, width, height, bitDepth, step, offset, true);
605
649
  }
606
650
  else {
607
651
  throw new Error("Invalid Compression type: ".concat(compression));
608
652
  }
609
653
  }
610
- exports.readData = readData;
611
654
  function readGlobalLayerMaskInfo(reader) {
612
655
  return readSection(reader, 1, function (left) {
613
656
  if (!left())
@@ -737,7 +780,8 @@ function readImageData(reader, psd) {
737
780
  }
738
781
  if (compression === 0 /* Compression.RawData */) {
739
782
  for (var i = 0; i < channels.length; i++) {
740
- readDataRaw(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels[i]);
783
+ var data = readBytes(reader, psd.width * psd.height * Math.floor(bitsPerChannel / 8));
784
+ readDataRaw(data, imageData, bitsPerChannel, 4, channels[i]);
741
785
  }
742
786
  }
743
787
  else if (compression === 1 /* Compression.RleCompressed */) {
@@ -912,8 +956,7 @@ function copyChannelToPixelData(pixelData, channel, offset, step) {
912
956
  data[p] = channel[i];
913
957
  }
914
958
  }
915
- function readDataRaw(reader, pixelData, width, height, bitDepth, step, offset) {
916
- var buffer = readBytes(reader, width * height * Math.floor(bitDepth / 8));
959
+ function readDataRaw(buffer, pixelData, bitDepth, step, offset) {
917
960
  if (bitDepth == 32) {
918
961
  for (var i = 0; i < buffer.byteLength; i += 4) {
919
962
  var a = buffer[i + 0];
@@ -939,8 +982,7 @@ function decodePredicted(data, width, height, mod) {
939
982
  }
940
983
  }
941
984
  }
942
- function readDataZip(reader, length, pixelData, width, height, bitDepth, step, offset, prediction) {
943
- var compressed = readBytes(reader, length);
985
+ function readDataZip(compressed, pixelData, width, height, bitDepth, step, offset, prediction) {
944
986
  var decompressed = (0, pako_1.inflate)(compressed);
945
987
  if (pixelData && offset < step) {
946
988
  var array = bytesToArray(decompressed, bitDepth);
@@ -1 +1 @@
1
- {"version":3,"file":"psdReader.js","sourceRoot":"../src/","sources":["psdReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6BAA8C;AAE9C,qCAAqO;AACrO,mDAAmD;AACnD,mDAA+E;AAOlE,QAAA,mBAAmB,GAAG,yGAAyE,CAAC;AAC7G,IAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEvG,SAAS,cAAc,CAAC,IAAe;IACtC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;QACjC,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACrB;AACF,CAAC;AAUD,SAAgB,YAAY,CAAC,MAAuB,EAAE,MAAe,EAAE,MAAe;IACrF,IAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,MAAA,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7G,CAAC;AAHD,oCAGC;AAED,SAAgB,WAAW,CAAC,MAAiB,EAAE,OAAe;IAC7D,IAAI,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAHD,kCAGC;AAED,SAAgB,SAAS,CAAC,MAAiB;IAC1C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAHD,8BAGC;AAED,SAAgB,SAAS,CAAC,MAAiB;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAC,MAAiB;IAC1C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAHD,8BAGC;AAED,SAAgB,UAAU,CAAC,MAAiB;IAC3C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAHD,gCAGC;AAED,SAAgB,YAAY,CAAC,MAAiB;IAC7C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC;AAHD,oCAGC;AAED,SAAgB,SAAS,CAAC,MAAiB;IAC1C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAHD,8BAGC;AAED,SAAgB,WAAW,CAAC,MAAiB;IAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAHD,kCAGC;AAED,SAAgB,UAAU,CAAC,MAAiB;IAC3C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAHD,gCAGC;AAED,SAAgB,WAAW,CAAC,MAAiB;IAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAHD,kCAGC;AAED,SAAgB,WAAW,CAAC,MAAiB;IAC5C,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAHD,kCAGC;AAED,kCAAkC;AAClC,SAAgB,gBAAgB,CAAC,MAAiB;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAFD,4CAEC;AAED,iCAAiC;AACjC,SAAgB,oBAAoB,CAAC,MAAiB;IACrD,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAFD,oDAEC;AAED,SAAgB,SAAS,CAAC,MAAiB,EAAE,MAAc;IAC1D,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IAExB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QACrD,oEAAoE;QACpE,WAAW,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;QAC7D,IAAI,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,iBAAiB;QAChG,IAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;KACd;SAAM;QACN,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACzD;AACF,CAAC;AAfD,8BAeC;AAED,SAAgB,aAAa,CAAC,MAAiB;IAC9C,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAFD,sCAEC;AAED,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,MAAc;IACjE,IAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;UAC1D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;UACrD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;UACrD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC;AACvC,CAAC;AAND,4CAMC;AAED,SAAgB,gBAAgB,CAAC,MAAiB,EAAE,KAAa;IAChE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,uDAAuD;QACjF,MAAM,CAAC,MAAM,EAAE,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AATD,4CASC;AAED,SAAgB,iBAAiB,CAAC,MAAiB;IAClD,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAHD,8CAGC;AAED,SAAgB,2BAA2B,CAAC,MAAiB,EAAE,MAAc;IAC5E,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,OAAO,MAAM,EAAE,EAAE;QAChB,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,EAAE,qBAAqB;YAC/C,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACnC;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAZD,kEAYC;AAED,SAAgB,6BAA6B,CAAC,MAAiB,EAAE,MAAc;IAC9E,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,OAAO,MAAM,EAAE,EAAE;QAChB,IAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,EAAE,qBAAqB;YAC/C,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACnC;KACD;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAZD,sEAYC;AAED,SAAgB,eAAe,CAAC,MAAiB,EAAE,MAAc;IAChE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,OAAO,MAAM,EAAE,EAAE;QAChB,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/C;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AARD,0CAQC;AAED,SAAgB,SAAS,CAAC,MAAiB,EAAE,KAAa;IACzD,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;AACxB,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc,CAAC,MAAiB,EAAE,CAAS,EAAE,CAAU;IACtE,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,8BAAuB,SAAS,oBAAU,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC;KACjF;AACF,CAAC;AAPD,wCAOC;AAED,SAAS,eAAe,CAAC,MAAiB,EAAE,MAAc;IACzD,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACpC,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC;AAC/F,CAAC;AAED,SAAgB,OAAO,CAAC,MAAiB,EAAE,WAA6B;;IAA7B,4BAAA,EAAA,gBAA6B;IACvE,SAAS;IACT,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAA6B,OAAO,CAAE,CAAC,CAAC;IAE5F,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrB,IAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,IAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAM,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/C,IAAI,KAAK,GAAG,OAAO,IAAI,MAAM,GAAG,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAiB,KAAK,cAAI,MAAM,CAAE,CAAC,CAAC;IAC7F,IAAI,QAAQ,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAA0B,QAAQ,CAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAA2B,cAAc,CAAE,CAAC,CAAC;IAC3G,IAAI,2BAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAA6B,MAAA,UAAU,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAE,CAAC,CAAC;IAEtI,IAAM,GAAG,GAAQ,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,QAAQ,UAAA,EAAE,cAAc,gBAAA,EAAE,SAAS,WAAA,EAAE,CAAC;IAExE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,GAAG,OAAO,KAAK,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;IAE3B,kBAAkB;IAClB,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAC1B,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QAEpB,IAAI,SAAS,8BAAsB,EAAE;YACpC,yDAAyD;YACzD,IAAI,IAAI,EAAE,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAEjE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;SACnE;aAAM;YACN,uFAAuF;YACvF,yFAAyF;SACzF;QAED,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAElB,IAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;;YAEzB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC/C,IAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9B,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;YAEpC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;gBAC1B,IAAM,OAAO,GAAG,oCAAmB,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAEnD,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;oBACrB,IAAI;wBACH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;qBAC3C;oBAAC,OAAO,CAAC,EAAE;wBACX,IAAI,MAAM,CAAC,uBAAuB;4BAAE,MAAM,CAAC,CAAC;wBAC5C,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC1B;iBACD;qBAAM;oBACN,4FAA4F;oBAC5F,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1B;YACF,CAAC,CAAC,CAAC;;QApBJ,OAAO,IAAI,EAAE,GAAG,CAAC;;SAqBhB;IACF,CAAC,CAAC,CAAC;IAEK,IAAA,WAAW,GAAoC,cAAc,YAAlD,EAAE,oBAAoB,GAAc,cAAc,qBAA5B,EAAK,IAAI,UAAK,cAAc,EAA/D,uCAA8C,CAAF,CAAoB;IAEtE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACtB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;KAC1B;IAED,sBAAsB;IACtB,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAC1B,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;YAC1B,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAC3C,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3B,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,oCAAoC;QACpC,IAAI,IAAI,EAAE,GAAG,CAAC,EAAE;YACf,IAAM,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,mBAAmB;gBAAE,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;SACvE;aAAM;YACN,2DAA2D;YAC3D,wEAAwE;YACxE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1B;QAED,OAAO,IAAI,EAAE,GAAG,CAAC,EAAE;YAClB,uCAAuC;YACvC,OAAO,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzC,4DAA4D;gBAC5D,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACrB;YAED,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE;gBACjB,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;aAC1D;iBAAM;gBACN,4EAA4E;gBAC5E,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1B;SACD;IACF,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxD,IAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,WAAW,CAAC,CAAC;IAElG,IAAI,CAAC,aAAa,EAAE;QACnB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B;IAED,0EAA0E;IAC1E,8GAA8G;IAC9G,sEAAsE;IAEtE,OAAO,GAAG,CAAC;AACZ,CAAC;AA7HD,0BA6HC;AAED,SAAgB,aAAa,CAAC,MAAiB,EAAE,GAAQ,EAAE,cAAsC;;IACxF,IAAA,KAAgD,cAAc,YAA9C,EAAhB,WAAW,mBAAG,EAAE,KAAA,EAAE,KAA8B,cAAc,qBAAnB,EAAzB,oBAAoB,mBAAG,EAAE,KAAA,CAAoB;IAEvE,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI,UAAU,GAAG,CAAC,EAAE;QACnB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,UAAU,GAAG,CAAC,UAAU,CAAC;KACzB;IAED,IAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAM,aAAa,GAAoB,EAAE,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAA,KAAsB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,EAAhE,KAAK,WAAA,EAAE,QAAQ,cAAiD,CAAC;QACzE,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC7B;IAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACpC,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;KACD;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;IAErC,IAAM,KAAK,GAAoB,CAAC,GAAG,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5C,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,iCAAyB,CAAC;QAEjF,IAAI,IAAI,0CAAkC,IAAI,IAAI,4CAAoC,EAAE;YACvF,CAAC,CAAC,MAAM,GAAG,IAAI,0CAAkC,CAAC;YAClD,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEhB,IAAI,MAAA,CAAC,CAAC,cAAc,0CAAE,GAAG,EAAE;gBAC1B,CAAC,CAAC,SAAS,GAAG,MAAA,qBAAW,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,SAAS,CAAC;aAC/D;YAED,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACd;aAAM,IAAI,IAAI,sDAA8C,EAAE;YAC9D,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,0GAA0G;YAC1G,+GAA+G;YAC/G,qGAAqG;YACrG,gBAAgB;SAChB;aAAM;YACN,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC7C;KACD;AACF,CAAC;AAvDD,sCAuDC;AAED,SAAS,eAAe,CAAC,MAAiB,EAAE,GAAQ,EAAE,cAAsC;IAC3F,IAAM,KAAK,GAAU,EAAE,CAAC;IACxB,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,IAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,EAAE,GAAG,SAAS,CAAC,MAAM,CAAc,CAAC;QACxC,IAAI,QAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,QAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7E,QAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;SAC5B;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAA,EAAE,MAAM,UAAA,EAAE,CAAC,CAAC;KAC9B;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,qBAAW,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAAwB,SAAS,MAAG,CAAC,CAAC;IACnF,KAAK,CAAC,SAAS,GAAG,qBAAW,CAAC,SAAS,CAAC,CAAC;IAEzC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzC,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,qBAAqB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,IAAI;QAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3C,kBAAkB;IAClB,8EAA8E;IAC9E,yDAAyD;IACzD,2CAA2C;IAE3C,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAErB,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAC1B,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,cAAc;YAAE,KAAK,CAAC,cAAc,GAAG,cAAc,CAAC;QAC1D,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,8CAA8C;QAExF,+GAA+G;QAC/G,OAAO,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAE/E,OAAO,IAAI,EAAE,IAAI,EAAE;YAAE,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAEjF,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB,EAAE,KAAY;IACzD,OAAO,WAAW,CAA4B,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAC5D,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAE9B,IAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,uBAAuB,GAAG,CAAC,KAAK,iDAAyC,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,2CAAmC,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,yDAAiD,CAAC,KAAK,CAAC,CAAC;QAErF,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE;YACjB,IAAM,QAAQ,GAAkB,EAAE,CAAC;YACnC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE1B,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACpC,QAAQ,CAAC,uBAAuB,GAAG,CAAC,SAAS,iDAAyC,CAAC,KAAK,CAAC,CAAC;YAC9F,QAAQ,CAAC,QAAQ,GAAG,CAAC,SAAS,2CAAmC,CAAC,KAAK,CAAC,CAAC;YACzE,QAAQ,CAAC,cAAc,GAAG,CAAC,SAAS,yDAAiD,CAAC,KAAK,CAAC,CAAC;YAE7F,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,uCAAuC;YAClF,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAClC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,KAAK,uDAA8C,EAAE;YACxD,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,MAAM,qCAA6B;gBAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACzF,IAAI,MAAM,qCAA6B;gBAAE,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,MAAM,uCAA+B;gBAAE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC7F,IAAI,MAAM,uCAA+B;gBAAE,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;SACxF;QAED,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB;IAC3C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAiB;IACjD,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QACjC,IAAM,wBAAwB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAM,mCAAmC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACtE,IAAM,MAAM,GAAsD,EAAE,CAAC;QAErE,OAAO,IAAI,EAAE,GAAG,CAAC,EAAE;YAClB,IAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,aAAA,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;SACxC;QAED,OAAO,EAAE,wBAAwB,0BAAA,EAAE,mCAAmC,qCAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IAClF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAiB,EAAE,GAAQ,EAAE,KAAY,EAAE,QAAuB;;IACpG,IAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAM,IAAI,GAAG,GAAG,CAAC,SAAS,2BAAmB,CAAC;IAE9C,IAAI,SAAgC,CAAC;IAErC,IAAI,UAAU,IAAI,WAAW,EAAE;QAC9B,IAAI,IAAI,EAAE;YACT,IAAI,GAAG,CAAC,cAAc,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9E,SAAS,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,EAAsB,CAAC;YACtI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SAC/E;aAAM;YACN,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;YACtF,IAAA,wBAAc,EAAC,SAAS,CAAC,CAAC;SAC1B;KACD;IAED,IAAI,wBAAc,EAAE;QAClB,KAAa,CAAC,YAAY,GAAG,EAAE,CAAC;QAChC,KAAa,CAAC,uBAAuB,GAAG,EAAE,CAAC;KAC5C;IAED,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;QAA3B,IAAM,OAAO,iBAAA;QACjB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAElE,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,CAAgB,CAAC;QAEpD,gEAAgE;QAChE,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACnB,WAAW,GAAG,UAAU,CAAC,MAAM,CAAgB,CAAC;SAChD;QAED,gEAAgE;QAChE,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACnB,WAAW,GAAG,UAAU,CAAC,MAAM,CAAgB,CAAC;SAChD;QAED,IAAI,WAAW,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAAwB,WAAW,CAAE,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC,EAAE,gCAAuB,IAAI,OAAO,CAAC,EAAE,oCAA2B,EAAE;YAC/E,IAAM,IAAI,GAAG,OAAO,CAAC,EAAE,gCAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7E,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAiB,OAAO,CAAC,EAAE,gCAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,UAAO,CAAC,CAAC;YAE7G,IAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACvD,IAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,IAAI,UAAU,GAAG,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAErH,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC5B,IAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,EAAE,UAAU,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,CAAC,CAAC;gBACzF,IAAA,wBAAc,EAAC,QAAQ,CAAC,CAAC;gBAEzB,IAAM,OAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAE5H,IAAI,wBAAc,EAAE;oBACnB,IAAI,OAAO,CAAC,EAAE,gCAAuB,EAAE;wBACrC,KAAa,CAAC,sBAAsB,GAAG,WAAW,CAAC;wBACnD,KAAa,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,OAAK,EAAE,MAAM,CAAC,MAAM,GAAG,OAAK,CAAC,CAAC;qBACvH;yBAAM;wBACL,KAAa,CAAC,0BAA0B,GAAG,WAAW,CAAC;wBACvD,KAAa,CAAC,eAAe,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,OAAK,EAAE,MAAM,CAAC,MAAM,GAAG,OAAK,CAAC,CAAC;qBAC3H;iBACD;gBAED,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEzB,IAAI,MAAM,CAAC,YAAY,EAAE;oBACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;iBAC1B;qBAAM;oBACN,IAAI,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,QAAQ,CAAC,CAAC;iBAC1C;aACD;SACD;aAAM;YACN,IAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,UAAU,GAAG,SAAS,CAAC;YAE3B,IAAI,MAAM,GAAG,CAAC,EAAE;gBACf,UAAU,GAAG,SAAS,CAAC;gBAEvB,IAAI,MAAM,CAAC,uBAAuB,EAAE;oBACnC,MAAM,IAAI,KAAK,CAAC,iCAA0B,OAAO,CAAC,EAAE,CAAE,CAAC,CAAC;iBACxD;aACD;YAED,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhJ,IAAI,wBAAc,EAAE;gBAClB,KAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;gBAChE,KAAa,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACrI;YAED,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YAEvC,IAAI,UAAU,IAAI,GAAG,CAAC,SAAS,gCAAwB,EAAE;gBACxD,cAAc,CAAC,UAAU,CAAC,CAAC;aAC3B;SACD;KACD;IAED,IAAI,SAAS,EAAE;QACd,IAAI,IAAI,EAAE;YACT,IAAM,QAAQ,GAAG,SAAS,CAAC;YAC3B,SAAS,GAAG,IAAA,yBAAe,EAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SACtC;QAED,IAAI,MAAM,CAAC,YAAY,EAAE;YACxB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;aAAM;YACN,KAAK,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,SAAS,CAAC,CAAC;SAC5C;KACD;AACF,CAAC;AAED,SAAgB,QAAQ,CAAC,MAAiB,EAAE,MAAc,EAAE,IAA2B,EAAE,WAAwB,EAAE,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,KAAc,EAAE,IAAY;IAC/M,IAAI,WAAW,gCAAwB,EAAE;QACxC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;KACjE;SAAM,IAAI,WAAW,sCAA8B,EAAE;QACrD,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;KAC1E;SAAM,IAAI,WAAW,6CAAqC,EAAE;QAC5D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KAChF;SAAM,IAAI,WAAW,0CAAkC,EAAE;QACzD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KAC/E;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,oCAA6B,WAAW,CAAE,CAAC,CAAC;KAC5D;AACF,CAAC;AAZD,4BAYC;AAED,SAAgB,uBAAuB,CAAC,MAAiB;IACxD,OAAO,WAAW,CAAkC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAClE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAE9B,IAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC1C,IAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,uBAAuB;QAClD,OAAO,EAAE,iBAAiB,mBAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACJ,CAAC;AAdD,0DAcC;AAED,IAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnD,SAAS,oBAAoB,CAAC,MAAiB,EAAE,OAAiC;IACjF,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,kEAAkE;IAClE,KAAqB,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EAAE;QAA5B,IAAM,MAAM,mBAAA;QAChB,IAAI;YACH,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;YACnC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;SAC5B;QAAC,WAAM,GAAG;QACX,IAAI,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM;KACxB;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,8BAAuB,GAAG,oBAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC;KAChF;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,8BAA8B,CAAC,GAAW;IAClD,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC;AACzC,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAAiB,EAAE,MAA2B,EAAE,GAAQ,EAAE,cAAsC;IACvI,IAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACzE,IAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAElC,2GAA2G;IAC3G,IAAM,GAAG,GAAG,GAAG,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,iCAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5F,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,UAAA,IAAI;QAC1B,IAAM,OAAO,GAAG,gCAAe,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,OAAO,EAAE;YACZ,IAAI;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;aACxD;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,MAAM,CAAC,uBAAuB;oBAAE,MAAM,CAAC,CAAC;aAC5C;SACD;aAAM;YACN,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG,CAAC,qCAA8B,GAAG,CAAE,CAAC,CAAC;YAC7E,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1B;QAED,IAAI,IAAI,EAAE,EAAE;YACX,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG,CAAC,iBAAU,IAAI,EAAE,8CAAoC,GAAG,CAAE,CAAC,CAAC;YACnG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1B;IACF,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAChB,CAAC;AA1BD,0DA0BC;AAED,SAAgB,uBAAuB,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,QAAY;IAAZ,yBAAA,EAAA,YAAY;IACpG,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;QACrC,IAAI,QAAQ,KAAK,CAAC,EAAE;YACnB,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACtC;aAAM;YACN,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;SACjF;KACD;SAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;QAC3B,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;KAC3E;SAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;QAC3B,OAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;KAC5E;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,4BAAqB,QAAQ,MAAG,CAAC,CAAC;KAClD;AACF,CAAC;AAdD,0DAcC;AAED,SAAS,aAAa,CAAC,MAAiB,EAAE,GAAQ;;IACjD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAgB,CAAC;IACtD,IAAM,cAAc,GAAG,MAAA,GAAG,CAAC,cAAc,mCAAI,CAAC,CAAC;IAE/C,IAAI,2BAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oCAA6B,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;IAE/D,IAAI,WAAW,gCAAwB,IAAI,WAAW,sCAA8B;QACnF,MAAM,IAAI,KAAK,CAAC,0CAAmC,WAAW,CAAE,CAAC,CAAC;IAEnE,IAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjF,IAAA,wBAAc,EAAC,SAAS,CAAC,CAAC;IAE1B,QAAQ,GAAG,CAAC,SAAS,EAAE;QACtB,6BAAqB,CAAC,CAAC;YACtB,IAAI,cAAc,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAE1F,IAAI,KAAK,SAAY,CAAC;YAEtB,IAAI,WAAW,gCAAwB,EAAE;gBACxC,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;aACjE;iBAAM,IAAI,WAAW,sCAA8B,EAAE;gBACrD,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3H;iBAAM;gBACN,MAAM,IAAI,KAAK,CAAC,4CAAqC,WAAW,CAAE,CAAC,CAAC;aACpE;YAED,IAAA,sBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM;SACN;QACD,2BAAmB;QACnB,gCAAwB,CAAC,CAAC;YACzB,IAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,gCAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzE,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACtC,sDAAsD;oBACtD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACjB;aACD;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE;gBAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;YAED,IAAI,WAAW,gCAAwB,EAAE;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtF;aACD;iBAAM,IAAI,WAAW,sCAA8B,EAAE;gBACrD,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjG,IAAI,wBAAc;oBAAG,GAAW,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aAC1I;YAED,IAAI,GAAG,CAAC,SAAS,gCAAwB,EAAE;gBAC1C,cAAc,CAAC,SAAS,CAAC,CAAC;aAC1B;YACD,MAAM;SACN;QACD,8BAAsB,CAAC,CAAC;YACvB,IAAI,cAAc,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC1E,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAE3D,IAAI,WAAW,gCAAwB,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACnC;iBAAM,IAAI,WAAW,sCAA8B,EAAE;gBACrD,IAAM,gBAAgB,GAAc;oBACnC,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,IAAI,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;iBACxD,CAAC;gBACF,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnG,YAAY,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;aACvD;iBAAM;gBACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACnC;YAED,MAAM;SACN;QACD,2BAAmB,CAAC,CAAC;YACpB,IAAI,cAAc,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC1E,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAEjE,IAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,MAAM,CAAC,WAAW;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEzC,IAAI,WAAW,gCAAwB,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACnC,YAAY;gBACZ,8CAA8C;gBAC9C,uEAAuE;gBACvE,IAAI;aACJ;iBAAM,IAAI,WAAW,sCAA8B,EAAE;gBACrD,IAAM,aAAa,GAAc;oBAChC,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,IAAI,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC5D,CAAC;gBAEF,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrG,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAE1C,IAAI,wBAAc;oBAAG,GAAW,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aAC1I;iBAAM;gBACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACnC;YAED,MAAM;SACN;QACD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,oCAA6B,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC;KACvE;IAED,2BAA2B;IAC3B,IAAI,MAAM,CAAC,WAAW,EAAE;QACvB,IAAI,GAAG,CAAC,cAAc,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9E,IAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;QACzB,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YACjC,IAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;gBACzB,IAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;gBACnB,IAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAChC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAChC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aAChC;SACD;KACD;IAED,IAAI,MAAM,CAAC,YAAY,EAAE;QACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;KAC1B;SAAM;QACN,GAAG,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,SAAS,CAAC,CAAC;KAC1C;AACF,CAAC;AAED,SAAS,SAAS,CAAC,IAAe,EAAE,GAAc,EAAE,YAAqB;IACxE,IAAM,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,IAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IAEzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE;QAC1D,IAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,IAAM,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAM,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAM,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAC5E;IAED,+DAA+D;IAC/D,2CAA2C;IAC3C,2CAA2C;IAC3C,2CAA2C;IAC3C,wCAAwC;IACxC,iDAAiD;IACjD,iDAAiD;IACjD,iDAAiD;IACjD,gFAAgF;IAChF,IAAI;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAkB,EAAE,GAAc,EAAE,OAAc;IACvE,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7B,IAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IAEzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE;QACvD,IAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;KACvB;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAa,EAAE,CAAa;IACrD,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACvC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB,EAAE,QAAgB;IACxD,IAAI,QAAQ,KAAK,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACb;SAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE;YACzB,IAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC;SACd;aAAM;YACN,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;SAC7E;KACD;SAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE;YACzB,IAAM,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC;SACd;aAAM;YACN,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;SAC9E;KACD;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,4BAAqB,QAAQ,MAAG,CAAC,CAAA;KACjD;AACF,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAoB,EAAE,OAAmB,EAAE,MAAc,EAAE,IAAY;IACtG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAChD,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;QAClE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACrB;AACF,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB,EAAE,SAAgC,EAAE,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc;IACtJ,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5E,IAAI,QAAQ,IAAI,EAAE,EAAE;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAClB;KACD;IAED,IAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7C,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,EAAE;QAC/B,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KACvD;AACF,CAAC;AAED,SAAS,eAAe,CAAC,IAA8B,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW;IAClG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAChC,IAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACxC;KACD;AACF,CAAC;AAED,SAAgB,WAAW,CAAC,MAAiB,EAAE,MAAc,EAAE,SAAgC,EAAE,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc,EAAE,UAAmB;IAClM,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAM,YAAY,GAAG,IAAA,cAAW,EAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,EAAE;QAC/B,IAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,QAAQ,KAAK,CAAC,EAAE;YACnB,IAAI,UAAU;gBAAE,eAAe,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACpE,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC9D;aAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;YAC3B,IAAI,UAAU;gBAAE,eAAe,CAAC,KAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9E,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SACvD;aAAM,IAAI,QAAQ,KAAK,EAAE,EAAE;YAC3B,IAAI,UAAU;gBAAE,eAAe,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAExE,IAAI,EAAE,GAAG,MAAM,CAAC;YAChB,IAAM,GAAG,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE;oBAChD,IAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpB,IAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpB,IAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/G;aACD;SACD;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACpC;KACD;AACF,CAAC;AAjCD,kCAiCC;AAED,SAAgB,WAAW,CAAC,MAAiB,EAAE,SAAgC,EAAE,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAiB,EAAE,KAAc;IAChL,IAAM,IAAI,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;IACzC,IAAI,OAAkC,CAAC;IAEvC,IAAI,KAAK,EAAE;QACV,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;gBACtC,OAAO,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;aACjC;SACD;KACD;SAAM;QACN,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;gBACtC,OAAO,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;aACjC;SACD;KACD;IAED,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAAsB,QAAQ,MAAG,CAAC,CAAC;IAEzF,IAAM,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB;IAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAM,KAAK,GAAG,CAAC,GAAG,UAAU,IAAI,MAAM,GAAG,UAAU,CAAC;QAEpD,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;gBACtC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/B;SACD;aAAM;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;gBACtD,IAAM,QAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,QAAM,CAAC,CAAC;gBAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAEvB,IAAI,MAAM,GAAG,GAAG,EAAE;wBACjB,IAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;4BAC3E,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAChB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;yBACnB;qBACD;yBAAM,IAAI,MAAM,GAAG,GAAG,EAAE;wBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE;4BAC3E,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;4BACtB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;yBACnB;qBACD;yBAAM;wBACN,aAAa;qBACb;oBAED,kGAAkG;oBAClG,6FAA6F;iBAC7F;aACD;SACD;KACD;AACF,CAAC;AAjED,kCAiEC;AAED,SAAgB,WAAW,CAC1B,MAAiB,EAAE,KAAa,EAAE,IAA+B,EAAE,SAAgB,EAAE,UAAkB;IAApC,0BAAA,EAAA,gBAAgB;IAAE,2BAAA,EAAA,kBAAkB;IAEvG,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,UAAU,EAAE;QACf,IAAI,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7E,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;KAC5B;IAED,IAAI,MAAM,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAE/C,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE/E,IAAM,MAAM,GAAG,IAAI,CAAC,cAAM,OAAA,GAAG,GAAG,MAAM,CAAC,MAAM,EAAnB,CAAmB,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACxB,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;SAC/C;aAAM;YACN,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,uEAAuE;SACnH;KACD;IAED,OAAO,MAAM,GAAG,KAAK,EAAE;QAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,CAAC;KAAE;IAC3C,6BAA6B;IAE7B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IAEpB,OAAO,MAAM,CAAC;AACf,CAAC;AA/BD,kCA+BC;AAED,SAAgB,SAAS,CAAC,MAAiB;IAC1C,IAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAe,CAAC;IAEpD,QAAQ,UAAU,EAAE;QACnB,2BAAmB,CAAC,CAAC;YACpB,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC;SACnB;QACD,2BAAmB,CAAC,CAAC;YACpB,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YACtC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YACtC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YACtC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC;SACnB;QACD,4BAAoB,CAAC,CAAC;YACrB,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACnC,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC;SACtB;QACD,2BAAmB,CAAC,CAAC;YACpB,IAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACpC,IAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/C,IAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;YAC/C,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC;SACnB;QACD,iCAAyB,CAAC,CAAC;YAC1B,IAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;YAC3C,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC;SACb;QACD;YACC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;AACF,CAAC;AA1CD,8BA0CC;AAED,SAAgB,WAAW,CAAC,MAAiB;IAC5C,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,GAAG,CAAC;QAAE,MAAM,EAAE,CAAC;IAC5B,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACnC,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAA4B,OAAO,CAAE,CAAC,CAAC;IAE1E,IAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAc,CAAC;IAClD,IAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE5B,4CAA4C;IAC5C,IAAI,SAAS,0BAAkB,IAAI,SAAS,gCAAwB,IAAI,SAAS,8BAAsB,EAAE;QACxG,MAAM,IAAI,KAAK,CAAC,0CAAmC,SAAS,CAAE,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,IAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,IAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,IAAI,SAAS,8BAAsB,EAAE;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC;gBACZ,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;gBACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;gBACpB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;aACpB,CAAC,CAAA;SACF;QAED,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;KAC7C;IAED,4BAA4B;IAC5B,IAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAiC,QAAQ,CAAE,CAAC,CAAC;IAEjF,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;IAC7B,IAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,IAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,IAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,IAAM,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAC5B,IAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KACd;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrD,IAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,IAAM,QAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,IAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;QAC9D,IAAM,UAAU,GAAG,QAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE5C,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SAChE;QAED,IAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;QACzB,IAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QACzB,IAAM,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC;QACxB,IAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;QAEtB,IAAI,eAAe,KAAK,CAAC,EAAE;YAC1B,IAAI,SAAS,0BAAkB,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC1C,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE;oBAC3B,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE;wBAC3B,IAAM,GAAG,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;wBACtB,IAAM,GAAG,GAAG,CAAC,EAAE,GAAG,GAAC,GAAG,CAAC,GAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC5B;iBACD;aACD;YAED,IAAI,SAAS,gCAAwB,IAAI,EAAE,GAAG,CAAC,EAAE;gBAChD,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE;oBAC3B,KAAK,IAAI,GAAC,GAAG,CAAC,EAAE,GAAC,GAAG,CAAC,EAAE,GAAC,EAAE,EAAE;wBAC3B,IAAM,GAAG,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;wBACtB,IAAM,GAAG,GAAG,CAAC,EAAE,GAAG,GAAC,GAAG,CAAC,GAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5C,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;wBACzB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;wBACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;wBACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;qBACtB;iBACD;aACD;YAED,IAAI,SAAS,8BAAsB,EAAE;gBACpC,QAAQ;gBACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC9D;SACD;aAAM,IAAI,eAAe,KAAK,CAAC,EAAE;YACjC,IAAM,SAAS,GAAc,EAAE,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC;YACrD,IAAM,QAAQ,GAAc,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACjF,IAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAEnF,IAAI,SAAS,0BAAkB,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC1C,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACnD;YAED,IAAI,SAAS,gCAAwB,IAAI,EAAE,GAAG,CAAC,EAAE;gBAChD,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClD,cAAc,CAAC,SAAS,CAAC,CAAC;aAC1B;YAED,IAAI,SAAS,8BAAsB,EAAE;gBACpC,QAAQ;gBACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC9D;SACD;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QAED,EAAE,EAAE,CAAC;KACL;IAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IAEpB,OAAO,EAAE,EAAE,IAAA,EAAE,IAAI,MAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC;AACnF,CAAC;AApID,kCAoIC;AAED,SAAS,iBAAiB,CAAC,OAAkB,EAAE,OAAkB,EAAE,EAAU,EAAE,EAAU,EAAE,MAAc;IACxG,IAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IACxB,IAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,IAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,IAAM,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;SACnC;KACD;AACF,CAAC"}
1
+ {"version":3,"file":"psdReader.js","sourceRoot":"../src/","sources":["psdReader.ts"],"names":[],"mappings":"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"}