first commit

This commit is contained in:
Ale
2025-05-13 12:01:17 +02:00
commit d7881a4461
4852 changed files with 537159 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import PDFRef from "../objects/PDFRef";
export interface Entry {
ref: PDFRef;
offset: number;
deleted: boolean;
}
/**
* Entries should be added using the [[addEntry]] and [[addDeletedEntry]]
* methods **in order of ascending object number**.
*/
declare class PDFCrossRefSection {
static create: () => PDFCrossRefSection;
static createEmpty: () => PDFCrossRefSection;
private subsections;
private chunkIdx;
private chunkLength;
private constructor();
addEntry(ref: PDFRef, offset: number): void;
addDeletedEntry(ref: PDFRef, nextFreeObjectNumber: number): void;
toString(): string;
sizeInBytes(): number;
copyBytesInto(buffer: Uint8Array, offset: number): number;
private copySubsectionsIntoBuffer;
private copyEntriesIntoBuffer;
private append;
}
export default PDFCrossRefSection;
//# sourceMappingURL=PDFCrossRefSection.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFCrossRefSection.d.ts","sourceRoot":"","sources":["../../../src/core/document/PDFCrossRefSection.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,0BAAgC;AAI7C,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,cAAM,kBAAkB;IACtB,MAAM,CAAC,MAAM,2BAKR;IAEL,MAAM,CAAC,WAAW,2BAAkC;IAEpD,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAMP,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI;IAIhE,QAAQ,IAAI,MAAM;IA4BlB,WAAW,IAAI,MAAM;IAcrB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAczD,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,MAAM;CAoBf;AAED,eAAe,kBAAkB,CAAC"}

View File

@@ -0,0 +1,121 @@
import PDFRef from "../objects/PDFRef";
import CharCodes from "../syntax/CharCodes";
import { copyStringIntoBuffer, padStart } from "../../utils";
/**
* Entries should be added using the [[addEntry]] and [[addDeletedEntry]]
* methods **in order of ascending object number**.
*/
var PDFCrossRefSection = /** @class */ (function () {
function PDFCrossRefSection(firstEntry) {
this.subsections = firstEntry ? [[firstEntry]] : [];
this.chunkIdx = 0;
this.chunkLength = firstEntry ? 1 : 0;
}
PDFCrossRefSection.prototype.addEntry = function (ref, offset) {
this.append({ ref: ref, offset: offset, deleted: false });
};
PDFCrossRefSection.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) {
this.append({ ref: ref, offset: nextFreeObjectNumber, deleted: true });
};
PDFCrossRefSection.prototype.toString = function () {
var section = "xref\n";
for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) {
var range = this.subsections[rangeIdx];
section += range[0].ref.objectNumber + " " + range.length + "\n";
for (var entryIdx = 0, entryLen = range.length; entryIdx < entryLen; entryIdx++) {
var entry = range[entryIdx];
section += padStart(String(entry.offset), 10, '0');
section += ' ';
section += padStart(String(entry.ref.generationNumber), 5, '0');
section += ' ';
section += entry.deleted ? 'f' : 'n';
section += ' \n';
}
}
return section;
};
PDFCrossRefSection.prototype.sizeInBytes = function () {
var size = 5;
for (var idx = 0, len = this.subsections.length; idx < len; idx++) {
var subsection = this.subsections[idx];
var subsectionLength = subsection.length;
var firstEntry = subsection[0];
size += 2;
size += String(firstEntry.ref.objectNumber).length;
size += String(subsectionLength).length;
size += 20 * subsectionLength;
}
return size;
};
PDFCrossRefSection.prototype.copyBytesInto = function (buffer, offset) {
var initialOffset = offset;
buffer[offset++] = CharCodes.x;
buffer[offset++] = CharCodes.r;
buffer[offset++] = CharCodes.e;
buffer[offset++] = CharCodes.f;
buffer[offset++] = CharCodes.Newline;
offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset);
return offset - initialOffset;
};
PDFCrossRefSection.prototype.copySubsectionsIntoBuffer = function (subsections, buffer, offset) {
var initialOffset = offset;
var length = subsections.length;
for (var idx = 0; idx < length; idx++) {
var subsection = this.subsections[idx];
var firstObjectNumber = String(subsection[0].ref.objectNumber);
offset += copyStringIntoBuffer(firstObjectNumber, buffer, offset);
buffer[offset++] = CharCodes.Space;
var rangeLength = String(subsection.length);
offset += copyStringIntoBuffer(rangeLength, buffer, offset);
buffer[offset++] = CharCodes.Newline;
offset += this.copyEntriesIntoBuffer(subsection, buffer, offset);
}
return offset - initialOffset;
};
PDFCrossRefSection.prototype.copyEntriesIntoBuffer = function (entries, buffer, offset) {
var length = entries.length;
for (var idx = 0; idx < length; idx++) {
var entry = entries[idx];
var entryOffset = padStart(String(entry.offset), 10, '0');
offset += copyStringIntoBuffer(entryOffset, buffer, offset);
buffer[offset++] = CharCodes.Space;
var entryGen = padStart(String(entry.ref.generationNumber), 5, '0');
offset += copyStringIntoBuffer(entryGen, buffer, offset);
buffer[offset++] = CharCodes.Space;
buffer[offset++] = entry.deleted ? CharCodes.f : CharCodes.n;
buffer[offset++] = CharCodes.Space;
buffer[offset++] = CharCodes.Newline;
}
return 20 * length;
};
PDFCrossRefSection.prototype.append = function (currEntry) {
if (this.chunkLength === 0) {
this.subsections.push([currEntry]);
this.chunkIdx = 0;
this.chunkLength = 1;
return;
}
var chunk = this.subsections[this.chunkIdx];
var prevEntry = chunk[this.chunkLength - 1];
if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {
this.subsections.push([currEntry]);
this.chunkIdx += 1;
this.chunkLength = 1;
}
else {
chunk.push(currEntry);
this.chunkLength += 1;
}
};
PDFCrossRefSection.create = function () {
return new PDFCrossRefSection({
ref: PDFRef.of(0, 65535),
offset: 0,
deleted: true,
});
};
PDFCrossRefSection.createEmpty = function () { return new PDFCrossRefSection(); };
return PDFCrossRefSection;
}());
export default PDFCrossRefSection;
//# sourceMappingURL=PDFCrossRefSection.js.map

