{"version":3,"file":"runner-chunk.mjs","sources":["../../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js","../../../../node_modules/.pnpm/picocolors@1.0.1/node_modules/picocolors/picocolors.browser.js","../../../../node_modules/.pnpm/@clack+core@0.3.4/node_modules/@clack/core/dist/index.mjs","../../../../node_modules/.pnpm/@clack+prompts@0.7.0/node_modules/@clack/prompts/dist/index.mjs","../../../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js","../../../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js","../../../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js","../../../../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js","../../../../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/resolveCommand.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/escape.js","../../../../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js","../../../../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/readShebang.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/parse.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/enoent.js","../../../../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/index.js","../../../../node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js","../../../../node_modules/.pnpm/npm-run-path@5.3.0/node_modules/npm-run-path/index.js","../../../../node_modules/.pnpm/mimic-fn@4.0.0/node_modules/mimic-fn/index.js","../../../../node_modules/.pnpm/onetime@6.0.0/node_modules/onetime/index.js","../../../../node_modules/.pnpm/human-signals@5.0.0/node_modules/human-signals/build/src/realtime.js","../../../../node_modules/.pnpm/human-signals@5.0.0/node_modules/human-signals/build/src/core.js","../../../../node_modules/.pnpm/human-signals@5.0.0/node_modules/human-signals/build/src/signals.js","../../../../node_modules/.pnpm/human-signals@5.0.0/node_modules/human-signals/build/src/main.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/error.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/stdio.js","../../../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js","../../../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/kill.js","../../../../node_modules/.pnpm/is-stream@3.0.0/node_modules/is-stream/index.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/pipe.js","../../../../node_modules/.pnpm/get-stream@8.0.1/node_modules/get-stream/source/contents.js","../../../../node_modules/.pnpm/get-stream@8.0.1/node_modules/get-stream/source/utils.js","../../../../node_modules/.pnpm/get-stream@8.0.1/node_modules/get-stream/source/array-buffer.js","../../../../node_modules/.pnpm/get-stream@8.0.1/node_modules/get-stream/source/buffer.js","../../../../node_modules/.pnpm/get-stream@8.0.1/node_modules/get-stream/source/string.js","../../../../node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/stream.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/promise.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/command.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/lib/verbose.js","../../../../node_modules/.pnpm/execa@8.0.1/node_modules/execa/index.js","../../../../node_modules/.pnpm/strip-final-newline@3.0.0/node_modules/strip-final-newline/index.js","../../src/commands/init/runner.ts"],"sourcesContent":["'use strict';\n\nconst ESC = '\\x1B';\nconst CSI = `${ESC}[`;\nconst beep = '\\u0007';\n\nconst cursor = {\n  to(x, y) {\n    if (!y) return `${CSI}${x + 1}G`;\n    return `${CSI}${y + 1};${x + 1}H`;\n  },\n  move(x, y) {\n    let ret = '';\n\n    if (x < 0) ret += `${CSI}${-x}D`;\n    else if (x > 0) ret += `${CSI}${x}C`;\n\n    if (y < 0) ret += `${CSI}${-y}A`;\n    else if (y > 0) ret += `${CSI}${y}B`;\n\n    return ret;\n  },\n  up: (count = 1) => `${CSI}${count}A`,\n  down: (count = 1) => `${CSI}${count}B`,\n  forward: (count = 1) => `${CSI}${count}C`,\n  backward: (count = 1) => `${CSI}${count}D`,\n  nextLine: (count = 1) => `${CSI}E`.repeat(count),\n  prevLine: (count = 1) => `${CSI}F`.repeat(count),\n  left: `${CSI}G`,\n  hide: `${CSI}?25l`,\n  show: `${CSI}?25h`,\n  save: `${ESC}7`,\n  restore: `${ESC}8`\n}\n\nconst scroll = {\n  up: (count = 1) => `${CSI}S`.repeat(count),\n  down: (count = 1) => `${CSI}T`.repeat(count)\n}\n\nconst erase = {\n  screen: `${CSI}2J`,\n  up: (count = 1) => `${CSI}1J`.repeat(count),\n  down: (count = 1) => `${CSI}J`.repeat(count),\n  line: `${CSI}2K`,\n  lineEnd: `${CSI}K`,\n  lineStart: `${CSI}1K`,\n  lines(count) {\n    let clear = '';\n    for (let i = 0; i < count; i++)\n      clear += this.line + (i < count - 1 ? cursor.up() : '');\n    if (count)\n      clear += cursor.left;\n    return clear;\n  }\n}\n\nmodule.exports = { cursor, scroll, erase, beep };\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","import{cursor as l,erase as d}from\"sisteransi\";import{stdin as $,stdout as k}from\"node:process\";import*as f from\"node:readline\";import _ from\"node:readline\";import{WriteStream as U}from\"node:tty\";import c from\"picocolors\";function q({onlyFirst:t=!1}={}){const u=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(u,t?void 0:\"g\")}function S(t){if(typeof t!=\"string\")throw new TypeError(`Expected a \\`string\\`, got \\`${typeof t}\\``);return t.replace(q(),\"\")}function j(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var M={exports:{}};(function(t){var u={};t.exports=u,u.eastAsianWidth=function(e){var s=e.charCodeAt(0),C=e.length==2?e.charCodeAt(1):0,D=s;return 55296<=s&&s<=56319&&56320<=C&&C<=57343&&(s&=1023,C&=1023,D=s<<10|C,D+=65536),D==12288||65281<=D&&D<=65376||65504<=D&&D<=65510?\"F\":D==8361||65377<=D&&D<=65470||65474<=D&&D<=65479||65482<=D&&D<=65487||65490<=D&&D<=65495||65498<=D&&D<=65500||65512<=D&&D<=65518?\"H\":4352<=D&&D<=4447||4515<=D&&D<=4519||4602<=D&&D<=4607||9001<=D&&D<=9002||11904<=D&&D<=11929||11931<=D&&D<=12019||12032<=D&&D<=12245||12272<=D&&D<=12283||12289<=D&&D<=12350||12353<=D&&D<=12438||12441<=D&&D<=12543||12549<=D&&D<=12589||12593<=D&&D<=12686||12688<=D&&D<=12730||12736<=D&&D<=12771||12784<=D&&D<=12830||12832<=D&&D<=12871||12880<=D&&D<=13054||13056<=D&&D<=19903||19968<=D&&D<=42124||42128<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||55216<=D&&D<=55238||55243<=D&&D<=55291||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65106||65108<=D&&D<=65126||65128<=D&&D<=65131||110592<=D&&D<=110593||127488<=D&&D<=127490||127504<=D&&D<=127546||127552<=D&&D<=127560||127568<=D&&D<=127569||131072<=D&&D<=194367||177984<=D&&D<=196605||196608<=D&&D<=262141?\"W\":32<=D&&D<=126||162<=D&&D<=163||165<=D&&D<=166||D==172||D==175||10214<=D&&D<=10221||10629<=D&&D<=10630?\"Na\":D==161||D==164||167<=D&&D<=168||D==170||173<=D&&D<=174||176<=D&&D<=180||182<=D&&D<=186||188<=D&&D<=191||D==198||D==208||215<=D&&D<=216||222<=D&&D<=225||D==230||232<=D&&D<=234||236<=D&&D<=237||D==240||242<=D&&D<=243||247<=D&&D<=250||D==252||D==254||D==257||D==273||D==275||D==283||294<=D&&D<=295||D==299||305<=D&&D<=307||D==312||319<=D&&D<=322||D==324||328<=D&&D<=331||D==333||338<=D&&D<=339||358<=D&&D<=359||D==363||D==462||D==464||D==466||D==468||D==470||D==472||D==474||D==476||D==593||D==609||D==708||D==711||713<=D&&D<=715||D==717||D==720||728<=D&&D<=731||D==733||D==735||768<=D&&D<=879||913<=D&&D<=929||931<=D&&D<=937||945<=D&&D<=961||963<=D&&D<=969||D==1025||1040<=D&&D<=1103||D==1105||D==8208||8211<=D&&D<=8214||8216<=D&&D<=8217||8220<=D&&D<=8221||8224<=D&&D<=8226||8228<=D&&D<=8231||D==8240||8242<=D&&D<=8243||D==8245||D==8251||D==8254||D==8308||D==8319||8321<=D&&D<=8324||D==8364||D==8451||D==8453||D==8457||D==8467||D==8470||8481<=D&&D<=8482||D==8486||D==8491||8531<=D&&D<=8532||8539<=D&&D<=8542||8544<=D&&D<=8555||8560<=D&&D<=8569||D==8585||8592<=D&&D<=8601||8632<=D&&D<=8633||D==8658||D==8660||D==8679||D==8704||8706<=D&&D<=8707||8711<=D&&D<=8712||D==8715||D==8719||D==8721||D==8725||D==8730||8733<=D&&D<=8736||D==8739||D==8741||8743<=D&&D<=8748||D==8750||8756<=D&&D<=8759||8764<=D&&D<=8765||D==8776||D==8780||D==8786||8800<=D&&D<=8801||8804<=D&&D<=8807||8810<=D&&D<=8811||8814<=D&&D<=8815||8834<=D&&D<=8835||8838<=D&&D<=8839||D==8853||D==8857||D==8869||D==8895||D==8978||9312<=D&&D<=9449||9451<=D&&D<=9547||9552<=D&&D<=9587||9600<=D&&D<=9615||9618<=D&&D<=9621||9632<=D&&D<=9633||9635<=D&&D<=9641||9650<=D&&D<=9651||9654<=D&&D<=9655||9660<=D&&D<=9661||9664<=D&&D<=9665||9670<=D&&D<=9672||D==9675||9678<=D&&D<=9681||9698<=D&&D<=9701||D==9711||9733<=D&&D<=9734||D==9737||9742<=D&&D<=9743||9748<=D&&D<=9749||D==9756||D==9758||D==9792||D==9794||9824<=D&&D<=9825||9827<=D&&D<=9829||9831<=D&&D<=9834||9836<=D&&D<=9837||D==9839||9886<=D&&D<=9887||9918<=D&&D<=9919||9924<=D&&D<=9933||9935<=D&&D<=9953||D==9955||9960<=D&&D<=9983||D==10045||D==10071||10102<=D&&D<=10111||11093<=D&&D<=11097||12872<=D&&D<=12879||57344<=D&&D<=63743||65024<=D&&D<=65039||D==65533||127232<=D&&D<=127242||127248<=D&&D<=127277||127280<=D&&D<=127337||127344<=D&&D<=127386||917760<=D&&D<=917999||983040<=D&&D<=1048573||1048576<=D&&D<=1114109?\"A\":\"N\"},u.characterLength=function(e){var s=this.eastAsianWidth(e);return s==\"F\"||s==\"W\"||s==\"A\"?2:1};function F(e){return e.match(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[^\\uD800-\\uDFFF]/g)||[]}u.length=function(e){for(var s=F(e),C=0,D=0;D<s.length;D++)C=C+this.characterLength(s[D]);return C},u.slice=function(e,s,C){textLen=u.length(e),s=s||0,C=C||1,s<0&&(s=textLen+s),C<0&&(C=textLen+C);for(var D=\"\",i=0,n=F(e),E=0;E<n.length;E++){var h=n[E],o=u.length(h);if(i>=s-(o==2?1:0))if(i+o<=C)D+=h;else break;i+=o}return D}})(M);var J=M.exports;const Q=j(J);var X=function(){return/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|(?:\\uD83E\\uDDD1\\uD83C\\uDFFF\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C\\uDFFB(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))?|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC)?|(?:\\uD83D\\uDC69(?:\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83E\\uDDD1(?:\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\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|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDE35\\u200D\\uD83D\\uDCAB|\\uD83D\\uDE2E\\u200D\\uD83D\\uDCA8|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\u2764\\uFE0F|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\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]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE2E\\uDE35\\uDE36\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\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-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6]|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26A7\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5-\\uDED7\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDD77\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g};const DD=j(X);function A(t,u={}){if(typeof t!=\"string\"||t.length===0||(u={ambiguousIsNarrow:!0,...u},t=S(t),t.length===0))return 0;t=t.replace(DD(),\"  \");const F=u.ambiguousIsNarrow?1:2;let e=0;for(const s of t){const C=s.codePointAt(0);if(C<=31||C>=127&&C<=159||C>=768&&C<=879)continue;switch(Q.eastAsianWidth(s)){case\"F\":case\"W\":e+=2;break;case\"A\":e+=F;break;default:e+=1}}return e}const m=10,T=(t=0)=>u=>`\\x1B[${u+t}m`,P=(t=0)=>u=>`\\x1B[${38+t};5;${u}m`,W=(t=0)=>(u,F,e)=>`\\x1B[${38+t};2;${u};${F};${e}m`,r={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(r.modifier);const uD=Object.keys(r.color),FD=Object.keys(r.bgColor);[...uD,...FD];function tD(){const t=new Map;for(const[u,F]of Object.entries(r)){for(const[e,s]of Object.entries(F))r[e]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},F[e]=r[e],t.set(s[0],s[1]);Object.defineProperty(r,u,{value:F,enumerable:!1})}return Object.defineProperty(r,\"codes\",{value:t,enumerable:!1}),r.color.close=\"\\x1B[39m\",r.bgColor.close=\"\\x1B[49m\",r.color.ansi=T(),r.color.ansi256=P(),r.color.ansi16m=W(),r.bgColor.ansi=T(m),r.bgColor.ansi256=P(m),r.bgColor.ansi16m=W(m),Object.defineProperties(r,{rgbToAnsi256:{value:(u,F,e)=>u===F&&F===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(F/255*5)+Math.round(e/255*5),enumerable:!1},hexToRgb:{value:u=>{const F=/[a-f\\d]{6}|[a-f\\d]{3}/i.exec(u.toString(16));if(!F)return[0,0,0];let[e]=F;e.length===3&&(e=[...e].map(C=>C+C).join(\"\"));const s=Number.parseInt(e,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:u=>r.rgbToAnsi256(...r.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value:u=>{if(u<8)return 30+u;if(u<16)return 90+(u-8);let F,e,s;if(u>=232)F=((u-232)*10+8)/255,e=F,s=F;else{u-=16;const i=u%36;F=Math.floor(u/36)/5,e=Math.floor(i/6)/5,s=i%6/5}const C=Math.max(F,e,s)*2;if(C===0)return 30;let D=30+(Math.round(s)<<2|Math.round(e)<<1|Math.round(F));return C===2&&(D+=60),D},enumerable:!1},rgbToAnsi:{value:(u,F,e)=>r.ansi256ToAnsi(r.rgbToAnsi256(u,F,e)),enumerable:!1},hexToAnsi:{value:u=>r.ansi256ToAnsi(r.hexToAnsi256(u)),enumerable:!1}}),r}const eD=tD(),g=new Set([\"\\x1B\",\"\\x9B\"]),sD=39,b=\"\\x07\",O=\"[\",CD=\"]\",I=\"m\",w=`${CD}8;;`,N=t=>`${g.values().next().value}${O}${t}${I}`,L=t=>`${g.values().next().value}${w}${t}${b}`,iD=t=>t.split(\" \").map(u=>A(u)),y=(t,u,F)=>{const e=[...u];let s=!1,C=!1,D=A(S(t[t.length-1]));for(const[i,n]of e.entries()){const E=A(n);if(D+E<=F?t[t.length-1]+=n:(t.push(n),D=0),g.has(n)&&(s=!0,C=e.slice(i+1).join(\"\").startsWith(w)),s){C?n===b&&(s=!1,C=!1):n===I&&(s=!1);continue}D+=E,D===F&&i<e.length-1&&(t.push(\"\"),D=0)}!D&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},rD=t=>{const u=t.split(\" \");let F=u.length;for(;F>0&&!(A(u[F-1])>0);)F--;return F===u.length?t:u.slice(0,F).join(\" \")+u.slice(F).join(\"\")},ED=(t,u,F={})=>{if(F.trim!==!1&&t.trim()===\"\")return\"\";let e=\"\",s,C;const D=iD(t);let i=[\"\"];for(const[E,h]of t.split(\" \").entries()){F.trim!==!1&&(i[i.length-1]=i[i.length-1].trimStart());let o=A(i[i.length-1]);if(E!==0&&(o>=u&&(F.wordWrap===!1||F.trim===!1)&&(i.push(\"\"),o=0),(o>0||F.trim===!1)&&(i[i.length-1]+=\" \",o++)),F.hard&&D[E]>u){const B=u-o,p=1+Math.floor((D[E]-B-1)/u);Math.floor((D[E]-1)/u)<p&&i.push(\"\"),y(i,h,u);continue}if(o+D[E]>u&&o>0&&D[E]>0){if(F.wordWrap===!1&&o<u){y(i,h,u);continue}i.push(\"\")}if(o+D[E]>u&&F.wordWrap===!1){y(i,h,u);continue}i[i.length-1]+=h}F.trim!==!1&&(i=i.map(E=>rD(E)));const n=[...i.join(`\n`)];for(const[E,h]of n.entries()){if(e+=h,g.has(h)){const{groups:B}=new RegExp(`(?:\\\\${O}(?<code>\\\\d+)m|\\\\${w}(?<uri>.*)${b})`).exec(n.slice(E).join(\"\"))||{groups:{}};if(B.code!==void 0){const p=Number.parseFloat(B.code);s=p===sD?void 0:p}else B.uri!==void 0&&(C=B.uri.length===0?void 0:B.uri)}const o=eD.codes.get(Number(s));n[E+1]===`\n`?(C&&(e+=L(\"\")),s&&o&&(e+=N(o))):h===`\n`&&(s&&o&&(e+=N(s)),C&&(e+=L(C)))}return e};function R(t,u,F){return String(t).normalize().replace(/\\r\\n/g,`\n`).split(`\n`).map(e=>ED(e,u,F)).join(`\n`)}var oD=Object.defineProperty,nD=(t,u,F)=>u in t?oD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,a=(t,u,F)=>(nD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);function aD(t,u){if(t===u)return;const F=t.split(`\n`),e=u.split(`\n`),s=[];for(let C=0;C<Math.max(F.length,e.length);C++)F[C]!==e[C]&&s.push(C);return s}const V=Symbol(\"clack:cancel\");function hD(t){return t===V}function v(t,u){t.isTTY&&t.setRawMode(u)}const z=new Map([[\"k\",\"up\"],[\"j\",\"down\"],[\"h\",\"left\"],[\"l\",\"right\"]]),lD=new Set([\"up\",\"down\",\"left\",\"right\",\"space\",\"enter\"]);class x{constructor({render:u,input:F=$,output:e=k,...s},C=!0){a(this,\"input\"),a(this,\"output\"),a(this,\"rl\"),a(this,\"opts\"),a(this,\"_track\",!1),a(this,\"_render\"),a(this,\"_cursor\",0),a(this,\"state\",\"initial\"),a(this,\"value\"),a(this,\"error\",\"\"),a(this,\"subscribers\",new Map),a(this,\"_prevFrame\",\"\"),this.opts=s,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=u.bind(this),this._track=C,this.input=F,this.output=e}prompt(){const u=new U(0);return u._write=(F,e,s)=>{this._track&&(this.value=this.rl.line.replace(/\\t/g,\"\"),this._cursor=this.rl.cursor,this.emit(\"value\",this.value)),s()},this.input.pipe(u),this.rl=_.createInterface({input:this.input,output:u,tabSize:2,prompt:\"\",escapeCodeTimeout:50}),_.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on(\"keypress\",this.onKeypress),v(this.input,!0),this.output.on(\"resize\",this.render),this.render(),new Promise((F,e)=>{this.once(\"submit\",()=>{this.output.write(l.show),this.output.off(\"resize\",this.render),v(this.input,!1),F(this.value)}),this.once(\"cancel\",()=>{this.output.write(l.show),this.output.off(\"resize\",this.render),v(this.input,!1),F(V)})})}on(u,F){const e=this.subscribers.get(u)??[];e.push({cb:F}),this.subscribers.set(u,e)}once(u,F){const e=this.subscribers.get(u)??[];e.push({cb:F,once:!0}),this.subscribers.set(u,e)}emit(u,...F){const e=this.subscribers.get(u)??[],s=[];for(const C of e)C.cb(...F),C.once&&s.push(()=>e.splice(e.indexOf(C),1));for(const C of s)C()}unsubscribe(){this.subscribers.clear()}onKeypress(u,F){if(this.state===\"error\"&&(this.state=\"active\"),F?.name&&!this._track&&z.has(F.name)&&this.emit(\"cursor\",z.get(F.name)),F?.name&&lD.has(F.name)&&this.emit(\"cursor\",F.name),u&&(u.toLowerCase()===\"y\"||u.toLowerCase()===\"n\")&&this.emit(\"confirm\",u.toLowerCase()===\"y\"),u===\"\t\"&&this.opts.placeholder&&(this.value||(this.rl.write(this.opts.placeholder),this.emit(\"value\",this.opts.placeholder))),u&&this.emit(\"key\",u.toLowerCase()),F?.name===\"return\"){if(this.opts.validate){const e=this.opts.validate(this.value);e&&(this.error=e,this.state=\"error\",this.rl.write(this.value))}this.state!==\"error\"&&(this.state=\"submit\")}u===\"\u0003\"&&(this.state=\"cancel\"),(this.state===\"submit\"||this.state===\"cancel\")&&this.emit(\"finalize\"),this.render(),(this.state===\"submit\"||this.state===\"cancel\")&&this.close()}close(){this.input.unpipe(),this.input.removeListener(\"keypress\",this.onKeypress),this.output.write(`\n`),v(this.input,!1),this.rl.close(),this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const u=R(this._prevFrame,process.stdout.columns,{hard:!0}).split(`\n`).length-1;this.output.write(l.move(-999,u*-1))}render(){const u=R(this._render(this)??\"\",process.stdout.columns,{hard:!0});if(u!==this._prevFrame){if(this.state===\"initial\")this.output.write(l.hide);else{const F=aD(this._prevFrame,u);if(this.restoreCursor(),F&&F?.length===1){const e=F[0];this.output.write(l.move(0,e)),this.output.write(d.lines(1));const s=u.split(`\n`);this.output.write(s[e]),this._prevFrame=u,this.output.write(l.move(0,s.length-e-1));return}else if(F&&F?.length>1){const e=F[0];this.output.write(l.move(0,e)),this.output.write(d.down());const s=u.split(`\n`).slice(e);this.output.write(s.join(`\n`)),this._prevFrame=u;return}this.output.write(d.down())}this.output.write(u),this.state===\"initial\"&&(this.state=\"active\"),this._prevFrame=u}}}class xD extends x{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(u){super(u,!1),this.value=!!u.initialValue,this.on(\"value\",()=>{this.value=this._value}),this.on(\"confirm\",F=>{this.output.write(l.move(0,-1)),this.value=F,this.state=\"submit\",this.close()}),this.on(\"cursor\",()=>{this.value=!this.value})}}var BD=Object.defineProperty,cD=(t,u,F)=>u in t?BD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,G=(t,u,F)=>(cD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let AD=class extends x{constructor(u){super(u,!1),G(this,\"options\"),G(this,\"cursor\",0);const{options:F}=u;this.options=Object.entries(F).flatMap(([e,s])=>[{value:e,group:!0,label:e},...s.map(C=>({...C,group:e}))]),this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===u.cursorAt),0),this.on(\"cursor\",e=>{switch(e){case\"left\":case\"up\":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case\"down\":case\"right\":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case\"space\":this.toggleValue();break}})}getGroupItems(u){return this.options.filter(F=>F.group===u)}isGroupSelected(u){return this.getGroupItems(u).every(F=>this.value.includes(F.value))}toggleValue(){const u=this.options[this.cursor];if(u.group===!0){const F=u.value,e=this.getGroupItems(F);this.isGroupSelected(F)?this.value=this.value.filter(s=>e.findIndex(C=>C.value===s)===-1):this.value=[...this.value,...e.map(s=>s.value)],this.value=Array.from(new Set(this.value))}else{const F=this.value.includes(u.value);this.value=F?this.value.filter(e=>e!==u.value):[...this.value,u.value]}}};var pD=Object.defineProperty,fD=(t,u,F)=>u in t?pD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,K=(t,u,F)=>(fD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let gD=class extends x{constructor(u){super(u,!1),K(this,\"options\"),K(this,\"cursor\",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:F})=>F===u.cursorAt),0),this.on(\"key\",F=>{F===\"a\"&&this.toggleAll()}),this.on(\"cursor\",F=>{switch(F){case\"left\":case\"up\":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case\"down\":case\"right\":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case\"space\":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){const u=this.value.length===this.options.length;this.value=u?[]:this.options.map(F=>F.value)}toggleValue(){const u=this.value.includes(this._value);this.value=u?this.value.filter(F=>F!==this._value):[...this.value,this._value]}};var vD=Object.defineProperty,dD=(t,u,F)=>u in t?vD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,Y=(t,u,F)=>(dD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class mD extends x{constructor({mask:u,...F}){super(F),Y(this,\"valueWithCursor\",\"\"),Y(this,\"_mask\",\"\\u2022\"),this._mask=u??\"\\u2022\",this.on(\"finalize\",()=>{this.valueWithCursor=this.masked}),this.on(\"value\",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.masked}${c.inverse(c.hidden(\"_\"))}`;else{const e=this.masked.slice(0,this.cursor),s=this.masked.slice(this.cursor);this.valueWithCursor=`${e}${c.inverse(s[0])}${s.slice(1)}`}})}get cursor(){return this._cursor}get masked(){return this.value.replaceAll(/./g,this._mask)}}var bD=Object.defineProperty,wD=(t,u,F)=>u in t?bD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,Z=(t,u,F)=>(wD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);let yD=class extends x{constructor(u){super(u,!1),Z(this,\"options\"),Z(this,\"cursor\",0),this.options=u.options,this.cursor=this.options.findIndex(({value:F})=>F===u.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(\"cursor\",F=>{switch(F){case\"left\":case\"up\":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case\"down\":case\"right\":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};var $D=Object.defineProperty,kD=(t,u,F)=>u in t?$D(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,H=(t,u,F)=>(kD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class _D extends x{constructor(u){super(u,!1),H(this,\"options\"),H(this,\"cursor\",0),this.options=u.options;const F=this.options.map(({value:[e]})=>e?.toLowerCase());this.cursor=Math.max(F.indexOf(u.initialValue),0),this.on(\"key\",e=>{if(!F.includes(e))return;const s=this.options.find(({value:[C]})=>C?.toLowerCase()===e);s&&(this.value=s.value,this.state=\"submit\",this.emit(\"submit\"))})}}var SD=Object.defineProperty,jD=(t,u,F)=>u in t?SD(t,u,{enumerable:!0,configurable:!0,writable:!0,value:F}):t[u]=F,MD=(t,u,F)=>(jD(t,typeof u!=\"symbol\"?u+\"\":u,F),F);class TD extends x{constructor(u){super(u),MD(this,\"valueWithCursor\",\"\"),this.on(\"finalize\",()=>{this.value||(this.value=u.defaultValue),this.valueWithCursor=this.value}),this.on(\"value\",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.value}${c.inverse(c.hidden(\"_\"))}`;else{const F=this.value.slice(0,this.cursor),e=this.value.slice(this.cursor);this.valueWithCursor=`${F}${c.inverse(e[0])}${e.slice(1)}`}})}get cursor(){return this._cursor}}const PD=globalThis.process.platform.startsWith(\"win\");function WD({input:t=$,output:u=k,overwrite:F=!0,hideCursor:e=!0}={}){const s=f.createInterface({input:t,output:u,prompt:\"\",tabSize:1});f.emitKeypressEvents(t,s),t.isTTY&&t.setRawMode(!0);const C=(D,{name:i})=>{if(String(D)===\"\u0003\"&&process.exit(0),!F)return;let n=i===\"return\"?0:-1,E=i===\"return\"?-1:0;f.moveCursor(u,n,E,()=>{f.clearLine(u,1,()=>{t.once(\"keypress\",C)})})};return e&&process.stdout.write(l.hide),t.once(\"keypress\",C),()=>{t.off(\"keypress\",C),e&&process.stdout.write(l.show),t.isTTY&&!PD&&t.setRawMode(!1),s.terminal=!1,s.close()}}export{xD as ConfirmPrompt,AD as GroupMultiSelectPrompt,gD as MultiSelectPrompt,mD as PasswordPrompt,x as Prompt,_D as SelectKeyPrompt,yD as SelectPrompt,TD as TextPrompt,WD as block,hD as isCancel};\n//# sourceMappingURL=index.mjs.map\n","import{TextPrompt as V,PasswordPrompt as j,ConfirmPrompt as N,SelectPrompt as k,SelectKeyPrompt as W,MultiSelectPrompt as D,GroupMultiSelectPrompt as L,isCancel as G,block as F}from\"@clack/core\";export{isCancel}from\"@clack/core\";import h from\"node:process\";import e from\"picocolors\";import{cursor as T,erase as A}from\"sisteransi\";function q(){return h.platform!==\"win32\"?h.env.TERM!==\"linux\":Boolean(h.env.CI)||Boolean(h.env.WT_SESSION)||Boolean(h.env.TERMINUS_SUBLIME)||h.env.ConEmuTask===\"{cmd::Cmder}\"||h.env.TERM_PROGRAM===\"Terminus-Sublime\"||h.env.TERM_PROGRAM===\"vscode\"||h.env.TERM===\"xterm-256color\"||h.env.TERM===\"alacritty\"||h.env.TERMINAL_EMULATOR===\"JetBrains-JediTerm\"}const _=q(),o=(r,n)=>_?r:n,H=o(\"\\u25C6\",\"*\"),I=o(\"\\u25A0\",\"x\"),x=o(\"\\u25B2\",\"x\"),S=o(\"\\u25C7\",\"o\"),K=o(\"\\u250C\",\"T\"),a=o(\"\\u2502\",\"|\"),d=o(\"\\u2514\",\"\\u2014\"),b=o(\"\\u25CF\",\">\"),E=o(\"\\u25CB\",\" \"),C=o(\"\\u25FB\",\"[\\u2022]\"),w=o(\"\\u25FC\",\"[+]\"),M=o(\"\\u25FB\",\"[ ]\"),U=o(\"\\u25AA\",\"\\u2022\"),B=o(\"\\u2500\",\"-\"),Z=o(\"\\u256E\",\"+\"),z=o(\"\\u251C\",\"+\"),X=o(\"\\u256F\",\"+\"),J=o(\"\\u25CF\",\"\\u2022\"),Y=o(\"\\u25C6\",\"*\"),Q=o(\"\\u25B2\",\"!\"),ee=o(\"\\u25A0\",\"x\"),y=r=>{switch(r){case\"initial\":case\"active\":return e.cyan(H);case\"cancel\":return e.red(I);case\"error\":return e.yellow(x);case\"submit\":return e.green(S)}},te=r=>new V({validate:r.validate,placeholder:r.placeholder,defaultValue:r.defaultValue,initialValue:r.initialValue,render(){const n=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`,i=r.placeholder?e.inverse(r.placeholder[0])+e.dim(r.placeholder.slice(1)):e.inverse(e.hidden(\"_\")),t=this.value?this.valueWithCursor:i;switch(this.state){case\"error\":return`${n.trim()}\n${e.yellow(a)}  ${t}\n${e.yellow(d)}  ${e.yellow(this.error)}\n`;case\"submit\":return`${n}${e.gray(a)}  ${e.dim(this.value||r.placeholder)}`;case\"cancel\":return`${n}${e.gray(a)}  ${e.strikethrough(e.dim(this.value??\"\"))}${this.value?.trim()?`\n`+e.gray(a):\"\"}`;default:return`${n}${e.cyan(a)}  ${t}\n${e.cyan(d)}\n`}}}).prompt(),re=r=>new j({validate:r.validate,mask:r.mask??U,render(){const n=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`,i=this.valueWithCursor,t=this.masked;switch(this.state){case\"error\":return`${n.trim()}\n${e.yellow(a)}  ${t}\n${e.yellow(d)}  ${e.yellow(this.error)}\n`;case\"submit\":return`${n}${e.gray(a)}  ${e.dim(t)}`;case\"cancel\":return`${n}${e.gray(a)}  ${e.strikethrough(e.dim(t??\"\"))}${t?`\n`+e.gray(a):\"\"}`;default:return`${n}${e.cyan(a)}  ${i}\n${e.cyan(d)}\n`}}}).prompt(),se=r=>{const n=r.active??\"Yes\",i=r.inactive??\"No\";return new N({active:n,inactive:i,initialValue:r.initialValue??!0,render(){const t=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`,s=this.value?n:i;switch(this.state){case\"submit\":return`${t}${e.gray(a)}  ${e.dim(s)}`;case\"cancel\":return`${t}${e.gray(a)}  ${e.strikethrough(e.dim(s))}\n${e.gray(a)}`;default:return`${t}${e.cyan(a)}  ${this.value?`${e.green(b)} ${n}`:`${e.dim(E)} ${e.dim(n)}`} ${e.dim(\"/\")} ${this.value?`${e.dim(E)} ${e.dim(i)}`:`${e.green(b)} ${i}`}\n${e.cyan(d)}\n`}}}).prompt()},ie=r=>{const n=(t,s)=>{const c=t.label??String(t.value);return s===\"active\"?`${e.green(b)} ${c} ${t.hint?e.dim(`(${t.hint})`):\"\"}`:s===\"selected\"?`${e.dim(c)}`:s===\"cancelled\"?`${e.strikethrough(e.dim(c))}`:`${e.dim(E)} ${e.dim(c)}`};let i=0;return new k({options:r.options,initialValue:r.initialValue,render(){const t=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`;switch(this.state){case\"submit\":return`${t}${e.gray(a)}  ${n(this.options[this.cursor],\"selected\")}`;case\"cancel\":return`${t}${e.gray(a)}  ${n(this.options[this.cursor],\"cancelled\")}\n${e.gray(a)}`;default:{const s=r.maxItems===void 0?1/0:Math.max(r.maxItems,5);this.cursor>=i+s-3?i=Math.max(Math.min(this.cursor-s+3,this.options.length-s),0):this.cursor<i+2&&(i=Math.max(this.cursor-2,0));const c=s<this.options.length&&i>0,l=s<this.options.length&&i+s<this.options.length;return`${t}${e.cyan(a)}  ${this.options.slice(i,i+s).map((u,m,$)=>m===0&&c?e.dim(\"...\"):m===$.length-1&&l?e.dim(\"...\"):n(u,m+i===this.cursor?\"active\":\"inactive\")).join(`\n${e.cyan(a)}  `)}\n${e.cyan(d)}\n`}}}}).prompt()},ne=r=>{const n=(i,t=\"inactive\")=>{const s=i.label??String(i.value);return t===\"selected\"?`${e.dim(s)}`:t===\"cancelled\"?`${e.strikethrough(e.dim(s))}`:t===\"active\"?`${e.bgCyan(e.gray(` ${i.value} `))} ${s} ${i.hint?e.dim(`(${i.hint})`):\"\"}`:`${e.gray(e.bgWhite(e.inverse(` ${i.value} `)))} ${s} ${i.hint?e.dim(`(${i.hint})`):\"\"}`};return new W({options:r.options,initialValue:r.initialValue,render(){const i=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`;switch(this.state){case\"submit\":return`${i}${e.gray(a)}  ${n(this.options.find(t=>t.value===this.value),\"selected\")}`;case\"cancel\":return`${i}${e.gray(a)}  ${n(this.options[0],\"cancelled\")}\n${e.gray(a)}`;default:return`${i}${e.cyan(a)}  ${this.options.map((t,s)=>n(t,s===this.cursor?\"active\":\"inactive\")).join(`\n${e.cyan(a)}  `)}\n${e.cyan(d)}\n`}}}).prompt()},ae=r=>{const n=(i,t)=>{const s=i.label??String(i.value);return t===\"active\"?`${e.cyan(C)} ${s} ${i.hint?e.dim(`(${i.hint})`):\"\"}`:t===\"selected\"?`${e.green(w)} ${e.dim(s)}`:t===\"cancelled\"?`${e.strikethrough(e.dim(s))}`:t===\"active-selected\"?`${e.green(w)} ${s} ${i.hint?e.dim(`(${i.hint})`):\"\"}`:t===\"submitted\"?`${e.dim(s)}`:`${e.dim(M)} ${e.dim(s)}`};return new D({options:r.options,initialValues:r.initialValues,required:r.required??!0,cursorAt:r.cursorAt,validate(i){if(this.required&&i.length===0)return`Please select at least one option.\n${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(\" space \")))} to select, ${e.gray(e.bgWhite(e.inverse(\" enter \")))} to submit`))}`},render(){let i=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`;switch(this.state){case\"submit\":return`${i}${e.gray(a)}  ${this.options.filter(({value:t})=>this.value.includes(t)).map(t=>n(t,\"submitted\")).join(e.dim(\", \"))||e.dim(\"none\")}`;case\"cancel\":{const t=this.options.filter(({value:s})=>this.value.includes(s)).map(s=>n(s,\"cancelled\")).join(e.dim(\", \"));return`${i}${e.gray(a)}  ${t.trim()?`${t}\n${e.gray(a)}`:\"\"}`}case\"error\":{const t=this.error.split(`\n`).map((s,c)=>c===0?`${e.yellow(d)}  ${e.yellow(s)}`:`   ${s}`).join(`\n`);return i+e.yellow(a)+\"  \"+this.options.map((s,c)=>{const l=this.value.includes(s.value),u=c===this.cursor;return u&&l?n(s,\"active-selected\"):l?n(s,\"selected\"):n(s,u?\"active\":\"inactive\")}).join(`\n${e.yellow(a)}  `)+`\n`+t+`\n`}default:return`${i}${e.cyan(a)}  ${this.options.map((t,s)=>{const c=this.value.includes(t.value),l=s===this.cursor;return l&&c?n(t,\"active-selected\"):c?n(t,\"selected\"):n(t,l?\"active\":\"inactive\")}).join(`\n${e.cyan(a)}  `)}\n${e.cyan(d)}\n`}}}).prompt()},ce=r=>{const n=(i,t,s=[])=>{const c=i.label??String(i.value),l=typeof i.group==\"string\",u=l&&(s[s.indexOf(i)+1]??{group:!0}),m=l&&u.group===!0,$=l?`${m?d:a} `:\"\";return t===\"active\"?`${e.dim($)}${e.cyan(C)} ${c} ${i.hint?e.dim(`(${i.hint})`):\"\"}`:t===\"group-active\"?`${$}${e.cyan(C)} ${e.dim(c)}`:t===\"group-active-selected\"?`${$}${e.green(w)} ${e.dim(c)}`:t===\"selected\"?`${e.dim($)}${e.green(w)} ${e.dim(c)}`:t===\"cancelled\"?`${e.strikethrough(e.dim(c))}`:t===\"active-selected\"?`${e.dim($)}${e.green(w)} ${c} ${i.hint?e.dim(`(${i.hint})`):\"\"}`:t===\"submitted\"?`${e.dim(c)}`:`${e.dim($)}${e.dim(M)} ${e.dim(c)}`};return new L({options:r.options,initialValues:r.initialValues,required:r.required??!0,cursorAt:r.cursorAt,validate(i){if(this.required&&i.length===0)return`Please select at least one option.\n${e.reset(e.dim(`Press ${e.gray(e.bgWhite(e.inverse(\" space \")))} to select, ${e.gray(e.bgWhite(e.inverse(\" enter \")))} to submit`))}`},render(){let i=`${e.gray(a)}\n${y(this.state)}  ${r.message}\n`;switch(this.state){case\"submit\":return`${i}${e.gray(a)}  ${this.options.filter(({value:t})=>this.value.includes(t)).map(t=>n(t,\"submitted\")).join(e.dim(\", \"))}`;case\"cancel\":{const t=this.options.filter(({value:s})=>this.value.includes(s)).map(s=>n(s,\"cancelled\")).join(e.dim(\", \"));return`${i}${e.gray(a)}  ${t.trim()?`${t}\n${e.gray(a)}`:\"\"}`}case\"error\":{const t=this.error.split(`\n`).map((s,c)=>c===0?`${e.yellow(d)}  ${e.yellow(s)}`:`   ${s}`).join(`\n`);return`${i}${e.yellow(a)}  ${this.options.map((s,c,l)=>{const u=this.value.includes(s.value)||s.group===!0&&this.isGroupSelected(`${s.value}`),m=c===this.cursor;return!m&&typeof s.group==\"string\"&&this.options[this.cursor].value===s.group?n(s,u?\"group-active-selected\":\"group-active\",l):m&&u?n(s,\"active-selected\",l):u?n(s,\"selected\",l):n(s,m?\"active\":\"inactive\",l)}).join(`\n${e.yellow(a)}  `)}\n${t}\n`}default:return`${i}${e.cyan(a)}  ${this.options.map((t,s,c)=>{const l=this.value.includes(t.value)||t.group===!0&&this.isGroupSelected(`${t.value}`),u=s===this.cursor;return!u&&typeof t.group==\"string\"&&this.options[this.cursor].value===t.group?n(t,l?\"group-active-selected\":\"group-active\",c):u&&l?n(t,\"active-selected\",c):l?n(t,\"selected\",c):n(t,u?\"active\":\"inactive\",c)}).join(`\n${e.cyan(a)}  `)}\n${e.cyan(d)}\n`}}}).prompt()},R=r=>r.replace(me(),\"\"),le=(r=\"\",n=\"\")=>{const i=`\n${r}\n`.split(`\n`),t=R(n).length,s=Math.max(i.reduce((l,u)=>(u=R(u),u.length>l?u.length:l),0),t)+2,c=i.map(l=>`${e.gray(a)}  ${e.dim(l)}${\" \".repeat(s-R(l).length)}${e.gray(a)}`).join(`\n`);process.stdout.write(`${e.gray(a)}\n${e.green(S)}  ${e.reset(n)} ${e.gray(B.repeat(Math.max(s-t-1,1))+Z)}\n${c}\n${e.gray(z+B.repeat(s+2)+X)}\n`)},ue=(r=\"\")=>{process.stdout.write(`${e.gray(d)}  ${e.red(r)}\n\n`)},oe=(r=\"\")=>{process.stdout.write(`${e.gray(K)}  ${r}\n`)},$e=(r=\"\")=>{process.stdout.write(`${e.gray(a)}\n${e.gray(d)}  ${r}\n\n`)},f={message:(r=\"\",{symbol:n=e.gray(a)}={})=>{const i=[`${e.gray(a)}`];if(r){const[t,...s]=r.split(`\n`);i.push(`${n}  ${t}`,...s.map(c=>`${e.gray(a)}  ${c}`))}process.stdout.write(`${i.join(`\n`)}\n`)},info:r=>{f.message(r,{symbol:e.blue(J)})},success:r=>{f.message(r,{symbol:e.green(Y)})},step:r=>{f.message(r,{symbol:e.green(S)})},warn:r=>{f.message(r,{symbol:e.yellow(Q)})},warning:r=>{f.warn(r)},error:r=>{f.message(r,{symbol:e.red(ee)})}},de=()=>{const r=_?[\"\\u25D2\",\"\\u25D0\",\"\\u25D3\",\"\\u25D1\"]:[\"\\u2022\",\"o\",\"O\",\"0\"],n=_?80:120;let i,t,s=!1,c=\"\";const l=(v=\"\")=>{s=!0,i=F(),c=v.replace(/\\.+$/,\"\"),process.stdout.write(`${e.gray(a)}\n`);let g=0,p=0;t=setInterval(()=>{const O=e.magenta(r[g]),P=\".\".repeat(Math.floor(p)).slice(0,3);process.stdout.write(T.move(-999,0)),process.stdout.write(A.down(1)),process.stdout.write(`${O}  ${c}${P}`),g=g+1<r.length?g+1:0,p=p<r.length?p+.125:0},n)},u=(v=\"\",g=0)=>{c=v??c,s=!1,clearInterval(t);const p=g===0?e.green(S):g===1?e.red(I):e.red(x);process.stdout.write(T.move(-999,0)),process.stdout.write(A.down(1)),process.stdout.write(`${p}  ${c}\n`),i()},m=(v=\"\")=>{c=v??c},$=v=>{const g=v>1?\"Something went wrong\":\"Canceled\";s&&u(g,v)};return process.on(\"uncaughtExceptionMonitor\",()=>$(2)),process.on(\"unhandledRejection\",()=>$(2)),process.on(\"SIGINT\",()=>$(1)),process.on(\"SIGTERM\",()=>$(1)),process.on(\"exit\",$),{start:l,stop:u,message:m}};function me(){const r=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))\"].join(\"|\");return new RegExp(r,\"g\")}const he=async(r,n)=>{const i={},t=Object.keys(r);for(const s of t){const c=r[s],l=await c({results:i})?.catch(u=>{throw u});if(typeof n?.onCancel==\"function\"&&G(l)){i[s]=\"canceled\",n.onCancel({results:i});continue}i[s]=l}return i};export{ue as cancel,se as confirm,he as group,ce as groupMultiselect,oe as intro,f as log,ae as multiselect,le as note,$e as outro,re as password,ie as select,ne as selectKey,de as spinner,te as text};\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n  core = require('./windows.js')\n} else {\n  core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n  if (typeof options === 'function') {\n    cb = options\n    options = {}\n  }\n\n  if (!cb) {\n    if (typeof Promise !== 'function') {\n      throw new TypeError('callback not provided')\n    }\n\n    return new Promise(function (resolve, reject) {\n      isexe(path, options || {}, function (er, is) {\n        if (er) {\n          reject(er)\n        } else {\n          resolve(is)\n        }\n      })\n    })\n  }\n\n  core(path, options || {}, function (er, is) {\n    // ignore EACCES because that just means we aren't allowed to run it\n    if (er) {\n      if (er.code === 'EACCES' || options && options.ignoreErrors) {\n        er = null\n        is = false\n      }\n    }\n    cb(er, is)\n  })\n}\n\nfunction sync (path, options) {\n  // my kingdom for a filtered catch\n  try {\n    return core.sync(path, options || {})\n  } catch (er) {\n    if (options && options.ignoreErrors || er.code === 'EACCES') {\n      return false\n    } else {\n      throw er\n    }\n  }\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n  var pathext = options.pathExt !== undefined ?\n    options.pathExt : process.env.PATHEXT\n\n  if (!pathext) {\n    return true\n  }\n\n  pathext = pathext.split(';')\n  if (pathext.indexOf('') !== -1) {\n    return true\n  }\n  for (var i = 0; i < pathext.length; i++) {\n    var p = pathext[i].toLowerCase()\n    if (p && path.substr(-p.length).toLowerCase() === p) {\n      return true\n    }\n  }\n  return false\n}\n\nfunction checkStat (stat, path, options) {\n  if (!stat.isSymbolicLink() && !stat.isFile()) {\n    return false\n  }\n  return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, path, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n  return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n  var mod = stat.mode\n  var uid = stat.uid\n  var gid = stat.gid\n\n  var myUid = options.uid !== undefined ?\n    options.uid : process.getuid && process.getuid()\n  var myGid = options.gid !== undefined ?\n    options.gid : process.getgid && process.getgid()\n\n  var u = parseInt('100', 8)\n  var g = parseInt('010', 8)\n  var o = parseInt('001', 8)\n  var ug = u | g\n\n  var ret = (mod & o) ||\n    (mod & g) && gid === myGid ||\n    (mod & u) && uid === myUid ||\n    (mod & ug) && myUid === 0\n\n  return ret\n}\n","const isWindows = process.platform === 'win32' ||\n    process.env.OSTYPE === 'cygwin' ||\n    process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n  Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n  const colon = opt.colon || COLON\n\n  // If it has a slash, then we don't bother searching the pathenv.\n  // just check the file itself, and that's it.\n  const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n    : (\n      [\n        // windows always checks the cwd first\n        ...(isWindows ? [process.cwd()] : []),\n        ...(opt.path || process.env.PATH ||\n          /* istanbul ignore next: very unusual */ '').split(colon),\n      ]\n    )\n  const pathExtExe = isWindows\n    ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n    : ''\n  const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n  if (isWindows) {\n    if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n      pathExt.unshift('')\n  }\n\n  return {\n    pathEnv,\n    pathExt,\n    pathExtExe,\n  }\n}\n\nconst which = (cmd, opt, cb) => {\n  if (typeof opt === 'function') {\n    cb = opt\n    opt = {}\n  }\n  if (!opt)\n    opt = {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  const step = i => new Promise((resolve, reject) => {\n    if (i === pathEnv.length)\n      return opt.all && found.length ? resolve(found)\n        : reject(getNotFoundError(cmd))\n\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    resolve(subStep(p, i, 0))\n  })\n\n  const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n    if (ii === pathExt.length)\n      return resolve(step(i + 1))\n    const ext = pathExt[ii]\n    isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n      if (!er && is) {\n        if (opt.all)\n          found.push(p + ext)\n        else\n          return resolve(p + ext)\n      }\n      return resolve(subStep(p, i, ii + 1))\n    })\n  })\n\n  return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n  opt = opt || {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (let i = 0; i < pathEnv.length; i ++) {\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    for (let j = 0; j < pathExt.length; j ++) {\n      const cur = p + pathExt[j]\n      try {\n        const is = isexe.sync(cur, { pathExt: pathExtExe })\n        if (is) {\n          if (opt.all)\n            found.push(cur)\n          else\n            return cur\n        }\n      } catch (ex) {}\n    }\n  }\n\n  if (opt.all && found.length)\n    return found\n\n  if (opt.nothrow)\n    return null\n\n  throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n    const env = parsed.options.env || process.env;\n    const cwd = process.cwd();\n    const hasCustomCwd = parsed.options.cwd != null;\n    // Worker threads do not have process.chdir()\n    const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n    // If a custom `cwd` was specified, we need to change the process cwd\n    // because `which` will do stat calls but does not support a custom cwd\n    if (shouldSwitchCwd) {\n        try {\n            process.chdir(parsed.options.cwd);\n        } catch (err) {\n            /* Empty */\n        }\n    }\n\n    let resolved;\n\n    try {\n        resolved = which.sync(parsed.command, {\n            path: env[getPathKey({ env })],\n            pathExt: withoutPathExt ? path.delimiter : undefined,\n        });\n    } catch (e) {\n        /* Empty */\n    } finally {\n        if (shouldSwitchCwd) {\n            process.chdir(cwd);\n        }\n    }\n\n    // If we successfully resolved, ensure that an absolute path is returned\n    // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n    if (resolved) {\n        resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n    }\n\n    return resolved;\n}\n\nfunction resolveCommand(parsed) {\n    return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n    // Convert to string\n    arg = `${arg}`;\n\n    // Algorithm below is based on https://qntm.org/cmd\n\n    // Sequence of backslashes followed by a double quote:\n    // double up all the backslashes and escape the double quote\n    arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n    // Sequence of backslashes followed by the end of the string\n    // (which will become a double quote later):\n    // double up all the backslashes\n    arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n    // All other backslashes occur literally\n\n    // Quote the whole thing:\n    arg = `\"${arg}\"`;\n\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    // Double escape meta chars if necessary\n    if (doubleEscapeMetaChars) {\n        arg = arg.replace(metaCharsRegExp, '^$1');\n    }\n\n    return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n    // Read the first 150 bytes from the file\n    const size = 150;\n    const buffer = Buffer.alloc(size);\n\n    let fd;\n\n    try {\n        fd = fs.openSync(command, 'r');\n        fs.readSync(fd, buffer, 0, size, 0);\n        fs.closeSync(fd);\n    } catch (e) { /* Empty */ }\n\n    // Attempt to extract shebang (null is returned if not a shebang)\n    return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n    parsed.file = resolveCommand(parsed);\n\n    const shebang = parsed.file && readShebang(parsed.file);\n\n    if (shebang) {\n        parsed.args.unshift(parsed.file);\n        parsed.command = shebang;\n\n        return resolveCommand(parsed);\n    }\n\n    return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n    if (!isWin) {\n        return parsed;\n    }\n\n    // Detect & add support for shebangs\n    const commandFile = detectShebang(parsed);\n\n    // We don't need a shell if the command filename is an executable\n    const needsShell = !isExecutableRegExp.test(commandFile);\n\n    // If a shell is required, use cmd.exe and take care of escaping everything correctly\n    // Note that `forceShell` is an hidden option used only in tests\n    if (parsed.options.forceShell || needsShell) {\n        // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n        // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n        // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n        // we need to double escape them\n        const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n        // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n        // This is necessary otherwise it will always fail with ENOENT in those cases\n        parsed.command = path.normalize(parsed.command);\n\n        // Escape command & arguments\n        parsed.command = escape.command(parsed.command);\n        parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n        const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n        parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n        parsed.command = process.env.comspec || 'cmd.exe';\n        parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n    }\n\n    return parsed;\n}\n\nfunction parse(command, args, options) {\n    // Normalize arguments, similar to nodejs\n    if (args && !Array.isArray(args)) {\n        options = args;\n        args = null;\n    }\n\n    args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n    options = Object.assign({}, options); // Clone object to avoid changing the original\n\n    // Build our parsed object\n    const parsed = {\n        command,\n        args,\n        options,\n        file: undefined,\n        original: {\n            command,\n            args,\n        },\n    };\n\n    // Delegate further parsing to shell or non-shell\n    return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n    return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n        code: 'ENOENT',\n        errno: 'ENOENT',\n        syscall: `${syscall} ${original.command}`,\n        path: original.command,\n        spawnargs: original.args,\n    });\n}\n\nfunction hookChildProcess(cp, parsed) {\n    if (!isWin) {\n        return;\n    }\n\n    const originalEmit = cp.emit;\n\n    cp.emit = function (name, arg1) {\n        // If emitting \"exit\" event and exit code is 1, we need to check if\n        // the command exists and emit an \"error\" instead\n        // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n        if (name === 'exit') {\n            const err = verifyENOENT(arg1, parsed, 'spawn');\n\n            if (err) {\n                return originalEmit.call(cp, 'error', err);\n            }\n        }\n\n        return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n    };\n}\n\nfunction verifyENOENT(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawn');\n    }\n\n    return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawnSync');\n    }\n\n    return null;\n}\n\nmodule.exports = {\n    hookChildProcess,\n    verifyENOENT,\n    verifyENOENTSync,\n    notFoundError,\n};\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n    // Hook into child process \"exit\" event to emit an error if the command\n    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    enoent.hookChildProcess(spawned, parsed);\n\n    return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n    // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n    return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","export default function pathKey(options = {}) {\n\tconst {\n\t\tenv = process.env,\n\t\tplatform = process.platform\n\t} = options;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n}\n","import process from 'node:process';\nimport path from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport pathKey from 'path-key';\n\nexport const npmRunPath = ({\n\tcwd = process.cwd(),\n\tpath: pathOption = process.env[pathKey()],\n\tpreferLocal = true,\n\texecPath = process.execPath,\n\taddExecPath = true,\n} = {}) => {\n\tconst cwdString = cwd instanceof URL ? fileURLToPath(cwd) : cwd;\n\tconst cwdPath = path.resolve(cwdString);\n\tconst result = [];\n\n\tif (preferLocal) {\n\t\tapplyPreferLocal(result, cwdPath);\n\t}\n\n\tif (addExecPath) {\n\t\tapplyExecPath(result, execPath, cwdPath);\n\t}\n\n\treturn [...result, pathOption].join(path.delimiter);\n};\n\nconst applyPreferLocal = (result, cwdPath) => {\n\tlet previous;\n\n\twhile (previous !== cwdPath) {\n\t\tresult.push(path.join(cwdPath, 'node_modules/.bin'));\n\t\tprevious = cwdPath;\n\t\tcwdPath = path.resolve(cwdPath, '..');\n\t}\n};\n\n// Ensure the running `node` binary is used\nconst applyExecPath = (result, execPath, cwdPath) => {\n\tconst execPathString = execPath instanceof URL ? fileURLToPath(execPath) : execPath;\n\tresult.push(path.resolve(cwdPath, execPathString, '..'));\n};\n\nexport const npmRunPathEnv = ({env = process.env, ...options} = {}) => {\n\tenv = {...env};\n\n\tconst pathName = pathKey({env});\n\toptions.path = env[pathName];\n\tenv[pathName] = npmRunPath(options);\n\n\treturn env;\n};\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable &&\n\t\ttoDescriptor.enumerable === fromDescriptor.enumerable &&\n\t\ttoDescriptor.configurable === fromDescriptor.configurable &&\n\t\t(toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tObject.defineProperty(to, 'toString', {...toStringDescriptor, value: newToString});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import mimicFunction from 'mimic-fn';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = null;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n","\nexport const getRealtimeSignals=()=>{\nconst length=SIGRTMAX-SIGRTMIN+1;\nreturn Array.from({length},getRealtimeSignal)\n};\n\nconst getRealtimeSignal=(value,index)=>({\nname:`SIGRT${index+1}`,\nnumber:SIGRTMIN+index,\naction:\"terminate\",\ndescription:\"Application-specific signal (realtime)\",\nstandard:\"posix\"\n});\n\nconst SIGRTMIN=34;\nexport const SIGRTMAX=64;","\n\nexport const SIGNALS=[\n{\nname:\"SIGHUP\",\nnumber:1,\naction:\"terminate\",\ndescription:\"Terminal closed\",\nstandard:\"posix\"\n},\n{\nname:\"SIGINT\",\nnumber:2,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-C\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGQUIT\",\nnumber:3,\naction:\"core\",\ndescription:\"User interruption with CTRL-\\\\\",\nstandard:\"posix\"\n},\n{\nname:\"SIGILL\",\nnumber:4,\naction:\"core\",\ndescription:\"Invalid machine instruction\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGTRAP\",\nnumber:5,\naction:\"core\",\ndescription:\"Debugger breakpoint\",\nstandard:\"posix\"\n},\n{\nname:\"SIGABRT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGIOT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGBUS\",\nnumber:7,\naction:\"core\",\ndescription:\n\"Bus error due to misaligned, non-existing address or paging error\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGEMT\",\nnumber:7,\naction:\"terminate\",\ndescription:\"Command should be emulated but is not implemented\",\nstandard:\"other\"\n},\n{\nname:\"SIGFPE\",\nnumber:8,\naction:\"core\",\ndescription:\"Floating point arithmetic error\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGKILL\",\nnumber:9,\naction:\"terminate\",\ndescription:\"Forced termination\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGUSR1\",\nnumber:10,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGSEGV\",\nnumber:11,\naction:\"core\",\ndescription:\"Segmentation fault\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGUSR2\",\nnumber:12,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGPIPE\",\nnumber:13,\naction:\"terminate\",\ndescription:\"Broken pipe or socket\",\nstandard:\"posix\"\n},\n{\nname:\"SIGALRM\",\nnumber:14,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTERM\",\nnumber:15,\naction:\"terminate\",\ndescription:\"Termination\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGSTKFLT\",\nnumber:16,\naction:\"terminate\",\ndescription:\"Stack is empty or overflowed\",\nstandard:\"other\"\n},\n{\nname:\"SIGCHLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"posix\"\n},\n{\nname:\"SIGCLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"other\"\n},\n{\nname:\"SIGCONT\",\nnumber:18,\naction:\"unpause\",\ndescription:\"Unpaused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGSTOP\",\nnumber:19,\naction:\"pause\",\ndescription:\"Paused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGTSTP\",\nnumber:20,\naction:\"pause\",\ndescription:\"Paused using CTRL-Z or \\\"suspend\\\"\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTTIN\",\nnumber:21,\naction:\"pause\",\ndescription:\"Background process cannot read terminal input\",\nstandard:\"posix\"\n},\n{\nname:\"SIGBREAK\",\nnumber:21,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-BREAK\",\nstandard:\"other\"\n},\n{\nname:\"SIGTTOU\",\nnumber:22,\naction:\"pause\",\ndescription:\"Background process cannot write to terminal output\",\nstandard:\"posix\"\n},\n{\nname:\"SIGURG\",\nnumber:23,\naction:\"ignore\",\ndescription:\"Socket received out-of-band data\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXCPU\",\nnumber:24,\naction:\"core\",\ndescription:\"Process timed out\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXFSZ\",\nnumber:25,\naction:\"core\",\ndescription:\"File too big\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGVTALRM\",\nnumber:26,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGPROF\",\nnumber:27,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGWINCH\",\nnumber:28,\naction:\"ignore\",\ndescription:\"Terminal window size changed\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGIO\",\nnumber:29,\naction:\"terminate\",\ndescription:\"I/O is available\",\nstandard:\"other\"\n},\n{\nname:\"SIGPOLL\",\nnumber:29,\naction:\"terminate\",\ndescription:\"Watched event\",\nstandard:\"other\"\n},\n{\nname:\"SIGINFO\",\nnumber:29,\naction:\"ignore\",\ndescription:\"Request for process information\",\nstandard:\"other\"\n},\n{\nname:\"SIGPWR\",\nnumber:30,\naction:\"terminate\",\ndescription:\"Device running out of power\",\nstandard:\"systemv\"\n},\n{\nname:\"SIGSYS\",\nnumber:31,\naction:\"core\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n},\n{\nname:\"SIGUNUSED\",\nnumber:31,\naction:\"terminate\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n}];","import{constants}from\"node:os\";\n\nimport{SIGNALS}from\"./core.js\";\nimport{getRealtimeSignals}from\"./realtime.js\";\n\n\n\nexport const getSignals=()=>{\nconst realtimeSignals=getRealtimeSignals();\nconst signals=[...SIGNALS,...realtimeSignals].map(normalizeSignal);\nreturn signals\n};\n\n\n\n\n\n\n\nconst normalizeSignal=({\nname,\nnumber:defaultNumber,\ndescription,\naction,\nforced=false,\nstandard\n})=>{\nconst{\nsignals:{[name]:constantSignal}\n}=constants;\nconst supported=constantSignal!==undefined;\nconst number=supported?constantSignal:defaultNumber;\nreturn{name,number,description,supported,action,forced,standard}\n};","import{constants}from\"node:os\";\n\nimport{SIGRTMAX}from\"./realtime.js\";\nimport{getSignals}from\"./signals.js\";\n\n\n\nconst getSignalsByName=()=>{\nconst signals=getSignals();\nreturn Object.fromEntries(signals.map(getSignalByName))\n};\n\nconst getSignalByName=({\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n})=>[name,{name,number,description,supported,action,forced,standard}];\n\nexport const signalsByName=getSignalsByName();\n\n\n\n\nconst getSignalsByNumber=()=>{\nconst signals=getSignals();\nconst length=SIGRTMAX+1;\nconst signalsA=Array.from({length},(value,number)=>\ngetSignalByNumber(number,signals)\n);\nreturn Object.assign({},...signalsA)\n};\n\nconst getSignalByNumber=(number,signals)=>{\nconst signal=findSignalByNumber(number,signals);\n\nif(signal===undefined){\nreturn{}\n}\n\nconst{name,description,supported,action,forced,standard}=signal;\nreturn{\n[number]:{\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n}\n}\n};\n\n\n\nconst findSignalByNumber=(number,signals)=>{\nconst signal=signals.find(({name})=>constants.signals[name]===number);\n\nif(signal!==undefined){\nreturn signal\n}\n\nreturn signals.find((signalA)=>signalA.number===number)\n};\n\nexport const signalsByNumber=getSignalsByNumber();","import process from 'node:process';\nimport {signalsByName} from 'human-signals';\n\nconst getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => {\n\tif (timedOut) {\n\t\treturn `timed out after ${timeout} milliseconds`;\n\t}\n\n\tif (isCanceled) {\n\t\treturn 'was canceled';\n\t}\n\n\tif (errorCode !== undefined) {\n\t\treturn `failed with ${errorCode}`;\n\t}\n\n\tif (signal !== undefined) {\n\t\treturn `was killed with ${signal} (${signalDescription})`;\n\t}\n\n\tif (exitCode !== undefined) {\n\t\treturn `failed with exit code ${exitCode}`;\n\t}\n\n\treturn 'failed';\n};\n\nexport const makeError = ({\n\tstdout,\n\tstderr,\n\tall,\n\terror,\n\tsignal,\n\texitCode,\n\tcommand,\n\tescapedCommand,\n\ttimedOut,\n\tisCanceled,\n\tkilled,\n\tparsed: {options: {timeout, cwd = process.cwd()}},\n}) => {\n\t// `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`.\n\t// We normalize them to `undefined`\n\texitCode = exitCode === null ? undefined : exitCode;\n\tsignal = signal === null ? undefined : signal;\n\tconst signalDescription = signal === undefined ? undefined : signalsByName[signal].description;\n\n\tconst errorCode = error && error.code;\n\n\tconst prefix = getErrorPrefix({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled});\n\tconst execaMessage = `Command ${prefix}: ${command}`;\n\tconst isError = Object.prototype.toString.call(error) === '[object Error]';\n\tconst shortMessage = isError ? `${execaMessage}\\n${error.message}` : execaMessage;\n\tconst message = [shortMessage, stderr, stdout].filter(Boolean).join('\\n');\n\n\tif (isError) {\n\t\terror.originalMessage = error.message;\n\t\terror.message = message;\n\t} else {\n\t\terror = new Error(message);\n\t}\n\n\terror.shortMessage = shortMessage;\n\terror.command = command;\n\terror.escapedCommand = escapedCommand;\n\terror.exitCode = exitCode;\n\terror.signal = signal;\n\terror.signalDescription = signalDescription;\n\terror.stdout = stdout;\n\terror.stderr = stderr;\n\terror.cwd = cwd;\n\n\tif (all !== undefined) {\n\t\terror.all = all;\n\t}\n\n\tif ('bufferedData' in error) {\n\t\tdelete error.bufferedData;\n\t}\n\n\terror.failed = true;\n\terror.timedOut = Boolean(timedOut);\n\terror.isCanceled = isCanceled;\n\terror.killed = killed && !timedOut;\n\n\treturn error;\n};\n","const aliases = ['stdin', 'stdout', 'stderr'];\n\nconst hasAlias = options => aliases.some(alias => options[alias] !== undefined);\n\nexport const normalizeStdio = options => {\n\tif (!options) {\n\t\treturn;\n\t}\n\n\tconst {stdio} = options;\n\n\tif (stdio === undefined) {\n\t\treturn aliases.map(alias => options[alias]);\n\t}\n\n\tif (hasAlias(options)) {\n\t\tthrow new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${aliases.map(alias => `\\`${alias}\\``).join(', ')}`);\n\t}\n\n\tif (typeof stdio === 'string') {\n\t\treturn stdio;\n\t}\n\n\tif (!Array.isArray(stdio)) {\n\t\tthrow new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n\t}\n\n\tconst length = Math.max(stdio.length, aliases.length);\n\treturn Array.from({length}, (value, index) => stdio[index]);\n};\n\n// `ipc` is pushed unless it is already present\nexport const normalizeStdioNode = options => {\n\tconst stdio = normalizeStdio(options);\n\n\tif (stdio === 'ipc') {\n\t\treturn 'ipc';\n\t}\n\n\tif (stdio === undefined || typeof stdio === 'string') {\n\t\treturn [stdio, stdio, stdio, 'ipc'];\n\t}\n\n\tif (stdio.includes('ipc')) {\n\t\treturn stdio;\n\t}\n\n\treturn [...stdio, 'ipc'];\n};\n","/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems.  Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL.  It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexport const signals = [];\nsignals.push('SIGHUP', 'SIGINT', 'SIGTERM');\nif (process.platform !== 'win32') {\n    signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT'\n    // should detect profiler and enable/disable accordingly.\n    // see #21\n    // 'SIGPROF'\n    );\n}\nif (process.platform === 'linux') {\n    signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT');\n}\n//# sourceMappingURL=signals.js.map","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nimport { signals } from './signals.js';\nexport { signals };\nconst processOk = (process) => !!process &&\n    typeof process === 'object' &&\n    typeof process.removeListener === 'function' &&\n    typeof process.emit === 'function' &&\n    typeof process.reallyExit === 'function' &&\n    typeof process.listeners === 'function' &&\n    typeof process.kill === 'function' &&\n    typeof process.pid === 'number' &&\n    typeof process.on === 'function';\nconst kExitEmitter = Symbol.for('signal-exit emitter');\nconst global = globalThis;\nconst ObjectDefineProperty = Object.defineProperty.bind(Object);\n// teeny special purpose ee\nclass Emitter {\n    emitted = {\n        afterExit: false,\n        exit: false,\n    };\n    listeners = {\n        afterExit: [],\n        exit: [],\n    };\n    count = 0;\n    id = Math.random();\n    constructor() {\n        if (global[kExitEmitter]) {\n            return global[kExitEmitter];\n        }\n        ObjectDefineProperty(global, kExitEmitter, {\n            value: this,\n            writable: false,\n            enumerable: false,\n            configurable: false,\n        });\n    }\n    on(ev, fn) {\n        this.listeners[ev].push(fn);\n    }\n    removeListener(ev, fn) {\n        const list = this.listeners[ev];\n        const i = list.indexOf(fn);\n        /* c8 ignore start */\n        if (i === -1) {\n            return;\n        }\n        /* c8 ignore stop */\n        if (i === 0 && list.length === 1) {\n            list.length = 0;\n        }\n        else {\n            list.splice(i, 1);\n        }\n    }\n    emit(ev, code, signal) {\n        if (this.emitted[ev]) {\n            return false;\n        }\n        this.emitted[ev] = true;\n        let ret = false;\n        for (const fn of this.listeners[ev]) {\n            ret = fn(code, signal) === true || ret;\n        }\n        if (ev === 'exit') {\n            ret = this.emit('afterExit', code, signal) || ret;\n        }\n        return ret;\n    }\n}\nclass SignalExitBase {\n}\nconst signalExitWrap = (handler) => {\n    return {\n        onExit(cb, opts) {\n            return handler.onExit(cb, opts);\n        },\n        load() {\n            return handler.load();\n        },\n        unload() {\n            return handler.unload();\n        },\n    };\n};\nclass SignalExitFallback extends SignalExitBase {\n    onExit() {\n        return () => { };\n    }\n    load() { }\n    unload() { }\n}\nclass SignalExit extends SignalExitBase {\n    // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n    // so use a supported signal instead\n    /* c8 ignore start */\n    #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP';\n    /* c8 ignore stop */\n    #emitter = new Emitter();\n    #process;\n    #originalProcessEmit;\n    #originalProcessReallyExit;\n    #sigListeners = {};\n    #loaded = false;\n    constructor(process) {\n        super();\n        this.#process = process;\n        // { <signal>: <listener fn>, ... }\n        this.#sigListeners = {};\n        for (const sig of signals) {\n            this.#sigListeners[sig] = () => {\n                // If there are no other listeners, an exit is coming!\n                // Simplest way: remove us and then re-send the signal.\n                // We know that this will kill the process, so we can\n                // safely emit now.\n                const listeners = this.#process.listeners(sig);\n                let { count } = this.#emitter;\n                // This is a workaround for the fact that signal-exit v3 and signal\n                // exit v4 are not aware of each other, and each will attempt to let\n                // the other handle it, so neither of them do. To correct this, we\n                // detect if we're the only handler *except* for previous versions\n                // of signal-exit, and increment by the count of listeners it has\n                // created.\n                /* c8 ignore start */\n                const p = process;\n                if (typeof p.__signal_exit_emitter__ === 'object' &&\n                    typeof p.__signal_exit_emitter__.count === 'number') {\n                    count += p.__signal_exit_emitter__.count;\n                }\n                /* c8 ignore stop */\n                if (listeners.length === count) {\n                    this.unload();\n                    const ret = this.#emitter.emit('exit', null, sig);\n                    /* c8 ignore start */\n                    const s = sig === 'SIGHUP' ? this.#hupSig : sig;\n                    if (!ret)\n                        process.kill(process.pid, s);\n                    /* c8 ignore stop */\n                }\n            };\n        }\n        this.#originalProcessReallyExit = process.reallyExit;\n        this.#originalProcessEmit = process.emit;\n    }\n    onExit(cb, opts) {\n        /* c8 ignore start */\n        if (!processOk(this.#process)) {\n            return () => { };\n        }\n        /* c8 ignore stop */\n        if (this.#loaded === false) {\n            this.load();\n        }\n        const ev = opts?.alwaysLast ? 'afterExit' : 'exit';\n        this.#emitter.on(ev, cb);\n        return () => {\n            this.#emitter.removeListener(ev, cb);\n            if (this.#emitter.listeners['exit'].length === 0 &&\n                this.#emitter.listeners['afterExit'].length === 0) {\n                this.unload();\n            }\n        };\n    }\n    load() {\n        if (this.#loaded) {\n            return;\n        }\n        this.#loaded = true;\n        // This is the number of onSignalExit's that are in play.\n        // It's important so that we can count the correct number of\n        // listeners on signals, and don't wait for the other one to\n        // handle it instead of us.\n        this.#emitter.count += 1;\n        for (const sig of signals) {\n            try {\n                const fn = this.#sigListeners[sig];\n                if (fn)\n                    this.#process.on(sig, fn);\n            }\n            catch (_) { }\n        }\n        this.#process.emit = (ev, ...a) => {\n            return this.#processEmit(ev, ...a);\n        };\n        this.#process.reallyExit = (code) => {\n            return this.#processReallyExit(code);\n        };\n    }\n    unload() {\n        if (!this.#loaded) {\n            return;\n        }\n        this.#loaded = false;\n        signals.forEach(sig => {\n            const listener = this.#sigListeners[sig];\n            /* c8 ignore start */\n            if (!listener) {\n                throw new Error('Listener not defined for signal: ' + sig);\n            }\n            /* c8 ignore stop */\n            try {\n                this.#process.removeListener(sig, listener);\n                /* c8 ignore start */\n            }\n            catch (_) { }\n            /* c8 ignore stop */\n        });\n        this.#process.emit = this.#originalProcessEmit;\n        this.#process.reallyExit = this.#originalProcessReallyExit;\n        this.#emitter.count -= 1;\n    }\n    #processReallyExit(code) {\n        /* c8 ignore start */\n        if (!processOk(this.#process)) {\n            return 0;\n        }\n        this.#process.exitCode = code || 0;\n        /* c8 ignore stop */\n        this.#emitter.emit('exit', this.#process.exitCode, null);\n        return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);\n    }\n    #processEmit(ev, ...args) {\n        const og = this.#originalProcessEmit;\n        if (ev === 'exit' && processOk(this.#process)) {\n            if (typeof args[0] === 'number') {\n                this.#process.exitCode = args[0];\n                /* c8 ignore start */\n            }\n            /* c8 ignore start */\n            const ret = og.call(this.#process, ev, ...args);\n            /* c8 ignore start */\n            this.#emitter.emit('exit', this.#process.exitCode, null);\n            /* c8 ignore stop */\n            return ret;\n        }\n        else {\n            return og.call(this.#process, ev, ...args);\n        }\n    }\n}\nconst process = globalThis.process;\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\nexport const { \n/**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\nonExit, \n/**\n * Load the listeners.  Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nload, \n/**\n * Unload the listeners.  Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nunload, } = signalExitWrap(processOk(process) ? new SignalExit(process) : new SignalExitFallback());\n//# sourceMappingURL=index.js.map","import os from 'node:os';\nimport {onExit} from 'signal-exit';\n\nconst DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5;\n\n// Monkey-patches `childProcess.kill()` to add `forceKillAfterTimeout` behavior\nexport const spawnedKill = (kill, signal = 'SIGTERM', options = {}) => {\n\tconst killResult = kill(signal);\n\tsetKillTimeout(kill, signal, options, killResult);\n\treturn killResult;\n};\n\nconst setKillTimeout = (kill, signal, options, killResult) => {\n\tif (!shouldForceKill(signal, options, killResult)) {\n\t\treturn;\n\t}\n\n\tconst timeout = getForceKillAfterTimeout(options);\n\tconst t = setTimeout(() => {\n\t\tkill('SIGKILL');\n\t}, timeout);\n\n\t// Guarded because there's no `.unref()` when `execa` is used in the renderer\n\t// process in Electron. This cannot be tested since we don't run tests in\n\t// Electron.\n\t// istanbul ignore else\n\tif (t.unref) {\n\t\tt.unref();\n\t}\n};\n\nconst shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult;\n\nconst isSigterm = signal => signal === os.constants.signals.SIGTERM\n\t\t|| (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM');\n\nconst getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => {\n\tif (forceKillAfterTimeout === true) {\n\t\treturn DEFAULT_FORCE_KILL_TIMEOUT;\n\t}\n\n\tif (!Number.isFinite(forceKillAfterTimeout) || forceKillAfterTimeout < 0) {\n\t\tthrow new TypeError(`Expected the \\`forceKillAfterTimeout\\` option to be a non-negative integer, got \\`${forceKillAfterTimeout}\\` (${typeof forceKillAfterTimeout})`);\n\t}\n\n\treturn forceKillAfterTimeout;\n};\n\n// `childProcess.cancel()`\nexport const spawnedCancel = (spawned, context) => {\n\tconst killResult = spawned.kill();\n\n\tif (killResult) {\n\t\tcontext.isCanceled = true;\n\t}\n};\n\nconst timeoutKill = (spawned, signal, reject) => {\n\tspawned.kill(signal);\n\treject(Object.assign(new Error('Timed out'), {timedOut: true, signal}));\n};\n\n// `timeout` option handling\nexport const setupTimeout = (spawned, {timeout, killSignal = 'SIGTERM'}, spawnedPromise) => {\n\tif (timeout === 0 || timeout === undefined) {\n\t\treturn spawnedPromise;\n\t}\n\n\tlet timeoutId;\n\tconst timeoutPromise = new Promise((resolve, reject) => {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutKill(spawned, killSignal, reject);\n\t\t}, timeout);\n\t});\n\n\tconst safeSpawnedPromise = spawnedPromise.finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n\n\treturn Promise.race([timeoutPromise, safeSpawnedPromise]);\n};\n\nexport const validateTimeout = ({timeout}) => {\n\tif (timeout !== undefined && (!Number.isFinite(timeout) || timeout < 0)) {\n\t\tthrow new TypeError(`Expected the \\`timeout\\` option to be a non-negative integer, got \\`${timeout}\\` (${typeof timeout})`);\n\t}\n};\n\n// `cleanup` option handling\nexport const setExitHandler = async (spawned, {cleanup, detached}, timedPromise) => {\n\tif (!cleanup || detached) {\n\t\treturn timedPromise;\n\t}\n\n\tconst removeExitHandler = onExit(() => {\n\t\tspawned.kill();\n\t});\n\n\treturn timedPromise.finally(() => {\n\t\tremoveExitHandler();\n\t});\n};\n","export function isStream(stream) {\n\treturn stream !== null\n\t\t&& typeof stream === 'object'\n\t\t&& typeof stream.pipe === 'function';\n}\n\nexport function isWritableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.writable !== false\n\t\t&& typeof stream._write === 'function'\n\t\t&& typeof stream._writableState === 'object';\n}\n\nexport function isReadableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.readable !== false\n\t\t&& typeof stream._read === 'function'\n\t\t&& typeof stream._readableState === 'object';\n}\n\nexport function isDuplexStream(stream) {\n\treturn isWritableStream(stream)\n\t\t&& isReadableStream(stream);\n}\n\nexport function isTransformStream(stream) {\n\treturn isDuplexStream(stream)\n\t\t&& typeof stream._transform === 'function';\n}\n","import {createWriteStream} from 'node:fs';\nimport {ChildProcess} from 'node:child_process';\nimport {isWritableStream} from 'is-stream';\n\nconst isExecaChildProcess = target => target instanceof ChildProcess && typeof target.then === 'function';\n\nconst pipeToTarget = (spawned, streamName, target) => {\n\tif (typeof target === 'string') {\n\t\tspawned[streamName].pipe(createWriteStream(target));\n\t\treturn spawned;\n\t}\n\n\tif (isWritableStream(target)) {\n\t\tspawned[streamName].pipe(target);\n\t\treturn spawned;\n\t}\n\n\tif (!isExecaChildProcess(target)) {\n\t\tthrow new TypeError('The second argument must be a string, a stream or an Execa child process.');\n\t}\n\n\tif (!isWritableStream(target.stdin)) {\n\t\tthrow new TypeError('The target child process\\'s stdin must be available.');\n\t}\n\n\tspawned[streamName].pipe(target.stdin);\n\treturn target;\n};\n\nexport const addPipeMethods = spawned => {\n\tif (spawned.stdout !== null) {\n\t\tspawned.pipeStdout = pipeToTarget.bind(undefined, spawned, 'stdout');\n\t}\n\n\tif (spawned.stderr !== null) {\n\t\tspawned.pipeStderr = pipeToTarget.bind(undefined, spawned, 'stderr');\n\t}\n\n\tif (spawned.all !== undefined) {\n\t\tspawned.pipeAll = pipeToTarget.bind(undefined, spawned, 'all');\n\t}\n};\n","export const getStreamContents = async (stream, {init, convertChunk, getSize, truncateChunk, addChunk, getFinalChunk, finalize}, {maxBuffer = Number.POSITIVE_INFINITY} = {}) => {\n\tif (!isAsyncIterable(stream)) {\n\t\tthrow new Error('The first argument must be a Readable, a ReadableStream, or an async iterable.');\n\t}\n\n\tconst state = init();\n\tstate.length = 0;\n\n\ttry {\n\t\tfor await (const chunk of stream) {\n\t\t\tconst chunkType = getChunkType(chunk);\n\t\t\tconst convertedChunk = convertChunk[chunkType](chunk, state);\n\t\t\tappendChunk({convertedChunk, state, getSize, truncateChunk, addChunk, maxBuffer});\n\t\t}\n\n\t\tappendFinalChunk({state, convertChunk, getSize, truncateChunk, addChunk, getFinalChunk, maxBuffer});\n\t\treturn finalize(state);\n\t} catch (error) {\n\t\terror.bufferedData = finalize(state);\n\t\tthrow error;\n\t}\n};\n\nconst appendFinalChunk = ({state, getSize, truncateChunk, addChunk, getFinalChunk, maxBuffer}) => {\n\tconst convertedChunk = getFinalChunk(state);\n\tif (convertedChunk !== undefined) {\n\t\tappendChunk({convertedChunk, state, getSize, truncateChunk, addChunk, maxBuffer});\n\t}\n};\n\nconst appendChunk = ({convertedChunk, state, getSize, truncateChunk, addChunk, maxBuffer}) => {\n\tconst chunkSize = getSize(convertedChunk);\n\tconst newLength = state.length + chunkSize;\n\n\tif (newLength <= maxBuffer) {\n\t\taddNewChunk(convertedChunk, state, addChunk, newLength);\n\t\treturn;\n\t}\n\n\tconst truncatedChunk = truncateChunk(convertedChunk, maxBuffer - state.length);\n\n\tif (truncatedChunk !== undefined) {\n\t\taddNewChunk(truncatedChunk, state, addChunk, maxBuffer);\n\t}\n\n\tthrow new MaxBufferError();\n};\n\nconst addNewChunk = (convertedChunk, state, addChunk, newLength) => {\n\tstate.contents = addChunk(convertedChunk, state, newLength);\n\tstate.length = newLength;\n};\n\nconst isAsyncIterable = stream => typeof stream === 'object' && stream !== null && typeof stream[Symbol.asyncIterator] === 'function';\n\nconst getChunkType = chunk => {\n\tconst typeOfChunk = typeof chunk;\n\n\tif (typeOfChunk === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeOfChunk !== 'object' || chunk === null) {\n\t\treturn 'others';\n\t}\n\n\t// eslint-disable-next-line n/prefer-global/buffer\n\tif (globalThis.Buffer?.isBuffer(chunk)) {\n\t\treturn 'buffer';\n\t}\n\n\tconst prototypeName = objectToString.call(chunk);\n\n\tif (prototypeName === '[object ArrayBuffer]') {\n\t\treturn 'arrayBuffer';\n\t}\n\n\tif (prototypeName === '[object DataView]') {\n\t\treturn 'dataView';\n\t}\n\n\tif (\n\t\tNumber.isInteger(chunk.byteLength)\n\t\t&& Number.isInteger(chunk.byteOffset)\n\t\t&& objectToString.call(chunk.buffer) === '[object ArrayBuffer]'\n\t) {\n\t\treturn 'typedArray';\n\t}\n\n\treturn 'others';\n};\n\nconst {toString: objectToString} = Object.prototype;\n\nexport class MaxBufferError extends Error {\n\tname = 'MaxBufferError';\n\n\tconstructor() {\n\t\tsuper('maxBuffer exceeded');\n\t}\n}\n","export const identity = value => value;\n\nexport const noop = () => undefined;\n\nexport const getContentsProp = ({contents}) => contents;\n\nexport const throwObjectStream = chunk => {\n\tthrow new Error(`Streams in object mode are not supported: ${String(chunk)}`);\n};\n\nexport const getLengthProp = convertedChunk => convertedChunk.length;\n","import {getStreamContents} from './contents.js';\nimport {noop, throwObjectStream, getLengthProp} from './utils.js';\n\nexport async function getStreamAsArrayBuffer(stream, options) {\n\treturn getStreamContents(stream, arrayBufferMethods, options);\n}\n\nconst initArrayBuffer = () => ({contents: new ArrayBuffer(0)});\n\nconst useTextEncoder = chunk => textEncoder.encode(chunk);\nconst textEncoder = new TextEncoder();\n\nconst useUint8Array = chunk => new Uint8Array(chunk);\n\nconst useUint8ArrayWithOffset = chunk => new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n\nconst truncateArrayBufferChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize);\n\n// `contents` is an increasingly growing `Uint8Array`.\nconst addArrayBufferChunk = (convertedChunk, {contents, length: previousLength}, length) => {\n\tconst newContents = hasArrayBufferResize() ? resizeArrayBuffer(contents, length) : resizeArrayBufferSlow(contents, length);\n\tnew Uint8Array(newContents).set(convertedChunk, previousLength);\n\treturn newContents;\n};\n\n// Without `ArrayBuffer.resize()`, `contents` size is always a power of 2.\n// This means its last bytes are zeroes (not stream data), which need to be\n// trimmed at the end with `ArrayBuffer.slice()`.\nconst resizeArrayBufferSlow = (contents, length) => {\n\tif (length <= contents.byteLength) {\n\t\treturn contents;\n\t}\n\n\tconst arrayBuffer = new ArrayBuffer(getNewContentsLength(length));\n\tnew Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);\n\treturn arrayBuffer;\n};\n\n// With `ArrayBuffer.resize()`, `contents` size matches exactly the size of\n// the stream data. It does not include extraneous zeroes to trim at the end.\n// The underlying `ArrayBuffer` does allocate a number of bytes that is a power\n// of 2, but those bytes are only visible after calling `ArrayBuffer.resize()`.\nconst resizeArrayBuffer = (contents, length) => {\n\tif (length <= contents.maxByteLength) {\n\t\tcontents.resize(length);\n\t\treturn contents;\n\t}\n\n\tconst arrayBuffer = new ArrayBuffer(length, {maxByteLength: getNewContentsLength(length)});\n\tnew Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);\n\treturn arrayBuffer;\n};\n\n// Retrieve the closest `length` that is both >= and a power of 2\nconst getNewContentsLength = length => SCALE_FACTOR ** Math.ceil(Math.log(length) / Math.log(SCALE_FACTOR));\n\nconst SCALE_FACTOR = 2;\n\nconst finalizeArrayBuffer = ({contents, length}) => hasArrayBufferResize() ? contents : contents.slice(0, length);\n\n// `ArrayBuffer.slice()` is slow. When `ArrayBuffer.resize()` is available\n// (Node >=20.0.0, Safari >=16.4 and Chrome), we can use it instead.\n// eslint-disable-next-line no-warning-comments\n// TODO: remove after dropping support for Node 20.\n// eslint-disable-next-line no-warning-comments\n// TODO: use `ArrayBuffer.transferToFixedLength()` instead once it is available\nconst hasArrayBufferResize = () => 'resize' in ArrayBuffer.prototype;\n\nconst arrayBufferMethods = {\n\tinit: initArrayBuffer,\n\tconvertChunk: {\n\t\tstring: useTextEncoder,\n\t\tbuffer: useUint8Array,\n\t\tarrayBuffer: useUint8Array,\n\t\tdataView: useUint8ArrayWithOffset,\n\t\ttypedArray: useUint8ArrayWithOffset,\n\t\tothers: throwObjectStream,\n\t},\n\tgetSize: getLengthProp,\n\ttruncateChunk: truncateArrayBufferChunk,\n\taddChunk: addArrayBufferChunk,\n\tgetFinalChunk: noop,\n\tfinalize: finalizeArrayBuffer,\n};\n","import {getStreamAsArrayBuffer} from './array-buffer.js';\n\nexport async function getStreamAsBuffer(stream, options) {\n\tif (!('Buffer' in globalThis)) {\n\t\tthrow new Error('getStreamAsBuffer() is only supported in Node.js');\n\t}\n\n\ttry {\n\t\treturn arrayBufferToNodeBuffer(await getStreamAsArrayBuffer(stream, options));\n\t} catch (error) {\n\t\tif (error.bufferedData !== undefined) {\n\t\t\terror.bufferedData = arrayBufferToNodeBuffer(error.bufferedData);\n\t\t}\n\n\t\tthrow error;\n\t}\n}\n\n// eslint-disable-next-line n/prefer-global/buffer\nconst arrayBufferToNodeBuffer = arrayBuffer => globalThis.Buffer.from(arrayBuffer);\n","import {getStreamContents} from './contents.js';\nimport {identity, getContentsProp, throwObjectStream, getLengthProp} from './utils.js';\n\nexport async function getStreamAsString(stream, options) {\n\treturn getStreamContents(stream, stringMethods, options);\n}\n\nconst initString = () => ({contents: '', textDecoder: new TextDecoder()});\n\nconst useTextDecoder = (chunk, {textDecoder}) => textDecoder.decode(chunk, {stream: true});\n\nconst addStringChunk = (convertedChunk, {contents}) => contents + convertedChunk;\n\nconst truncateStringChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize);\n\nconst getFinalStringChunk = ({textDecoder}) => {\n\tconst finalChunk = textDecoder.decode();\n\treturn finalChunk === '' ? undefined : finalChunk;\n};\n\nconst stringMethods = {\n\tinit: initString,\n\tconvertChunk: {\n\t\tstring: identity,\n\t\tbuffer: useTextDecoder,\n\t\tarrayBuffer: useTextDecoder,\n\t\tdataView: useTextDecoder,\n\t\ttypedArray: useTextDecoder,\n\t\tothers: throwObjectStream,\n\t},\n\tgetSize: getLengthProp,\n\ttruncateChunk: truncateStringChunk,\n\taddChunk: addStringChunk,\n\tgetFinalChunk: getFinalStringChunk,\n\tfinalize: getContentsProp,\n};\n","'use strict';\n\nconst { PassThrough } = require('stream');\n\nmodule.exports = function (/*streams...*/) {\n  var sources = []\n  var output  = new PassThrough({objectMode: true})\n\n  output.setMaxListeners(0)\n\n  output.add = add\n  output.isEmpty = isEmpty\n\n  output.on('unpipe', remove)\n\n  Array.prototype.slice.call(arguments).forEach(add)\n\n  return output\n\n  function add (source) {\n    if (Array.isArray(source)) {\n      source.forEach(add)\n      return this\n    }\n\n    sources.push(source);\n    source.once('end', remove.bind(null, source))\n    source.once('error', output.emit.bind(output, 'error'))\n    source.pipe(output, {end: false})\n    return this\n  }\n\n  function isEmpty () {\n    return sources.length == 0;\n  }\n\n  function remove (source) {\n    sources = sources.filter(function (it) { return it !== source })\n    if (!sources.length && output.readable) { output.end() }\n  }\n}\n","import {createReadStream, readFileSync} from 'node:fs';\nimport {setTimeout} from 'node:timers/promises';\nimport {isStream} from 'is-stream';\nimport getStream, {getStreamAsBuffer} from 'get-stream';\nimport mergeStream from 'merge-stream';\n\nconst validateInputOptions = input => {\n\tif (input !== undefined) {\n\t\tthrow new TypeError('The `input` and `inputFile` options cannot be both set.');\n\t}\n};\n\nconst getInputSync = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn readFileSync(inputFile);\n};\n\n// `input` and `inputFile` option in sync mode\nexport const handleInputSync = options => {\n\tconst input = getInputSync(options);\n\n\tif (isStream(input)) {\n\t\tthrow new TypeError('The `input` option cannot be a stream in sync mode');\n\t}\n\n\treturn input;\n};\n\nconst getInput = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn createReadStream(inputFile);\n};\n\n// `input` and `inputFile` option in async mode\nexport const handleInput = (spawned, options) => {\n\tconst input = getInput(options);\n\n\tif (input === undefined) {\n\t\treturn;\n\t}\n\n\tif (isStream(input)) {\n\t\tinput.pipe(spawned.stdin);\n\t} else {\n\t\tspawned.stdin.end(input);\n\t}\n};\n\n// `all` interleaves `stdout` and `stderr`\nexport const makeAllStream = (spawned, {all}) => {\n\tif (!all || (!spawned.stdout && !spawned.stderr)) {\n\t\treturn;\n\t}\n\n\tconst mixed = mergeStream();\n\n\tif (spawned.stdout) {\n\t\tmixed.add(spawned.stdout);\n\t}\n\n\tif (spawned.stderr) {\n\t\tmixed.add(spawned.stderr);\n\t}\n\n\treturn mixed;\n};\n\n// On failure, `result.stdout|stderr|all` should contain the currently buffered stream\nconst getBufferedData = async (stream, streamPromise) => {\n\t// When `buffer` is `false`, `streamPromise` is `undefined` and there is no buffered data to retrieve\n\tif (!stream || streamPromise === undefined) {\n\t\treturn;\n\t}\n\n\t// Wait for the `all` stream to receive the last chunk before destroying the stream\n\tawait setTimeout(0);\n\n\tstream.destroy();\n\n\ttry {\n\t\treturn await streamPromise;\n\t} catch (error) {\n\t\treturn error.bufferedData;\n\t}\n};\n\nconst getStreamPromise = (stream, {encoding, buffer, maxBuffer}) => {\n\tif (!stream || !buffer) {\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line unicorn/text-encoding-identifier-case\n\tif (encoding === 'utf8' || encoding === 'utf-8') {\n\t\treturn getStream(stream, {maxBuffer});\n\t}\n\n\tif (encoding === null || encoding === 'buffer') {\n\t\treturn getStreamAsBuffer(stream, {maxBuffer});\n\t}\n\n\treturn applyEncoding(stream, maxBuffer, encoding);\n};\n\nconst applyEncoding = async (stream, maxBuffer, encoding) => {\n\tconst buffer = await getStreamAsBuffer(stream, {maxBuffer});\n\treturn buffer.toString(encoding);\n};\n\n// Retrieve result of child process: exit code, signal, error, streams (stdout/stderr/all)\nexport const getSpawnedResult = async ({stdout, stderr, all}, {encoding, buffer, maxBuffer}, processDone) => {\n\tconst stdoutPromise = getStreamPromise(stdout, {encoding, buffer, maxBuffer});\n\tconst stderrPromise = getStreamPromise(stderr, {encoding, buffer, maxBuffer});\n\tconst allPromise = getStreamPromise(all, {encoding, buffer, maxBuffer: maxBuffer * 2});\n\n\ttry {\n\t\treturn await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]);\n\t} catch (error) {\n\t\treturn Promise.all([\n\t\t\t{error, signal: error.signal, timedOut: error.timedOut},\n\t\t\tgetBufferedData(stdout, stdoutPromise),\n\t\t\tgetBufferedData(stderr, stderrPromise),\n\t\t\tgetBufferedData(all, allPromise),\n\t\t]);\n\t}\n};\n","// eslint-disable-next-line unicorn/prefer-top-level-await\nconst nativePromisePrototype = (async () => {})().constructor.prototype;\n\nconst descriptors = ['then', 'catch', 'finally'].map(property => [\n\tproperty,\n\tReflect.getOwnPropertyDescriptor(nativePromisePrototype, property),\n]);\n\n// The return value is a mixin of `childProcess` and `Promise`\nexport const mergePromise = (spawned, promise) => {\n\tfor (const [property, descriptor] of descriptors) {\n\t\t// Starting the main `promise` is deferred to avoid consuming streams\n\t\tconst value = typeof promise === 'function'\n\t\t\t? (...args) => Reflect.apply(descriptor.value, promise(), args)\n\t\t\t: descriptor.value.bind(promise);\n\n\t\tReflect.defineProperty(spawned, property, {...descriptor, value});\n\t}\n};\n\n// Use promises instead of `child_process` events\nexport const getSpawnedPromise = spawned => new Promise((resolve, reject) => {\n\tspawned.on('exit', (exitCode, signal) => {\n\t\tresolve({exitCode, signal});\n\t});\n\n\tspawned.on('error', error => {\n\t\treject(error);\n\t});\n\n\tif (spawned.stdin) {\n\t\tspawned.stdin.on('error', error => {\n\t\t\treject(error);\n\t\t});\n\t}\n});\n","import {Buffer} from 'node:buffer';\nimport {ChildProcess} from 'node:child_process';\n\nconst normalizeArgs = (file, args = []) => {\n\tif (!Array.isArray(args)) {\n\t\treturn [file];\n\t}\n\n\treturn [file, ...args];\n};\n\nconst NO_ESCAPE_REGEXP = /^[\\w.-]+$/;\n\nconst escapeArg = arg => {\n\tif (typeof arg !== 'string' || NO_ESCAPE_REGEXP.test(arg)) {\n\t\treturn arg;\n\t}\n\n\treturn `\"${arg.replaceAll('\"', '\\\\\"')}\"`;\n};\n\nexport const joinCommand = (file, args) => normalizeArgs(file, args).join(' ');\n\nexport const getEscapedCommand = (file, args) => normalizeArgs(file, args).map(arg => escapeArg(arg)).join(' ');\n\nconst SPACES_REGEXP = / +/g;\n\n// Handle `execaCommand()`\nexport const parseCommand = command => {\n\tconst tokens = [];\n\tfor (const token of command.trim().split(SPACES_REGEXP)) {\n\t\t// Allow spaces to be escaped by a backslash if not meant as a delimiter\n\t\tconst previousToken = tokens.at(-1);\n\t\tif (previousToken && previousToken.endsWith('\\\\')) {\n\t\t\t// Merge previous token with current one\n\t\t\ttokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n\t\t} else {\n\t\t\ttokens.push(token);\n\t\t}\n\t}\n\n\treturn tokens;\n};\n\nconst parseExpression = expression => {\n\tconst typeOfExpression = typeof expression;\n\n\tif (typeOfExpression === 'string') {\n\t\treturn expression;\n\t}\n\n\tif (typeOfExpression === 'number') {\n\t\treturn String(expression);\n\t}\n\n\tif (\n\t\ttypeOfExpression === 'object'\n\t\t&& expression !== null\n\t\t&& !(expression instanceof ChildProcess)\n\t\t&& 'stdout' in expression\n\t) {\n\t\tconst typeOfStdout = typeof expression.stdout;\n\n\t\tif (typeOfStdout === 'string') {\n\t\t\treturn expression.stdout;\n\t\t}\n\n\t\tif (Buffer.isBuffer(expression.stdout)) {\n\t\t\treturn expression.stdout.toString();\n\t\t}\n\n\t\tthrow new TypeError(`Unexpected \"${typeOfStdout}\" stdout in template expression`);\n\t}\n\n\tthrow new TypeError(`Unexpected \"${typeOfExpression}\" in template expression`);\n};\n\nconst concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0\n\t? [...tokens, ...nextTokens]\n\t: [\n\t\t...tokens.slice(0, -1),\n\t\t`${tokens.at(-1)}${nextTokens[0]}`,\n\t\t...nextTokens.slice(1),\n\t];\n\nconst parseTemplate = ({templates, expressions, tokens, index, template}) => {\n\tconst templateString = template ?? templates.raw[index];\n\tconst templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean);\n\tconst newTokens = concatTokens(\n\t\ttokens,\n\t\ttemplateTokens,\n\t\ttemplateString.startsWith(' '),\n\t);\n\n\tif (index === expressions.length) {\n\t\treturn newTokens;\n\t}\n\n\tconst expression = expressions[index];\n\tconst expressionTokens = Array.isArray(expression)\n\t\t? expression.map(expression => parseExpression(expression))\n\t\t: [parseExpression(expression)];\n\treturn concatTokens(\n\t\tnewTokens,\n\t\texpressionTokens,\n\t\ttemplateString.endsWith(' '),\n\t);\n};\n\nexport const parseTemplates = (templates, expressions) => {\n\tlet tokens = [];\n\n\tfor (const [index, template] of templates.entries()) {\n\t\ttokens = parseTemplate({templates, expressions, tokens, index, template});\n\t}\n\n\treturn tokens;\n};\n\n","import {debuglog} from 'node:util';\nimport process from 'node:process';\n\nexport const verboseDefault = debuglog('execa').enabled;\n\nconst padField = (field, padding) => String(field).padStart(padding, '0');\n\nconst getTimestamp = () => {\n\tconst date = new Date();\n\treturn `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`;\n};\n\nexport const logCommand = (escapedCommand, {verbose}) => {\n\tif (!verbose) {\n\t\treturn;\n\t}\n\n\tprocess.stderr.write(`[${getTimestamp()}] ${escapedCommand}\\n`);\n};\n","import {Buffer} from 'node:buffer';\nimport path from 'node:path';\nimport childProcess from 'node:child_process';\nimport process from 'node:process';\nimport crossSpawn from 'cross-spawn';\nimport stripFinalNewline from 'strip-final-newline';\nimport {npmRunPathEnv} from 'npm-run-path';\nimport onetime from 'onetime';\nimport {makeError} from './lib/error.js';\nimport {normalizeStdio, normalizeStdioNode} from './lib/stdio.js';\nimport {spawnedKill, spawnedCancel, setupTimeout, validateTimeout, setExitHandler} from './lib/kill.js';\nimport {addPipeMethods} from './lib/pipe.js';\nimport {handleInput, getSpawnedResult, makeAllStream, handleInputSync} from './lib/stream.js';\nimport {mergePromise, getSpawnedPromise} from './lib/promise.js';\nimport {joinCommand, parseCommand, parseTemplates, getEscapedCommand} from './lib/command.js';\nimport {logCommand, verboseDefault} from './lib/verbose.js';\n\nconst DEFAULT_MAX_BUFFER = 1000 * 1000 * 100;\n\nconst getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => {\n\tconst env = extendEnv ? {...process.env, ...envOption} : envOption;\n\n\tif (preferLocal) {\n\t\treturn npmRunPathEnv({env, cwd: localDir, execPath});\n\t}\n\n\treturn env;\n};\n\nconst handleArguments = (file, args, options = {}) => {\n\tconst parsed = crossSpawn._parse(file, args, options);\n\tfile = parsed.command;\n\targs = parsed.args;\n\toptions = parsed.options;\n\n\toptions = {\n\t\tmaxBuffer: DEFAULT_MAX_BUFFER,\n\t\tbuffer: true,\n\t\tstripFinalNewline: true,\n\t\textendEnv: true,\n\t\tpreferLocal: false,\n\t\tlocalDir: options.cwd || process.cwd(),\n\t\texecPath: process.execPath,\n\t\tencoding: 'utf8',\n\t\treject: true,\n\t\tcleanup: true,\n\t\tall: false,\n\t\twindowsHide: true,\n\t\tverbose: verboseDefault,\n\t\t...options,\n\t};\n\n\toptions.env = getEnv(options);\n\n\toptions.stdio = normalizeStdio(options);\n\n\tif (process.platform === 'win32' && path.basename(file, '.exe') === 'cmd') {\n\t\t// #116\n\t\targs.unshift('/q');\n\t}\n\n\treturn {file, args, options, parsed};\n};\n\nconst handleOutput = (options, value, error) => {\n\tif (typeof value !== 'string' && !Buffer.isBuffer(value)) {\n\t\t// When `execaSync()` errors, we normalize it to '' to mimic `execa()`\n\t\treturn error === undefined ? undefined : '';\n\t}\n\n\tif (options.stripFinalNewline) {\n\t\treturn stripFinalNewline(value);\n\t}\n\n\treturn value;\n};\n\nexport function execa(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tvalidateTimeout(parsed.options);\n\n\tlet spawned;\n\ttry {\n\t\tspawned = childProcess.spawn(parsed.file, parsed.args, parsed.options);\n\t} catch (error) {\n\t\t// Ensure the returned error is always both a promise and a child process\n\t\tconst dummySpawned = new childProcess.ChildProcess();\n\t\tconst errorPromise = Promise.reject(makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t}));\n\t\tmergePromise(dummySpawned, errorPromise);\n\t\treturn dummySpawned;\n\t}\n\n\tconst spawnedPromise = getSpawnedPromise(spawned);\n\tconst timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise);\n\tconst processDone = setExitHandler(spawned, parsed.options, timedPromise);\n\n\tconst context = {isCanceled: false};\n\n\tspawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned));\n\tspawned.cancel = spawnedCancel.bind(null, spawned, context);\n\n\tconst handlePromise = async () => {\n\t\tconst [{error, exitCode, signal, timedOut}, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone);\n\t\tconst stdout = handleOutput(parsed.options, stdoutResult);\n\t\tconst stderr = handleOutput(parsed.options, stderrResult);\n\t\tconst all = handleOutput(parsed.options, allResult);\n\n\t\tif (error || exitCode !== 0 || signal !== null) {\n\t\t\tconst returnedError = makeError({\n\t\t\t\terror,\n\t\t\t\texitCode,\n\t\t\t\tsignal,\n\t\t\t\tstdout,\n\t\t\t\tstderr,\n\t\t\t\tall,\n\t\t\t\tcommand,\n\t\t\t\tescapedCommand,\n\t\t\t\tparsed,\n\t\t\t\ttimedOut,\n\t\t\t\tisCanceled: context.isCanceled || (parsed.options.signal ? parsed.options.signal.aborted : false),\n\t\t\t\tkilled: spawned.killed,\n\t\t\t});\n\n\t\t\tif (!parsed.options.reject) {\n\t\t\t\treturn returnedError;\n\t\t\t}\n\n\t\t\tthrow returnedError;\n\t\t}\n\n\t\treturn {\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\texitCode: 0,\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\tall,\n\t\t\tfailed: false,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t};\n\t};\n\n\tconst handlePromiseOnce = onetime(handlePromise);\n\n\thandleInput(spawned, parsed.options);\n\n\tspawned.all = makeAllStream(spawned, parsed.options);\n\n\taddPipeMethods(spawned);\n\tmergePromise(spawned, handlePromiseOnce);\n\treturn spawned;\n}\n\nexport function execaSync(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tconst input = handleInputSync(parsed.options);\n\n\tlet result;\n\ttry {\n\t\tresult = childProcess.spawnSync(parsed.file, parsed.args, {...parsed.options, input});\n\t} catch (error) {\n\t\tthrow makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t});\n\t}\n\n\tconst stdout = handleOutput(parsed.options, result.stdout, result.error);\n\tconst stderr = handleOutput(parsed.options, result.stderr, result.error);\n\n\tif (result.error || result.status !== 0 || result.signal !== null) {\n\t\tconst error = makeError({\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\terror: result.error,\n\t\t\tsignal: result.signal,\n\t\t\texitCode: result.status,\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: result.error && result.error.code === 'ETIMEDOUT',\n\t\t\tisCanceled: false,\n\t\t\tkilled: result.signal !== null,\n\t\t});\n\n\t\tif (!parsed.options.reject) {\n\t\t\treturn error;\n\t\t}\n\n\t\tthrow error;\n\t}\n\n\treturn {\n\t\tcommand,\n\t\tescapedCommand,\n\t\texitCode: 0,\n\t\tstdout,\n\t\tstderr,\n\t\tfailed: false,\n\t\ttimedOut: false,\n\t\tisCanceled: false,\n\t\tkilled: false,\n\t};\n}\n\nconst normalizeScriptStdin = ({input, inputFile, stdio}) => input === undefined && inputFile === undefined && stdio === undefined\n\t? {stdin: 'inherit'}\n\t: {};\n\nconst normalizeScriptOptions = (options = {}) => ({\n\tpreferLocal: true,\n\t...normalizeScriptStdin(options),\n\t...options,\n});\n\nfunction create$(options) {\n\tfunction $(templatesOrOptions, ...expressions) {\n\t\tif (!Array.isArray(templatesOrOptions)) {\n\t\t\treturn create$({...options, ...templatesOrOptions});\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templatesOrOptions, expressions);\n\t\treturn execa(file, args, normalizeScriptOptions(options));\n\t}\n\n\t$.sync = (templates, ...expressions) => {\n\t\tif (!Array.isArray(templates)) {\n\t\t\tthrow new TypeError('Please use $(options).sync`command` instead of $.sync(options)`command`.');\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templates, expressions);\n\t\treturn execaSync(file, args, normalizeScriptOptions(options));\n\t};\n\n\treturn $;\n}\n\nexport const $ = create$();\n\nexport function execaCommand(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execa(file, args, options);\n}\n\nexport function execaCommandSync(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execaSync(file, args, options);\n}\n\nexport function execaNode(scriptPath, args, options = {}) {\n\tif (args && !Array.isArray(args) && typeof args === 'object') {\n\t\toptions = args;\n\t\targs = [];\n\t}\n\n\tconst stdio = normalizeStdioNode(options);\n\tconst defaultExecArgv = process.execArgv.filter(arg => !arg.startsWith('--inspect'));\n\n\tconst {\n\t\tnodePath = process.execPath,\n\t\tnodeOptions = defaultExecArgv,\n\t} = options;\n\n\treturn execa(\n\t\tnodePath,\n\t\t[\n\t\t\t...nodeOptions,\n\t\t\tscriptPath,\n\t\t\t...(Array.isArray(args) ? args : []),\n\t\t],\n\t\t{\n\t\t\t...options,\n\t\t\tstdin: undefined,\n\t\t\tstdout: undefined,\n\t\t\tstderr: undefined,\n\t\t\tstdio,\n\t\t\tshell: false,\n\t\t},\n\t);\n}\n","export default function stripFinalNewline(input) {\n\tconst LF = typeof input === 'string' ? '\\n' : '\\n'.charCodeAt();\n\tconst CR = typeof input === 'string' ? '\\r' : '\\r'.charCodeAt();\n\n\tif (input[input.length - 1] === LF) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\tif (input[input.length - 1] === CR) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\treturn input;\n}\n","import { intro, outro, isCancel, cancel, text, confirm, spinner } from '@clack/prompts';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport { execa } from 'execa';\n\nimport { MINIMUM_VERSIONS, semverComply } from '../../utils/semver';\nimport { readTSConfigFile } from '@gql.tada/internal';\n\nconst TADA_VERSION = '^1.4.3';\nconst LSP_VERSION = '^1.8.0';\n\nexport async function run(target: string) {\n  const s = spinner();\n\n  intro(`GQL.Tada`);\n\n  const schemaLocation = await question(\n    'Where can we get your schema? Point us at an introspection JSON-file, a GraphQL schema file or an endpoint',\n    async (value: string) => {\n      try {\n        const url = new URL(value);\n        s.start('Validating the URL.');\n        try {\n          const response = await fetch(url.toString());\n          if (!response.ok) {\n            s.stop('Validated the URL.');\n            const urlFailureIsOkay = await confirm({\n              message: `Got ${\n                response.status\n              } from ${url.toString()}, continue anyway? You can add headers later.`,\n            });\n            return !!urlFailureIsOkay;\n          }\n        } catch (e) {\n          s.stop('Validated the URL.');\n          const urlFailureIsOkay = await confirm({\n            message: `Got ${\n              (e as Error).message\n            } from ${url.toString()}, continue anyway? You can add headers later.`,\n          });\n          return !!urlFailureIsOkay;\n        }\n        s.stop('Validated the URL.');\n        return true;\n      } catch (e) {}\n      const isFile = value.endsWith('.json') || value.endsWith('.graphql');\n      if (!isFile) {\n        return false;\n      }\n\n      const filePath = path.resolve(target, value);\n      const fileExists = !!(await fs.readFile(filePath));\n      if (!fileExists) {\n        // eslint-disable-next-line no-console\n        console.log(`\\nCould not find \"${filePath}\"`);\n      }\n\n      return fileExists;\n    },\n    true\n  );\n\n  let tadaLocation = await question(\n    'What directory do you want us to write the tadaOutputFile to?',\n    async (value: string) => {\n      const dir = path.resolve(target, value);\n      const directoryExists = !!(await fs.stat(dir));\n      if (!directoryExists) {\n        // eslint-disable-next-line no-console\n        console.log(`\\nCould not find \"${dir}\"`);\n      }\n\n      return directoryExists;\n    },\n    true\n  );\n\n  if (isCancel(tadaLocation)) {\n    cancel('Operation cancelled.');\n    process.exit(0);\n  }\n\n  tadaLocation = path.resolve(tadaLocation, 'graphql-env.d.ts');\n\n  const shouldInstallDependencies = await confirm({\n    message: 'Do you want us to install the dependencies?',\n  });\n\n  if (isCancel(shouldInstallDependencies)) {\n    cancel('Operation cancelled.');\n    process.exit(0);\n  }\n\n  let supportsEmbeddedLsp = false;\n  let packageJson: {\n    dependencies: Record<string, string>;\n    devDependencies: Record<string, string>;\n  };\n\n  try {\n    const packageJsonPath = path.resolve(target, 'package.json');\n    const packageJsonContents = await fs.readFile(packageJsonPath, 'utf-8');\n    packageJson = JSON.parse(packageJsonContents);\n    const deps = Object.entries({\n      ...packageJson.dependencies,\n      ...packageJson.devDependencies,\n    });\n\n    const typeScriptVersion = deps.find((x) => x[0] === 'typescript');\n    if (typeScriptVersion && typeof typeScriptVersion[1] === 'string') {\n      supportsEmbeddedLsp = semverComply(\n        typeScriptVersion[1],\n        MINIMUM_VERSIONS.typescript_embed_lsp\n      );\n    }\n  } catch (e) {}\n\n  if (shouldInstallDependencies) {\n    s.start('Installing packages.');\n    await installPackages(getPkgManager(), target, !supportsEmbeddedLsp);\n    s.stop('Installed packages.');\n  } else {\n    s.start('Writing to package.json.');\n    try {\n      const packageJsonPath = path.resolve(target, 'package.json');\n      const packageJsonContents = await fs.readFile(packageJsonPath, 'utf-8');\n      packageJson = JSON.parse(packageJsonContents);\n\n      if (!packageJson.dependencies) packageJson.dependencies = {};\n      if (!packageJson.dependencies['gql.tada']) {\n        packageJson.dependencies['gql.tada'] = TADA_VERSION;\n      }\n\n      if (!supportsEmbeddedLsp) {\n        if (!packageJson.devDependencies) packageJson.devDependencies = {};\n        if (!packageJson.devDependencies['@0no-co/graphqlsp']) {\n          packageJson.devDependencies['@0no-co/graphqlsp'] = LSP_VERSION;\n        }\n      }\n\n      await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));\n      s.stop('Written to package.json.');\n    } catch (e) {\n      s.stop(\n        'Failed to write to package.json, you can try adding \"gql.tada\" and \"@0no-co/graphqlsp\" yourself.'\n      );\n    }\n  }\n\n  s.start('Writing to tsconfig.json.');\n  let tsConfigName = 'tsconfig.json';\n  try {\n    let tsConfigPath = path.resolve(target, 'tsconfig.json');\n    let tsConfig = await readTSConfigFile(tsConfigPath);\n\n    // Solution-style configs (e.g. Vite/Vue templates) contain no files of their\n    // own, so the plugin must be added to a referenced project config instead\n    const isSolutionStyle =\n      Array.isArray(tsConfig.references) &&\n      Array.isArray(tsConfig.files) &&\n      !tsConfig.files.length &&\n      !tsConfig.include;\n    if (isSolutionStyle) {\n      let fallbackPath: string | undefined;\n      let preferredPath: string | undefined;\n      for (const reference of tsConfig.references!) {\n        if (!reference || typeof reference.path !== 'string') continue;\n        let referencePath = path.resolve(target, reference.path);\n        if (path.extname(referencePath) !== '.json')\n          referencePath = path.join(referencePath, 'tsconfig.json');\n        try {\n          await fs.access(referencePath);\n        } catch (_error) {\n          continue;\n        }\n        if (path.basename(referencePath) === 'tsconfig.app.json') {\n          preferredPath = referencePath;\n          break;\n        } else if (!fallbackPath) {\n          fallbackPath = referencePath;\n        }\n      }\n      const referencePath = preferredPath || fallbackPath;\n      if (referencePath) {\n        tsConfigPath = referencePath;\n        tsConfig = await readTSConfigFile(tsConfigPath);\n        tsConfigName = path.relative(target, tsConfigPath);\n      }\n    }\n\n    // TODO: do we need to ensure that include contains the tadaOutputLocation?\n    const isFile = schemaLocation.endsWith('.json') || schemaLocation.endsWith('.graphql');\n    const tsConfigDir = path.dirname(tsConfigPath);\n    tsConfig.compilerOptions = {\n      ...tsConfig.compilerOptions,\n      plugins: [\n        {\n          name: supportsEmbeddedLsp ? 'gql.tada/ts-plugin' : '@0no-co/graphqlsp',\n          schema: isFile\n            ? path.relative(tsConfigDir, path.resolve(target, schemaLocation))\n            : schemaLocation,\n          tadaOutputLocation: path.relative(tsConfigDir, tadaLocation),\n        } as any,\n      ],\n    };\n    await fs.writeFile(tsConfigPath, JSON.stringify(tsConfig, null, 2));\n  } catch (e) {}\n  s.stop(`Written to ${tsConfigName}.`);\n\n  outro(`Off to the races!`);\n}\n\ntype PackageManager = 'yarn' | 'pnpm' | 'npm';\nasync function installPackages(\n  packageManager: PackageManager,\n  target: string,\n  shouldInstallGraphQLSP\n) {\n  if (shouldInstallGraphQLSP) {\n    await execa(\n      packageManager,\n      [\n        // `yarn add` will fail if nothing is provided\n        packageManager === 'yarn' ? 'add' : 'install',\n        '-D',\n        '@0no-co/graphqlsp',\n      ],\n      {\n        stdio: 'ignore',\n        cwd: target,\n      }\n    );\n  }\n\n  await execa(packageManager, [packageManager === 'yarn' ? 'add' : 'install', 'gql.tada'], {\n    stdio: 'ignore',\n    cwd: target,\n  });\n}\n\nfunction getPkgManager(): PackageManager {\n  const userAgent = process.env.npm_config_user_agent || '';\n  if (userAgent.startsWith('yarn')) return 'yarn';\n  if (userAgent.startsWith('pnpm')) return 'pnpm';\n  return 'npm';\n}\n\nconst question = async (\n  msg: string,\n  validate: (value: string) => Promise<boolean>,\n  repeat?: boolean\n): Promise<string> => {\n  let value: string | symbol = '';\n  if (repeat) {\n    // while there is no value or the value is not a cancel symbol and the value is not a string or the value is a string but the validation fails\n    let done = false;\n    while (!done) {\n      value = await text({\n        message: msg,\n      });\n      if (isCancel(value)) {\n        done = true;\n        cancel('Operation cancelled.');\n        process.exit(0);\n      } else if (await validate(value)) {\n        done = true;\n      }\n    }\n  } else {\n    value = await text({\n      message: msg,\n    });\n    if (isCancel(value)) {\n      cancel('Operation cancelled.');\n      process.exit(0);\n    }\n  }\n\n  return value as string;\n};\n"],"names":["CSI","cursor","to","x","y","move","ret","up","count","down","forward","backward","nextLine","repeat","prevLine","left","hide","show","save","restore","scroll","erase","screen","line","lineEnd","lineStart","lines","clear","i","this","src","beep","String","create","isColorSupported","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","picocolors_browserModule","exports","createColors","q","onlyFirst","t","u","join","RegExp","_","h","platform","env","TERM","Boolean","CI","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERM_PROGRAM","TERMINAL_EMULATOR","o","r","n","H","I","S","K","a","d","b","E","e","te","V","validate","placeholder","defaultValue","initialValue","render","state","message","slice","value","valueWithCursor","trim","error","prompt","se","active","inactive","N","s","ue","process","stdout","write","de","c","v","g","clearInterval","p","T","A","$","on","start","l","F","replace","setInterval","O","P","Math","floor","length","stop","m","core","global","TESTING_WINDOWS","windows","isexe","sync","path","options","checkStat","fs","statSync","require$$0","stat","isSymbolicLink","isFile","checkPathExt","pathext","undefined","pathExt","PATHEXT","split","indexOf","toLowerCase","substr","cb","er","require$$1","mode","checkMode","mod","uid","gid","myUid","getuid","myGid","getgid","parseInt","require$$2","isexe_1","ignoreErrors","code","Promise","TypeError","resolve","reject","is","isWindows","OSTYPE","COLON","getNotFoundError","cmd","Object","assign","Error","getPathInfo","opt","colon","pathEnv","match","cwd","PATH","pathExtExe","unshift","which","found","step","all","ppRaw","pathPart","test","pCmd","subStep","ii","ext","push","then","res","which_1","whichSync","j","cur","ex","nothrow","pathKey","environment","keys","reverse","find","key","toUpperCase","pathKeyModule","default","getPathKey","resolveCommandAttempt","parsed","withoutPathExt","hasCustomCwd","shouldSwitchCwd","chdir","disabled","err","resolved","command","delimiter","resolveCommand_1","resolveCommand","metaCharsRegExp","_escape","escapeCommand","arg","argument","escapeArgument","doubleEscapeMetaChars","shebangRegex","shebangCommand","string","binary","pop","escape","readShebang","buffer","Buffer","alloc","fd","openSync","readSync","closeSync","toString","isWin","isExecutableRegExp","isCmdShimRegExp","parseNonShell","commandFile","detectShebang","file","shebang","args","needsShell","forceShell","needsDoubleEscapeMetaChars","normalize","map","shellCommand","concat","comspec","windowsVerbatimArguments","notFoundError","original","syscall","errno","spawnargs","verifyENOENT","status","enoent","hookChildProcess","cp","originalEmit","emit","name","arg1","call","apply","arguments","verifyENOENTSync","parse","Array","isArray","shell","spawn","spawned","crossSpawnModule","spawnSync","result","_parse","_enoent","applyPreferLocal","cwdPath","previous","applyExecPath","execPath","execPathString","URL","fileURLToPath","npmRunPathEnv","pathName","npmRunPath","pathOption","preferLocal","addExecPath","cwdString","copyProperty","from","property","ignoreNonConfigurable","toDescriptor","getOwnPropertyDescriptor","fromDescriptor","canCopyProperty","defineProperty","configurable","writable","enumerable","wrappedToString","withName","fromBody","toStringDescriptor","Function","prototype","toStringName","mimicFunction","Reflect","ownKeys","changePrototype","fromPrototype","getPrototypeOf","setPrototypeOf","changeToString","newToString","bind","calledFunctions","WeakMap","onetime","function_","returnValue","callCount","functionName","displayName","arguments_","set","throw","has","get","getRealtimeSignal","index","number","SIGRTMIN","action","description","standard","SIGRTMAX","SIGNALS","forced","getSignals","realtimeSignals","normalizeSignal","defaultNumber","signals","constantSignal","constants","supported","getSignalByName","signalsByName","getSignalsByName","fromEntries","getSignalByNumber","signal","findSignalByNumber","signalA","getSignalsByNumber","signalsA","makeError","stderr","exitCode","escapedCommand","timedOut","isCanceled","killed","timeout","signalDescription","prefix","getErrorPrefix","errorCode","execaMessage","isError","shortMessage","filter","originalMessage","bufferedData","failed","aliases","normalizeStdio","stdio","alias","some","hasAlias","max","processOk","removeListener","reallyExit","listeners","kill","pid","kExitEmitter","Symbol","for","globalThis","ObjectDefineProperty","Emitter","emitted","afterExit","exit","id","random","constructor","ev","fn","list","splice","SignalExitBase","onExit","handler","SignalExit","hupSig","emitter","originalProcessEmit","originalProcessReallyExit","sigListeners","loaded","_this","super","_loop","sig","__signal_exit_emitter__","unload","opts","load","alwaysLast","processEmit","processReallyExit","forEach","listener","og","SignalExitFallback","spawnedKill","killResult","setKillTimeout","shouldForceKill","getForceKillAfterTimeout","setTimeout","unref","forceKillAfterTimeout","isSigterm","os","SIGTERM","Number","isFinite","spawnedCancel","context","setupTimeout","killSignal","spawnedPromise","timeoutId","timeoutPromise","timeoutKill","safeSpawnedPromise","finally","clearTimeout","race","validateTimeout","setExitHandler","async","cleanup","detached","timedPromise","removeExitHandler","isStream","stream","pipe","isWritableStream","_write","_writableState","pipeToTarget","streamName","target","createWriteStream","ChildProcess","isExecaChildProcess","stdin","addPipeMethods","pipeStdout","pipeStderr","pipeAll","getStreamContents","init","convertChunk","getSize","truncateChunk","addChunk","getFinalChunk","finalize","maxBuffer","POSITIVE_INFINITY","isAsyncIterable","chunk","convertedChunk","getChunkType","appendChunk","appendFinalChunk","chunkSize","newLength","addNewChunk","truncatedChunk","MaxBufferError","contents","asyncIterator","typeOfChunk","isBuffer","prototypeName","objectToString","isInteger","byteLength","byteOffset","throwObjectStream","getLengthProp","textEncoder","TextEncoder","useUint8Array","Uint8Array","useUint8ArrayWithOffset","resizeArrayBufferSlow","arrayBuffer","ArrayBuffer","getNewContentsLength","resizeArrayBuffer","maxByteLength","resize","SCALE_FACTOR","ceil","log","hasArrayBufferResize","arrayBufferMethods","initArrayBuffer","encode","dataView","typedArray","others","truncateArrayBufferChunk","addArrayBufferChunk","previousLength","newContents","noop","finalizeArrayBuffer","getStreamAsBuffer","arrayBufferToNodeBuffer","getStreamAsArrayBuffer","useTextDecoder","textDecoder","decode","stringMethods","initString","TextDecoder","truncateStringChunk","addStringChunk","getFinalStringChunk","finalChunk","getContentsProp","PassThrough","sources","output","objectMode","setMaxListeners","add","isEmpty","remove","source","once","end","it","readable","getInput","input","inputFile","validateInputOptions","createReadStream","handleInput","makeAllStream","mixed","mergeStream","getBufferedData","streamPromise","destroy","getStreamPromise","encoding","getStreamAsString","getStream","applyEncoding","getSpawnedResult","processDone","stdoutPromise","stderrPromise","allPromise","nativePromisePrototype","descriptors","mergePromise","promise","descriptor","getSpawnedPromise","normalizeArgs","NO_ESCAPE_REGEXP","joinCommand","getEscapedCommand","replaceAll","escapeArg","verboseDefault","debuglog","enabled","padField","field","padding","padStart","logCommand","verbose","date","Date","getHours","getMinutes","getSeconds","getMilliseconds","getTimestamp","handleArguments","crossSpawn","stripFinalNewline","extendEnv","localDir","windowsHide","getEnv","envOption","basename","handleOutput","LF","charCodeAt","CR","execa","childProcess","dummySpawned","errorPromise","cancel","handlePromiseOnce","stdoutResult","stderrResult","allResult","returnedError","aborted","run","spinner","oe","intro","schemaLocation","question","url","response","fetch","ok","confirm","endsWith","filePath","fileExists","readFile","console","tadaLocation","dir","directoryExists","isCancel","shouldInstallDependencies","supportsEmbeddedLsp","packageJson","packageJsonPath","packageJsonContents","JSON","typeScriptVersion","entries","dependencies","devDependencies","semverComply","MINIMUM_VERSIONS","typescript_embed_lsp","installPackages","packageManager","shouldInstallGraphQLSP","getPkgManager","userAgent","npm_config_user_agent","startsWith","writeFile","stringify","tsConfigName","tsConfigPath","tsConfig","readTSConfigFile","references","files","include","fallbackPath","preferredPath","reference","referencePath","extname","access","_error","relative","tsConfigDir","dirname","compilerOptions","plugins","schema","tadaOutputLocation","$e","outro","msg","done","text"],"mappings":"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AAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aACA;EACAC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;EACTG,SAAO;GAEP;EACAnF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;GAET;EACAhF,MAAK;EACL4E,QAAO;EACPE,QAAO;EACPC,aAAY;EACZC,UAAS;EACTG,SAAO;GAEP;EACAnF,MAAK;EACL4E,Q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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]}