Brunobkr/llama.cpp_AlgMor24_github
ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.
03.1k
1(function (factory) {2 function interopModuleDefault() {3 var module = factory();4 return module.default || module;5 }6 7 if (typeof exports === "object" && typeof module === "object") {8 module.exports = interopModuleDefault();9 } else if (typeof define === "function" && define.amd) {10 define(interopModuleDefault);11 } else {12 var root =13 typeof globalThis !== "undefined"14 ? globalThis15 : typeof global !== "undefined"16 ? global17 : typeof self !== "undefined"18 ? self19 : this || {};20 root.doc = interopModuleDefault();21 }22})(function () {23 "use strict";24 var __defProp = Object.defineProperty;25 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;26 var __getOwnPropNames = Object.getOwnPropertyNames;27 var __hasOwnProp = Object.prototype.hasOwnProperty;28 var __export = (target, all) => {29 for (var name in all)30 __defProp(target, name, { get: all[name], enumerable: true });31 };32 var __copyProps = (to, from, except, desc) => {33 if (from && typeof from === "object" || typeof from === "function") {34 for (let key of __getOwnPropNames(from))35 if (!__hasOwnProp.call(to, key) && key !== except)36 __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });37 }38 return to;39 };40 var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);41 42 // src/document/public.js43 var public_exports = {};44 __export(public_exports, {45 builders: () => builders,46 printer: () => printer,47 utils: () => utils48 });49 50 // scripts/build/shims/shared.js51 var OPTIONAL_OBJECT = 1;52 var createMethodShim = (methodName, getImplementation) => (flags, object, ...arguments_) => {53 if (flags | OPTIONAL_OBJECT && (object === void 0 || object === null)) {54 return;55 }56 const implementation = getImplementation.call(object) ?? object[methodName];57 return implementation.apply(object, arguments_);58 };59 60 // scripts/build/shims/method-at.js61 function stringOrArrayAt(index) {62 return this[index < 0 ? this.length + index : index];63 }64 var at = createMethodShim("at", function() {65 if (Array.isArray(this) || typeof this === "string") {66 return stringOrArrayAt;67 }68 });69 var method_at_default = at;70 71 // src/utilities/noop.js72 var noop = () => {73 };74 var noop_default = noop;75 76 // src/document/builders/types.js77 var DOC_TYPE_STRING = (78 /** @type {const} */79 "string"80 );81 var DOC_TYPE_ARRAY = (82 /** @type {const} */83 "array"84 );85 var DOC_TYPE_CURSOR = (86 /** @type {const} */87 "cursor"88 );89 var DOC_TYPE_INDENT = (90 /** @type {const} */91 "indent"92 );93 var DOC_TYPE_ALIGN = (94 /** @type {const} */95 "align"96 );97 var DOC_TYPE_TRIM = (98 /** @type {const} */99 "trim"100 );101 var DOC_TYPE_GROUP = (102 /** @type {const} */103 "group"104 );105 var DOC_TYPE_FILL = (106 /** @type {const} */107 "fill"108 );109 var DOC_TYPE_IF_BREAK = (110 /** @type {const} */111 "if-break"112 );113 var DOC_TYPE_INDENT_IF_BREAK = (114 /** @type {const} */115 "indent-if-break"116 );117 var DOC_TYPE_LINE_SUFFIX = (118 /** @type {const} */119 "line-suffix"120 );121 var DOC_TYPE_LINE_SUFFIX_BOUNDARY = (122 /** @type {const} */123 "line-suffix-boundary"124 );125 var DOC_TYPE_LINE = (126 /** @type {const} */127 "line"128 );129 var DOC_TYPE_LABEL = (130 /** @type {const} */131 "label"132 );133 var DOC_TYPE_BREAK_PARENT = (134 /** @type {const} */135 "break-parent"136 );137 var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([138 DOC_TYPE_CURSOR,139 DOC_TYPE_INDENT,140 DOC_TYPE_ALIGN,141 DOC_TYPE_TRIM,142 DOC_TYPE_GROUP,143 DOC_TYPE_FILL,144 DOC_TYPE_IF_BREAK,145 DOC_TYPE_INDENT_IF_BREAK,146 DOC_TYPE_LINE_SUFFIX,147 DOC_TYPE_LINE_SUFFIX_BOUNDARY,148 DOC_TYPE_LINE,149 DOC_TYPE_LABEL,150 DOC_TYPE_BREAK_PARENT151 ]);152 153 // node_modules/trim-newlines/index.js154 function trimNewlinesEnd(string) {155 let end = string.length;156 while (end > 0 && (string[end - 1] === "\r" || string[end - 1] === "\n")) {157 end--;158 }159 return end < string.length ? string.slice(0, end) : string;160 }161 162 // src/document/utilities/get-doc-type.js163 function getDocType(doc) {164 if (typeof doc === "string") {165 return DOC_TYPE_STRING;166 }167 if (Array.isArray(doc)) {168 return DOC_TYPE_ARRAY;169 }170 if (!doc) {171 return;172 }173 const { type } = doc;174 if (VALID_OBJECT_DOC_TYPES.has(type)) {175 return type;176 }177 }178 var get_doc_type_default = getDocType;179 180 // src/document/utilities/invalid-doc-error.js181 var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list);182 function getDocErrorMessage(doc) {183 const type = doc === null ? "null" : typeof doc;184 if (type !== "string" && type !== "object") {185 return `Unexpected doc '${type}', 186Expected it to be 'string' or 'object'.`;187 }188 if (get_doc_type_default(doc)) {189 throw new Error("doc is valid.");190 }191 const objectType = Object.prototype.toString.call(doc);192 if (objectType !== "[object Object]") {193 return `Unexpected doc '${objectType}'.`;194 }195 const EXPECTED_TYPE_VALUES = disjunctionListFormat(196 [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)197 );198 return `Unexpected doc.type '${doc.type}'.199Expected it to be ${EXPECTED_TYPE_VALUES}.`;200 }201 var InvalidDocError = class extends Error {202 name = "InvalidDocError";203 constructor(doc) {204 super(getDocErrorMessage(doc));205 this.doc = doc;206 }207 };208 var invalid_doc_error_default = InvalidDocError;209 210 // src/document/utilities/traverse-doc.js211 var traverseDocOnExitStackMarker = {};212 function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {213 const docsStack = [doc];214 while (docsStack.length > 0) {215 const doc2 = docsStack.pop();216 if (doc2 === traverseDocOnExitStackMarker) {217 onExit(docsStack.pop());218 continue;219 }220 if (onExit) {221 docsStack.push(doc2, traverseDocOnExitStackMarker);222 }223 const docType = get_doc_type_default(doc2);224 if (!docType) {225 throw new invalid_doc_error_default(doc2);226 }227 if (onEnter?.(doc2) === false) {228 continue;229 }230 switch (docType) {231 case DOC_TYPE_ARRAY:232 case DOC_TYPE_FILL: {233 const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;234 for (let ic = parts.length, i = ic - 1; i >= 0; --i) {235 docsStack.push(parts[i]);236 }237 break;238 }239 case DOC_TYPE_IF_BREAK:240 docsStack.push(doc2.flatContents, doc2.breakContents);241 break;242 case DOC_TYPE_GROUP:243 if (shouldTraverseConditionalGroups && doc2.expandedStates) {244 for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {245 docsStack.push(doc2.expandedStates[i]);246 }247 } else {248 docsStack.push(doc2.contents);249 }250 break;251 case DOC_TYPE_ALIGN:252 case DOC_TYPE_INDENT:253 case DOC_TYPE_INDENT_IF_BREAK:254 case DOC_TYPE_LABEL:255 case DOC_TYPE_LINE_SUFFIX:256 docsStack.push(doc2.contents);257 break;258 case DOC_TYPE_STRING:259 case DOC_TYPE_CURSOR:260 case DOC_TYPE_TRIM:261 case DOC_TYPE_LINE_SUFFIX_BOUNDARY:262 case DOC_TYPE_LINE:263 case DOC_TYPE_BREAK_PARENT:264 break;265 default:266 throw new invalid_doc_error_default(doc2);267 }268 }269 }270 var traverse_doc_default = traverseDoc;271 272 // src/document/utilities/index.js273 function mapDoc(doc, cb) {274 if (typeof doc === "string") {275 return cb(doc);276 }277 const mapped = /* @__PURE__ */ new Map();278 return rec(doc);279 function rec(doc2) {280 if (mapped.has(doc2)) {281 return mapped.get(doc2);282 }283 const result = process2(doc2);284 mapped.set(doc2, result);285 return result;286 }287 function process2(doc2) {288 switch (get_doc_type_default(doc2)) {289 case DOC_TYPE_ARRAY:290 return cb(doc2.map(rec));291 case DOC_TYPE_FILL:292 return cb({293 ...doc2,294 parts: doc2.parts.map(rec)295 });296 case DOC_TYPE_IF_BREAK:297 return cb({298 ...doc2,299 breakContents: rec(doc2.breakContents),300 flatContents: rec(doc2.flatContents)301 });302 case DOC_TYPE_GROUP: {303 let {304 expandedStates,305 contents306 } = doc2;307 if (expandedStates) {308 expandedStates = expandedStates.map(rec);309 contents = expandedStates[0];310 } else {311 contents = rec(contents);312 }313 return cb({314 ...doc2,315 contents,316 expandedStates317 });318 }319 case DOC_TYPE_ALIGN:320 case DOC_TYPE_INDENT:321 case DOC_TYPE_INDENT_IF_BREAK:322 case DOC_TYPE_LABEL:323 case DOC_TYPE_LINE_SUFFIX:324 return cb({325 ...doc2,326 contents: rec(doc2.contents)327 });328 case DOC_TYPE_STRING:329 case DOC_TYPE_CURSOR:330 case DOC_TYPE_TRIM:331 case DOC_TYPE_LINE_SUFFIX_BOUNDARY:332 case DOC_TYPE_LINE:333 case DOC_TYPE_BREAK_PARENT:334 return cb(doc2);335 default:336 throw new invalid_doc_error_default(doc2);337 }338 }339 }340 function findInDoc(doc, fn, defaultValue) {341 let result = defaultValue;342 let shouldSkipFurtherProcessing = false;343 function findInDocOnEnterFn(doc2) {344 if (shouldSkipFurtherProcessing) {345 return false;346 }347 const maybeResult = fn(doc2);348 if (maybeResult !== void 0) {349 shouldSkipFurtherProcessing = true;350 result = maybeResult;351 }352 }353 traverse_doc_default(doc, findInDocOnEnterFn);354 return result;355 }356 function willBreakFn(doc) {357 if (doc.type === DOC_TYPE_GROUP && doc.break) {358 return true;359 }360 if (doc.type === DOC_TYPE_LINE && doc.hard) {361 return true;362 }363 if (doc.type === DOC_TYPE_BREAK_PARENT) {364 return true;365 }366 }367 function willBreak(doc) {368 return findInDoc(doc, willBreakFn, false);369 }370 function breakParentGroup(groupStack) {371 if (groupStack.length > 0) {372 const parentGroup = method_at_default(373 /* OPTIONAL_OBJECT: false */374 0,375 groupStack,376 -1377 );378 if (!parentGroup.expandedStates && !parentGroup.break) {379 parentGroup.break = "propagated";380 }381 }382 return null;383 }384 function propagateBreaks(doc) {385 const alreadyVisitedSet = /* @__PURE__ */ new Set();386 const groupStack = [];387 function propagateBreaksOnEnterFn(doc2) {388 if (doc2.type === DOC_TYPE_BREAK_PARENT) {389 breakParentGroup(groupStack);390 }391 if (doc2.type === DOC_TYPE_GROUP) {392 groupStack.push(doc2);393 if (alreadyVisitedSet.has(doc2)) {394 return false;395 }396 alreadyVisitedSet.add(doc2);397 }398 }399 function propagateBreaksOnExitFn(doc2) {400 if (doc2.type === DOC_TYPE_GROUP) {401 const group2 = groupStack.pop();402 if (group2.break) {403 breakParentGroup(groupStack);404 }405 }406 }407 traverse_doc_default(408 doc,409 propagateBreaksOnEnterFn,410 propagateBreaksOnExitFn,411 /* shouldTraverseConditionalGroups */412 true413 );414 }415 function removeLinesFn(doc) {416 if (doc.type === DOC_TYPE_LINE && !doc.hard) {417 return doc.soft ? "" : " ";418 }419 if (doc.type === DOC_TYPE_IF_BREAK) {420 return doc.flatContents;421 }422 return doc;423 }424 function removeLines(doc) {425 return mapDoc(doc, removeLinesFn);426 }427 function stripTrailingHardlineFromParts(parts) {428 parts = [...parts];429 while (parts.length >= 2 && method_at_default(430 /* OPTIONAL_OBJECT: false */431 0,432 parts,433 -2434 ).type === DOC_TYPE_LINE && method_at_default(435 /* OPTIONAL_OBJECT: false */436 0,437 parts,438 -1439 ).type === DOC_TYPE_BREAK_PARENT) {440 parts.length -= 2;441 }442 if (parts.length > 0) {443 const lastPart = stripTrailingHardlineFromDoc(method_at_default(444 /* OPTIONAL_OBJECT: false */445 0,446 parts,447 -1448 ));449 parts[parts.length - 1] = lastPart;450 }451 return parts;452 }453 function stripTrailingHardlineFromDoc(doc) {454 switch (get_doc_type_default(doc)) {455 case DOC_TYPE_INDENT:456 case DOC_TYPE_INDENT_IF_BREAK:457 case DOC_TYPE_GROUP:458 case DOC_TYPE_LINE_SUFFIX:459 case DOC_TYPE_LABEL: {460 const contents = stripTrailingHardlineFromDoc(doc.contents);461 return {462 ...doc,463 contents464 };465 }466 case DOC_TYPE_IF_BREAK:467 return {468 ...doc,469 breakContents: stripTrailingHardlineFromDoc(doc.breakContents),470 flatContents: stripTrailingHardlineFromDoc(doc.flatContents)471 };472 case DOC_TYPE_FILL:473 return {474 ...doc,475 parts: stripTrailingHardlineFromParts(doc.parts)476 };477 case DOC_TYPE_ARRAY:478 return stripTrailingHardlineFromParts(doc);479 case DOC_TYPE_STRING:480 return trimNewlinesEnd(doc);481 case DOC_TYPE_ALIGN:482 case DOC_TYPE_CURSOR:483 case DOC_TYPE_TRIM:484 case DOC_TYPE_LINE_SUFFIX_BOUNDARY:485 case DOC_TYPE_LINE:486 case DOC_TYPE_BREAK_PARENT:487 break;488 default:489 throw new invalid_doc_error_default(doc);490 }491 return doc;492 }493 function stripTrailingHardline(doc) {494 return stripTrailingHardlineFromDoc(cleanDoc(doc));495 }496 function cleanDocFn(doc) {497 switch (get_doc_type_default(doc)) {498 case DOC_TYPE_FILL:499 if (doc.parts.every((part) => part === "")) {500 return "";501 }502 break;503 case DOC_TYPE_GROUP:504 if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) {505 return "";506 }507 if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) {508 return doc.contents;509 }510 break;511 case DOC_TYPE_ALIGN:512 case DOC_TYPE_INDENT:513 case DOC_TYPE_INDENT_IF_BREAK:514 case DOC_TYPE_LINE_SUFFIX:515 if (!doc.contents) {516 return "";517 }518 break;519 case DOC_TYPE_IF_BREAK:520 if (!doc.flatContents && !doc.breakContents) {521 return "";522 }523 break;524 case DOC_TYPE_ARRAY: {525 const parts = [];526 for (const part of doc) {527 if (!part) {528 continue;529 }530 const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];531 if (typeof currentPart === "string" && typeof method_at_default(532 /* OPTIONAL_OBJECT: false */533 0,534 parts,535 -1536 ) === "string") {537 parts[parts.length - 1] += currentPart;538 } else {539 parts.push(currentPart);540 }541 parts.push(...restParts);542 }543 if (parts.length === 0) {544 return "";545 }546 if (parts.length === 1) {547 return parts[0];548 }549 return parts;550 }551 case DOC_TYPE_STRING:552 case DOC_TYPE_CURSOR:553 case DOC_TYPE_TRIM:554 case DOC_TYPE_LINE_SUFFIX_BOUNDARY:555 case DOC_TYPE_LINE:556 case DOC_TYPE_LABEL:557 case DOC_TYPE_BREAK_PARENT:558 break;559 default:560 throw new invalid_doc_error_default(doc);561 }562 return doc;563 }564 function cleanDoc(doc) {565 return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc));566 }567 function replaceEndOfLine(doc, replacement = literalline) {568 return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc);569 }570 function canBreakFn(doc) {571 if (doc.type === DOC_TYPE_LINE) {572 return true;573 }574 }575 function canBreak(doc) {576 return findInDoc(doc, canBreakFn, false);577 }578 579 // src/document/utilities/assert-doc.js580 var assertDoc = true ? noop_default : (581 /**582 @param {Doc} doc583 */584 function(doc) {585 traverse_doc_default(doc, (doc2) => {586 if (typeof doc2 === "string" || checked.has(doc2)) {587 return false;588 }589 checked.add(doc2);590 });591 }592 );593 var assertDocArray = true ? noop_default : (594 /**595 @param {readonly Doc[]} docs596 @param {boolean} [optional = false]597 */598 function(docs, optional = false) {599 if (optional && !docs) {600 return;601 }602 if (!Array.isArray(docs)) {603 throw new TypeError("Unexpected doc array.");604 }605 for (const doc of docs) {606 assertDoc(doc);607 }608 }609 );610 var assertDocFillParts = true ? noop_default : (611 /**612 @param {readonly Doc[]} parts613 */614 function(parts) {615 assertDocArray(parts);616 if (parts.length > 1 && isEmptyDoc(method_at_default(617 /* OPTIONAL_OBJECT: false */618 0,619 parts,620 -1621 ))) {622 parts = parts.slice(0, -1);623 }624 for (const [i, doc] of parts.entries()) {625 if (i % 2 === 1 && !isValidSeparator(doc)) {626 const type = get_doc_type_default(doc);627 throw new Error(`Unexpected non-line-break doc at ${i}. Doc type is ${type}.`);628 }629 }630 }631 );632 var assertAlignType = true ? noop_default : function(alignType) {633 if (!(typeof alignType === "number" || typeof alignType === "string" || alignType?.type === "root")) {634 throw new TypeError(`Invalid alignType '${alignType}'.`);635 }636 };637 638 // src/document/builders/indent.js639 function indent(contents) {640 assertDoc(contents);641 return { type: DOC_TYPE_INDENT, contents };642 }643 644 // src/document/builders/align.js645 function align(alignType, contents) {646 assertAlignType(alignType);647 assertDoc(contents);648 return { type: DOC_TYPE_ALIGN, contents, n: alignType };649 }650 function dedentToRoot(contents) {651 return align(Number.NEGATIVE_INFINITY, contents);652 }653 function markAsRoot(contents) {654 return align({ type: "root" }, contents);655 }656 function dedent(contents) {657 return align(-1, contents);658 }659 function addAlignmentToDoc(doc, size, tabWidth) {660 assertDoc(doc);661 let aligned = doc;662 if (size > 0) {663 for (let level = 0; level < Math.floor(size / tabWidth); ++level) {664 aligned = indent(aligned);665 }666 aligned = align(size % tabWidth, aligned);667 aligned = align(Number.NEGATIVE_INFINITY, aligned);668 }669 return aligned;670 }671 672 // src/document/builders/break-parent.js673 var breakParent = { type: DOC_TYPE_BREAK_PARENT };674 675 // src/document/builders/cursor.js676 var cursor = { type: DOC_TYPE_CURSOR };677 678 // src/document/builders/fill.js679 function fill(parts) {680 assertDocFillParts(parts);681 return { type: DOC_TYPE_FILL, parts };682 }683 684 // src/document/builders/group.js685 function group(contents, options = {}) {686 assertDoc(contents);687 assertDocArray(688 options.expandedStates,689 /* optional */690 true691 );692 return {693 type: DOC_TYPE_GROUP,694 id: options.id,695 contents,696 break: Boolean(options.shouldBreak),697 expandedStates: options.expandedStates698 };699 }700 function conditionalGroup(states, options) {701 return group(states[0], { ...options, expandedStates: states });702 }703 704 // src/document/builders/if-break.js705 function ifBreak(breakContents, flatContents = "", options = {}) {706 assertDoc(breakContents);707 if (flatContents !== "") {708 assertDoc(flatContents);709 }710 return {711 type: DOC_TYPE_IF_BREAK,712 breakContents,713 flatContents,714 groupId: options.groupId715 };716 }717 718 // src/document/builders/indent-if-break.js719 function indentIfBreak(contents, options) {720 assertDoc(contents);721 return {722 type: DOC_TYPE_INDENT_IF_BREAK,723 contents,724 groupId: options.groupId,725 negate: options.negate726 };727 }728 729 // src/document/builders/join.js730 function join(separator, docs) {731 assertDoc(separator);732 assertDocArray(docs);733 const parts = [];734 for (let i = 0; i < docs.length; i++) {735 if (i !== 0) {736 parts.push(separator);737 }738 parts.push(docs[i]);739 }740 return parts;741 }742 743 // src/document/builders/label.js744 function label(label2, contents) {745 assertDoc(contents);746 return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents;747 }748 749 // src/document/builders/line.js750 var line = { type: DOC_TYPE_LINE };751 var softline = { type: DOC_TYPE_LINE, soft: true };752 var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true };753 var hardline = [hardlineWithoutBreakParent, breakParent];754 var literallineWithoutBreakParent = {755 type: DOC_TYPE_LINE,756 hard: true,757 literal: true758 };759 var literalline = [literallineWithoutBreakParent, breakParent];760 761 // src/document/builders/line-suffix.js762 function lineSuffix(contents) {763 assertDoc(contents);764 return { type: DOC_TYPE_LINE_SUFFIX, contents };765 }766 767 // src/document/builders/line-suffix-boundary.js768 var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY };769 770 // src/document/builders/trim.js771 var trim = { type: DOC_TYPE_TRIM };772 773 // scripts/build/shims/method-replace-all.js774 var stringReplaceAll = String.prototype.replaceAll ?? function(pattern, replacement) {775 if (pattern.global) {776 return this.replace(pattern, replacement);777 }778 return this.split(pattern).join(replacement);779 };780 var replaceAll = createMethodShim("replaceAll", function() {781 if (typeof this === "string") {782 return stringReplaceAll;783 }784 });785 var method_replace_all_default = replaceAll;786 787 // src/common/end-of-line.js788 var OPTION_CR = "cr";789 var OPTION_CRLF = "crlf";790 var CHARACTER_CR = "\r";791 var CHARACTER_CRLF = "\r\n";792 var CHARACTER_LF = "\n";793 var DEFAULT_EOL = CHARACTER_LF;794 function convertEndOfLineOptionToCharacter(endOfLineOption) {795 return endOfLineOption === OPTION_CR ? CHARACTER_CR : endOfLineOption === OPTION_CRLF ? CHARACTER_CRLF : DEFAULT_EOL;796 }797 798 // node_modules/emoji-regex/index.mjs799 var emoji_regex_default = () => {800 return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;801 };802 803 // node_modules/get-east-asian-width/lookup.js804 function isFullWidth(x) {805 return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;806 }807 function isWide(x) {808 return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;809 }810 811 // src/utilities/narrow-emojis.evaluate.js812 var narrow_emojis_evaluate_default = "\xA9\xAE\u203C\u2049\u2122\u2139\u2194\u2195\u2196\u2197\u2198\u2199\u21A9\u21AA\u2328\u23CF\u23F1\u23F2\u23F8\u23F9\u23FA\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600\u2601\u2602\u2603\u2604\u260E\u2611\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694\u2695\u2696\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F1\u26F7\u26F8\u26F9\u2702\u2708\u2709\u270C\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u2764\u27A1\u2934\u2935\u2B05\u2B06\u2B07";813 814 // src/utilities/get-string-width.js815 var notAsciiRegex = /[^\x20-\x7F]/u;816 var narrowEmojisSet = new Set(narrow_emojis_evaluate_default);817 function getStringWidth(text) {818 if (!text) {819 return 0;820 }821 if (!notAsciiRegex.test(text)) {822 return text.length;823 }824 text = text.replace(825 emoji_regex_default(),826 (match) => narrowEmojisSet.has(match) ? " " : " "827 );828 let width = 0;829 for (const character of text) {830 const codePoint = character.codePointAt(0);831 if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {832 continue;833 }834 if (codePoint >= 768 && codePoint <= 879) {835 continue;836 }837 if (codePoint >= 65024 && codePoint <= 65039) {838 continue;839 }840 width += isFullWidth(codePoint) || isWide(codePoint) ? 2 : 1;841 }842 return width;843 }844 var get_string_width_default = getStringWidth;845 846 // src/document/printer/indent.js847 var INDENT_COMMAND_TYPE_INDENT = 0;848 var INDENT_COMMAND_TYPE_DEDENT = 1;849 var INDENT_COMMAND_TYPE_WIDTH = 2;850 var INDENT_COMMAND_TYPE_STRING = 3;851 var INDENT_COMMAND_INDENT = { type: INDENT_COMMAND_TYPE_INDENT };852 var INDENT_COMMAND_DEDENT = { type: INDENT_COMMAND_TYPE_DEDENT };853 var ROOT_INDENT = {854 value: "",855 length: 0,856 queue: [],857 get root() {858 return ROOT_INDENT;859 }860 };861 function generateIndent(indent2, command, options) {862 const queue = command.type === INDENT_COMMAND_TYPE_DEDENT ? indent2.queue.slice(0, -1) : [...indent2.queue, command];863 let value = "";864 let length = 0;865 let lastTabs = 0;866 let lastSpaces = 0;867 for (const command2 of queue) {868 switch (command2.type) {869 case INDENT_COMMAND_TYPE_INDENT:870 flush();871 if (options.useTabs) {872 addTabs(1);873 } else {874 addSpaces(options.tabWidth);875 }876 break;877 case INDENT_COMMAND_TYPE_STRING: {878 const { string } = command2;879 flush();880 value += string;881 length += string.length;882 break;883 }884 case INDENT_COMMAND_TYPE_WIDTH: {885 const { width } = command2;886 lastTabs += 1;887 lastSpaces += width;888 break;889 }890 default:891 throw new Error(`Unexpected indent comment '${command2.type}'.`);892 }893 }894 flushSpaces();895 return { ...indent2, value, length, queue };896 function addTabs(count) {897 value += " ".repeat(count);898 length += options.tabWidth * count;899 }900 function addSpaces(count) {901 value += " ".repeat(count);902 length += count;903 }904 function flush() {905 if (options.useTabs) {906 flushTabs();907 } else {908 flushSpaces();909 }910 }911 function flushTabs() {912 if (lastTabs > 0) {913 addTabs(lastTabs);914 }915 resetLast();916 }917 function flushSpaces() {918 if (lastSpaces > 0) {919 addSpaces(lastSpaces);920 }921 resetLast();922 }923 function resetLast() {924 lastTabs = 0;925 lastSpaces = 0;926 }927 }928 function makeAlign(indent2, indentOptions, options) {929 if (!indentOptions) {930 return indent2;931 }932 if (indentOptions.type === "root") {933 return { ...indent2, root: indent2 };934 }935 if (indentOptions === Number.NEGATIVE_INFINITY) {936 return indent2.root;937 }938 let command;939 if (typeof indentOptions === "number") {940 if (indentOptions < 0) {941 command = INDENT_COMMAND_DEDENT;942 } else {943 command = { type: INDENT_COMMAND_TYPE_WIDTH, width: indentOptions };944 }945 } else {946 command = { type: INDENT_COMMAND_TYPE_STRING, string: indentOptions };947 }948 return generateIndent(indent2, command, options);949 }950 function makeIndent(indent2, options) {951 return generateIndent(indent2, INDENT_COMMAND_INDENT, options);952 }953 954 // src/document/printer/trim-indentation.js955 function getTrailingIndentionLength(text) {956 let length = 0;957 for (let index = text.length - 1; index >= 0; index--) {958 const character = text[index];959 if (character === " " || character === " ") {960 length++;961 } else {962 break;963 }964 }965 return length;966 }967 function trimIndentation(text) {968 const length = getTrailingIndentionLength(text);969 const trimmed = length === 0 ? text : text.slice(0, text.length - length);970 return { text: trimmed, count: length };971 }972 973 // src/document/printer/printer.js974 var MODE_BREAK = Symbol("MODE_BREAK");975 var MODE_FLAT = Symbol("MODE_FLAT");976 var DOC_FILL_PRINTED_LENGTH = Symbol("DOC_FILL_PRINTED_LENGTH");977 function fits(next, restCommands, remainingWidth, hasLineSuffix, groupModeMap, mustBeFlat) {978 if (remainingWidth === Number.POSITIVE_INFINITY) {979 return true;980 }981 let restCommandsIndex = restCommands.length;982 let hasPendingSpace = false;983 const commands = [next];984 let output = "";985 while (remainingWidth >= 0) {986 if (commands.length === 0) {987 if (restCommandsIndex === 0) {988 return true;989 }990 commands.push(restCommands[--restCommandsIndex]);991 continue;992 }993 const {994 mode,995 doc996 } = commands.pop();997 const docType = get_doc_type_default(doc);998 switch (docType) {999 case DOC_TYPE_STRING:1000 if (doc) {1001 if (hasPendingSpace) {1002 output += " ";1003 remainingWidth -= 1;1004 hasPendingSpace = false;1005 }1006 output += doc;1007 remainingWidth -= get_string_width_default(doc);1008 }1009 break;1010 case DOC_TYPE_ARRAY:1011 case DOC_TYPE_FILL: {1012 const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts;1013 const end = doc[DOC_FILL_PRINTED_LENGTH] ?? 0;1014 for (let index = parts.length - 1; index >= end; index--) {1015 commands.push({1016 mode,1017 doc: parts[index]1018 });1019 }1020 break;1021 }1022 case DOC_TYPE_INDENT:1023 case DOC_TYPE_ALIGN:1024 case DOC_TYPE_INDENT_IF_BREAK:1025 case DOC_TYPE_LABEL:1026 commands.push({1027 mode,1028 doc: doc.contents1029 });1030 break;1031 case DOC_TYPE_TRIM: {1032 const {1033 text,1034 count1035 } = trimIndentation(output);1036 output = text;1037 remainingWidth += count;1038 break;1039 }1040 case DOC_TYPE_GROUP: {1041 if (mustBeFlat && doc.break) {1042 return false;1043 }1044 const groupMode = doc.break ? MODE_BREAK : mode;1045 const contents = doc.expandedStates && groupMode === MODE_BREAK ? method_at_default(1046 /* OPTIONAL_OBJECT: false */1047 0,1048 doc.expandedStates,1049 -11050 ) : doc.contents;1051 commands.push({1052 mode: groupMode,1053 doc: contents1054 });1055 break;1056 }1057 case DOC_TYPE_IF_BREAK: {1058 const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode;1059 const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents;1060 if (contents) {1061 commands.push({1062 mode,1063 doc: contents1064 });1065 }1066 break;1067 }1068 case DOC_TYPE_LINE:1069 if (mode === MODE_BREAK || doc.hard) {1070 return true;1071 }1072 if (!doc.soft) {1073 hasPendingSpace = true;1074 }1075 break;1076 case DOC_TYPE_LINE_SUFFIX:1077 hasLineSuffix = true;1078 break;1079 case DOC_TYPE_LINE_SUFFIX_BOUNDARY:1080 if (hasLineSuffix) {1081 return false;1082 }1083 break;1084 }1085 }1086 return false;1087 }1088 function printDocToString(doc, options) {1089 const groupModeMap = /* @__PURE__ */ Object.create(null);1090 const width = options.printWidth;1091 const newLine = convertEndOfLineOptionToCharacter(options.endOfLine);1092 let position = 0;1093 const commands = [{1094 indent: ROOT_INDENT,1095 mode: MODE_BREAK,1096 doc1097 }];1098 let output = "";1099 let shouldRemeasure = false;1100 const lineSuffix2 = [];1101 const cursorPositions = [];1102 const settledOutput = [];1103 const settledCursorPositions = [];1104 let settledTextLength = 0;1105 propagateBreaks(doc);1106 while (commands.length > 0) {1107 const {1108 indent: indent2,1109 mode,1110 doc: doc21111 } = commands.pop();1112 switch (get_doc_type_default(doc2)) {1113 case DOC_TYPE_STRING: {1114 const formatted2 = newLine !== "\n" ? method_replace_all_default(1115 /* OPTIONAL_OBJECT: false */1116 0,1117 doc2,1118 "\n",1119 newLine1120 ) : doc2;1121 if (formatted2) {1122 output += formatted2;1123 if (commands.length > 0) {1124 position += get_string_width_default(formatted2);1125 }1126 }1127 break;1128 }1129 case DOC_TYPE_ARRAY:1130 for (let index = doc2.length - 1; index >= 0; index--) {1131 commands.push({1132 indent: indent2,1133 mode,1134 doc: doc2[index]1135 });1136 }1137 break;1138 case DOC_TYPE_CURSOR:1139 if (cursorPositions.length >= 2) {1140 throw new Error("There are too many 'cursor' in doc.");1141 }1142 cursorPositions.push(settledTextLength + output.length);1143 break;1144 case DOC_TYPE_INDENT:1145 commands.push({1146 indent: makeIndent(indent2, options),1147 mode,1148 doc: doc2.contents1149 });1150 break;1151 case DOC_TYPE_ALIGN:1152 commands.push({1153 indent: makeAlign(indent2, doc2.n, options),1154 mode,1155 doc: doc2.contents1156 });1157 break;1158 case DOC_TYPE_TRIM:1159 trim2();1160 break;1161 case DOC_TYPE_GROUP:1162 switch (mode) {1163 case MODE_FLAT:1164 if (!shouldRemeasure) {1165 commands.push({1166 indent: indent2,1167 mode: doc2.break ? MODE_BREAK : MODE_FLAT,1168 doc: doc2.contents1169 });1170 break;1171 }1172 // fallthrough1173 case MODE_BREAK: {1174 shouldRemeasure = false;1175 const next = {1176 indent: indent2,1177 mode: MODE_FLAT,1178 doc: doc2.contents1179 };1180 const remainingWidth = width - position;1181 const hasLineSuffix = lineSuffix2.length > 0;1182 if (!doc2.break && fits(next, commands, remainingWidth, hasLineSuffix, groupModeMap)) {1183 commands.push(next);1184 } else {1185 if (doc2.expandedStates) {1186 const mostExpanded = method_at_default(1187 /* OPTIONAL_OBJECT: false */1188 0,1189 doc2.expandedStates,1190 -11191 );1192 if (doc2.break) {1193 commands.push({1194 indent: indent2,1195 mode: MODE_BREAK,1196 doc: mostExpanded1197 });1198 break;1199 } else {1200 for (let index = 1; index < doc2.expandedStates.length + 1; index++) {