const e=(e=0)=>r=>`[${r+e}m`,r=(e=0)=>r=>`[${38+e};5;${r}m`,t=(e=0)=>(r,t,n)=>`[${38+e};2;${r};${t};${n}m`,n={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(n.modifier);Object.keys(n.color),Object.keys(n.bgColor);const o=function(){const o=new Map;for(const[e,r]of Object.entries(n)){for(const[e,t]of Object.entries(r))n[e]={open:`[${t[0]}m`,close:`[${t[1]}m`},r[e]=n[e],o.set(t[0],t[1]);Object.defineProperty(n,e,{value:r,enumerable:!1})}return Object.defineProperty(n,"codes",{value:o,enumerable:!1}),n.color.close="[39m",n.bgColor.close="[49m",n.color.ansi=e(),n.color.ansi256=r(),n.color.ansi16m=t(),n.bgColor.ansi=e(10),n.bgColor.ansi256=r(10),n.bgColor.ansi16m=t(10),Object.defineProperties(n,{rgbToAnsi256:{value:(e,r,t)=>e===r&&r===t?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(t/255*5),enumerable:!1},hexToRgb:{value:e=>{const r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[t]=r;3===t.length&&(t=[...t].map((e=>e+e)).join(""));const n=Number.parseInt(t,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:e=>n.rgbToAnsi256(...n.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return e-8+90;let r,t,n;if(e>=232)r=(10*(e-232)+8)/255,t=r,n=r;else{const o=(e-=16)%36;r=Math.floor(e/36)/5,t=Math.floor(o/6)/5,n=o%6/5}const o=2*Math.max(r,t,n);if(0===o)return 30;let i=30+(Math.round(n)<<2|Math.round(t)<<1|Math.round(r));return 2===o&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,r,t)=>n.ansi256ToAnsi(n.rgbToAnsi256(e,r,t)),enumerable:!1},hexToAnsi:{value:e=>n.ansi256ToAnsi(n.hexToAnsi256(e)),enumerable:!1}}),n}(),i=/^[\uD800-\uDBFF][\uDC00-\uDFFF]$/,l=["",""],s=e=>`${l[0]}[${e}m`,a=(e,r,t)=>{let n=[];e=[...e];for(let t of e){const i=t;t.includes(";")&&(t=t.split(";")[0][0]+"0");const l=o.codes.get(Number.parseInt(t,10));if(l){const t=e.indexOf(l.toString());-1===t?n.push(s(r?l:i)):e.splice(t,1)}else{if(r){n.push(s(0));break}n.push(s(i))}}if(r&&(n=n.filter(((e,r)=>n.indexOf(e)===r)),void 0!==t)){const e=s(o.codes.get(Number.parseInt(t,10)));n=n.reduce(((r,t)=>t===e?[t,...r]:[...r,t]),[])}return n.join("")};module.exports=function(e,r,t){const n=[...e],o=[];let s,g="number"==typeof t?t:n.length,b=!1,u=0,c="";for(const[d,f]of n.entries()){let n=!1;if(l.includes(f)){const r=/\d[^m]*/.exec(e.slice(d,d+18));s=r&&r.length>0?r[0]:void 0,u<g&&(b=!0,void 0!==s&&o.push(s))}else b&&"m"===f&&(b=!1,n=!0);if(b||n||u++,!i.test(f)&&(h=f.codePointAt(),Number.isInteger(h)&&h>=4352&&(h<=4447||9001===h||9002===h||11904<=h&&h<=12871&&12351!==h||12880<=h&&h<=19903||19968<=h&&h<=42182||43360<=h&&h<=43388||44032<=h&&h<=55203||63744<=h&&h<=64255||65040<=h&&h<=65049||65072<=h&&h<=65131||65281<=h&&h<=65376||65504<=h&&h<=65510||110592<=h&&h<=110593||127488<=h&&h<=127569||131072<=h&&h<=262141))&&(u++,"number"!=typeof t&&g++),u>r&&u<=g)c+=f;else if(u!==r||b||void 0===s){if(u>=g){c+=a(o,!0,s);break}}else c=a(o)}var h;return c};
|