File diff suppressed because one or more lines are too long

11
node_modules/pdf-lib/es/core/document/PDFHeader.d.ts generated vendored Normal file
View File

@@ -0,0 +1,11 @@
declare class PDFHeader {
static forVersion: (major: number, minor: number) => PDFHeader;
private readonly major;
private readonly minor;
private constructor();
toString(): string;
sizeInBytes(): number;
copyBytesInto(buffer: Uint8Array, offset: number): number;
}
export default PDFHeader;
//# sourceMappingURL=PDFHeader.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFHeader.d.ts","sourceRoot":"","sources":["../../../src/core/document/PDFHeader.ts"],"names":[],"mappings":"AAGA,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,UAAW,MAAM,SAAS,MAAM,eACnB;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO;IAKP,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,MAAM;IAIrB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAsB1D;AAED,eAAe,SAAS,CAAC"}

39
node_modules/pdf-lib/es/core/document/PDFHeader.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
import CharCodes from "../syntax/CharCodes";
import { charFromCode, copyStringIntoBuffer } from "../../utils";
var PDFHeader = /** @class */ (function () {
function PDFHeader(major, minor) {
this.major = String(major);
this.minor = String(minor);
}
PDFHeader.prototype.toString = function () {
var bc = charFromCode(129);
return "%PDF-" + this.major + "." + this.minor + "\n%" + bc + bc + bc + bc;
};
PDFHeader.prototype.sizeInBytes = function () {
return 12 + this.major.length + this.minor.length;
};
PDFHeader.prototype.copyBytesInto = function (buffer, offset) {
var initialOffset = offset;
buffer[offset++] = CharCodes.Percent;
buffer[offset++] = CharCodes.P;
buffer[offset++] = CharCodes.D;
buffer[offset++] = CharCodes.F;
buffer[offset++] = CharCodes.Dash;
offset += copyStringIntoBuffer(this.major, buffer, offset);
buffer[offset++] = CharCodes.Period;
offset += copyStringIntoBuffer(this.minor, buffer, offset);
buffer[offset++] = CharCodes.Newline;
buffer[offset++] = CharCodes.Percent;
buffer[offset++] = 129;
buffer[offset++] = 129;
buffer[offset++] = 129;
buffer[offset++] = 129;
return offset - initialOffset;
};
PDFHeader.forVersion = function (major, minor) {
return new PDFHeader(major, minor);
};
return PDFHeader;
}());
export default PDFHeader;
//# sourceMappingURL=PDFHeader.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFHeader.js","sourceRoot":"","sources":["../../../src/core/document/PDFHeader.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,4BAAkC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAkB;AAE/D;IAOE,mBAAoB,KAAa,EAAE,KAAa;QAC9C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,4BAAQ,GAAR;QACE,IAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,UAAQ,IAAI,CAAC,KAAK,SAAI,IAAI,CAAC,KAAK,WAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAI,CAAC;IACnE,CAAC;IAED,+BAAW,GAAX;QACE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,iCAAa,GAAb,UAAc,MAAkB,EAAE,MAAc;QAC9C,IAAM,aAAa,GAAG,MAAM,CAAC;QAE7B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;QAElC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAErC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC;QACvB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC;QAEvB,OAAO,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IAzCM,oBAAU,GAAG,UAAC,KAAa,EAAE,KAAa;QAC/C,OAAA,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAA3B,CAA2B,CAAC;IAyChC,gBAAC;CAAA,AA3CD,IA2CC;AAED,eAAe,SAAS,CAAC"}

10
node_modules/pdf-lib/es/core/document/PDFTrailer.d.ts generated vendored Normal file
View File

@@ -0,0 +1,10 @@
declare class PDFTrailer {
static forLastCrossRefSectionOffset: (offset: number) => PDFTrailer;
private readonly lastXRefOffset;
private constructor();
toString(): string;
sizeInBytes(): number;
copyBytesInto(buffer: Uint8Array, offset: number): number;
}
export default PDFTrailer;
//# sourceMappingURL=PDFTrailer.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFTrailer.d.ts","sourceRoot":"","sources":["../../../src/core/document/PDFTrailer.ts"],"names":[],"mappings":"AAGA,cAAM,UAAU;IACd,MAAM,CAAC,4BAA4B,WAAY,MAAM,gBAC5B;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO;IAIP,QAAQ,IAAI,MAAM;IAIlB,WAAW,IAAI,MAAM;IAIrB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAyB1D;AAED,eAAe,UAAU,CAAC"}

40
node_modules/pdf-lib/es/core/document/PDFTrailer.js generated vendored Normal file
View File

@@ -0,0 +1,40 @@
import CharCodes from "../syntax/CharCodes";
import { copyStringIntoBuffer } from "../../utils";
var PDFTrailer = /** @class */ (function () {
function PDFTrailer(lastXRefOffset) {
this.lastXRefOffset = String(lastXRefOffset);
}
PDFTrailer.prototype.toString = function () {
return "startxref\n" + this.lastXRefOffset + "\n%%EOF";
};
PDFTrailer.prototype.sizeInBytes = function () {
return 16 + this.lastXRefOffset.length;
};
PDFTrailer.prototype.copyBytesInto = function (buffer, offset) {
var initialOffset = offset;
buffer[offset++] = CharCodes.s;
buffer[offset++] = CharCodes.t;
buffer[offset++] = CharCodes.a;
buffer[offset++] = CharCodes.r;
buffer[offset++] = CharCodes.t;
buffer[offset++] = CharCodes.x;
buffer[offset++] = CharCodes.r;
buffer[offset++] = CharCodes.e;
buffer[offset++] = CharCodes.f;
buffer[offset++] = CharCodes.Newline;
offset += copyStringIntoBuffer(this.lastXRefOffset, buffer, offset);
buffer[offset++] = CharCodes.Newline;
buffer[offset++] = CharCodes.Percent;
buffer[offset++] = CharCodes.Percent;
buffer[offset++] = CharCodes.E;
buffer[offset++] = CharCodes.O;
buffer[offset++] = CharCodes.F;
return offset - initialOffset;
};
PDFTrailer.forLastCrossRefSectionOffset = function (offset) {
return new PDFTrailer(offset);
};
return PDFTrailer;
}());
export default PDFTrailer;
//# sourceMappingURL=PDFTrailer.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFTrailer.js","sourceRoot":"","sources":["../../../src/core/document/PDFTrailer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,4BAAkC;AAClD,OAAO,EAAE,oBAAoB,EAAE,oBAAkB;AAEjD;IAME,oBAAoB,cAAsB;QACxC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,6BAAQ,GAAR;QACE,OAAO,gBAAc,IAAI,CAAC,cAAc,YAAS,CAAC;IACpD,CAAC;IAED,gCAAW,GAAX;QACE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,kCAAa,GAAb,UAAc,MAAkB,EAAE,MAAc;QAC9C,IAAM,aAAa,GAAG,MAAM,CAAC;QAE7B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAErC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAE/B,OAAO,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IAzCM,uCAA4B,GAAG,UAAC,MAAc;QACnD,OAAA,IAAI,UAAU,CAAC,MAAM,CAAC;IAAtB,CAAsB,CAAC;IAyC3B,iBAAC;CAAA,AA3CD,IA2CC;AAED,eAAe,UAAU,CAAC"}

View File

@@ -0,0 +1,11 @@
import PDFDict from "../objects/PDFDict";
declare class PDFTrailerDict {
static of: (dict: PDFDict) => PDFTrailerDict;
readonly dict: PDFDict;
private constructor();
toString(): string;
sizeInBytes(): number;
copyBytesInto(buffer: Uint8Array, offset: number): number;
}
export default PDFTrailerDict;
//# sourceMappingURL=PDFTrailerDict.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFTrailerDict.d.ts","sourceRoot":"","sources":["../../../src/core/document/PDFTrailerDict.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,2BAAiC;AAG/C,cAAM,cAAc;IAClB,MAAM,CAAC,EAAE,SAAU,OAAO,oBAA8B;IAExD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,OAAO;IAIP,QAAQ,IAAI,MAAM;IAIlB,WAAW,IAAI,MAAM;IAIrB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAgB1D;AAED,eAAe,cAAc,CAAC"}

View File

@@ -0,0 +1,29 @@
import CharCodes from "../syntax/CharCodes";
var PDFTrailerDict = /** @class */ (function () {
function PDFTrailerDict(dict) {
this.dict = dict;
}
PDFTrailerDict.prototype.toString = function () {
return "trailer\n" + this.dict.toString();
};
PDFTrailerDict.prototype.sizeInBytes = function () {
return 8 + this.dict.sizeInBytes();
};
PDFTrailerDict.prototype.copyBytesInto = function (buffer, offset) {
var initialOffset = offset;
buffer[offset++] = CharCodes.t;
buffer[offset++] = CharCodes.r;
buffer[offset++] = CharCodes.a;
buffer[offset++] = CharCodes.i;
buffer[offset++] = CharCodes.l;
buffer[offset++] = CharCodes.e;
buffer[offset++] = CharCodes.r;
buffer[offset++] = CharCodes.Newline;
offset += this.dict.copyBytesInto(buffer, offset);
return offset - initialOffset;
};
PDFTrailerDict.of = function (dict) { return new PDFTrailerDict(dict); };
return PDFTrailerDict;
}());
export default PDFTrailerDict;
//# sourceMappingURL=PDFTrailerDict.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFTrailerDict.js","sourceRoot":"","sources":["../../../src/core/document/PDFTrailerDict.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,4BAAkC;AAElD;IAKE,wBAAoB,IAAa;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,iCAAQ,GAAR;QACE,OAAO,cAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAI,CAAC;IAC5C,CAAC;IAED,oCAAW,GAAX;QACE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,sCAAa,GAAb,UAAc,MAAkB,EAAE,MAAc;QAC9C,IAAM,aAAa,GAAG,MAAM,CAAC;QAE7B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAErC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IA/BM,iBAAE,GAAG,UAAC,IAAa,IAAK,OAAA,IAAI,cAAc,CAAC,IAAI,CAAC,EAAxB,CAAwB,CAAC;IAgC1D,qBAAC;CAAA,AAjCD,IAiCC;AAED,eAAe,cAAc,CAAC"}