smartsh
Version:
Cross-shell command runner enabling Unix-style syntax on any OS.
1 lines • 115 kB
JavaScript
"use strict";var F=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var pe=Object.prototype.hasOwnProperty;var ue=(e,r)=>{for(var s in r)F(e,s,{get:r[s],enumerable:!0})},ge=(e,r,s,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of ce(r))!pe.call(e,t)&&t!==s&&F(e,t,{get:()=>r[t],enumerable:!(n=ie(r,t))||n.enumerable});return e};var de=e=>ge(F({},"__esModule",{value:!0}),e);var Wr={};ue(Wr,{POWERSHELL_TO_UNIX_MAPPINGS:()=>D,detectInputFormat:()=>U,detectShell:()=>le,getBidirectionalMapping:()=>$,lintCommand:()=>ae,parseInput:()=>q,translateBidirectional:()=>k,translateCommand:()=>oe});module.exports=de(Wr);function G(e){let r=[],s=0;for(;s<e.length;){for(;s<e.length&&/\s/.test(e[s]);)s++;if(s>=e.length)break;let n=s,t="",a;if(e[s]==="'"||e[s]==='"'){a=e[s];let o=e[s];for(t=e[s],s++;s<e.length&&e[s]!==o;)t+=e[s],s++;s<e.length&&(t+=e[s],s++)}else if(e[s]==="\\"&&s+1<e.length&&R(e[s+1]))t=e[s]+e[s+1],s+=2;else if(e[s]==="`"&&s+1<e.length&&R(e[s+1]))e[s+1]==="&"&&s+2<e.length&&e[s+2]==="`"&&s+3<e.length&&e[s+3]==="&"||e[s+1]==="|"&&s+2<e.length&&e[s+2]==="`"&&s+3<e.length&&e[s+3]==="|"?(t=e[s]+e[s+1]+e[s+2]+e[s+3],s+=4):(t=e[s]+e[s+1],s+=2);else if(fe(e,s)){let o=me(e,s);t=o,s+=o.length}else for(;s<e.length&&!/\s/.test(e[s])&&!R(e[s]);)t+=e[s],s++;s===n&&(t=e[s],s++),t&&r.push({value:t,start:n,end:s,quoteType:a})}return r}function R(e){return["<",">","|","&",";","(",")","{","}"].includes(e)}function fe(e,r){let s=["&&","||","|&","<<",">>","|",";","<",">","(",")","{","}"];for(let n of s)if(e.substring(r,r+n.length)===n)return!0;return!1}function me(e,r){let s=["&&","||","|&","<<",">>","|",";","<",">","(",")","{","}"];for(let n of s)if(e.substring(r,r+n.length)===n)return n;return e[r]}function he(e){let r=G(e),s=Me(r,e);return xe(s,e)}function Me(e,r){return e.map(s=>({...s,originalText:r.substring(s.start,s.end),reconstructedValue:s.value,needsReconstruction:!1}))}function xe(e,r){let s=[...e];return s=Ae(s),s=we(s),s=be(s),s=Pe(s),s=ve(s,r),s=Ce(s),s=Se(s),s}function Ae(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value==="$"&&s+1<e.length&&e[s+1].value==="("){let n=1,t=s+2;for(;t<e.length&&n>0;)e[t].value==="("&&n++,e[t].value===")"&&n--,t++;if(n===0){let a={value:"$(",start:e[s].start,end:e[t-1].end,originalText:e.slice(s,t).map(o=>o.originalText).join(""),reconstructedValue:"$(",needsReconstruction:!1};for(let o=s+2;o<t-1;o++)a.reconstructedValue+=e[o].value+" ";a.reconstructedValue=a.reconstructedValue.trim()+")",r.push(a),s=t-1}else r.push(e[s])}else r.push(e[s]);return r}function we(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value==="<<"&&s+1<e.length){let n={value:"<<",start:e[s].start,end:e[s+1].end,originalText:e[s].originalText+e[s+1].originalText,reconstructedValue:"<<",needsReconstruction:!1};n.end=e[s+1].end,n.originalText+=e[s+1].originalText,n.reconstructedValue+=e[s+1].value,s+=1,r.push(n)}else r.push(e[s]);return r}function be(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value==="<"&&s+1<e.length&&e[s+1].value==="("){let n=1,t=s+2;for(;t<e.length&&n>0;)e[t].value==="("&&n++,e[t].value===")"&&n--,t++;if(n===0){let a={value:"<(",start:e[s].start,end:e[t-1].end,originalText:e.slice(s,t).map(o=>o.originalText).join(""),reconstructedValue:"<(",needsReconstruction:!1};for(let o=s+2;o<t-1;o++)a.reconstructedValue+=e[o].value+" ";a.reconstructedValue+=")",r.push(a),s=t-1}else r.push(e[s])}else r.push(e[s]);return r}function Pe(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value==="("&&s+1<e.length&&e[s+1].value===")"){let n={value:"()",start:e[s].start,end:e[s+1].end,originalText:e[s].originalText+e[s+1].originalText,reconstructedValue:"()",needsReconstruction:!1};r.push(n),s+=1}else r.push(e[s]);return r}function ve(e,r){let s=[];for(let n=0;n<e.length;n++)if(e[n].value==="$"&&n+1<e.length&&e[n+1].value==="{"){let t=1,a=n+2;for(;a<e.length&&t>0;)e[a].value==="{"&&t++,e[a].value==="}"&&t--,a++;if(t===0){let o={value:"${",start:e[n].start,end:e[a-1].end,originalText:e.slice(n,a).map(i=>i.originalText).join(""),reconstructedValue:"${",needsReconstruction:!1};for(let i=n+2;i<a-1;i++)o.reconstructedValue+=e[i].value+" ";o.reconstructedValue=o.reconstructedValue.trim()+"}",s.push(o),n=a-1}else s.push(e[n])}else s.push(e[n]);return s}function Ce(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value.match(/^\d+$/)&&s+1<e.length&&(e[s+1].value===">"||e[s+1].value===">>"||e[s+1].value==="&")){let n={value:e[s].value+e[s+1].value,start:e[s].start,end:e[s+1].end,originalText:e[s].originalText+e[s+1].originalText,reconstructedValue:e[s].value+e[s+1].value,needsReconstruction:!1};r.push(n),s+=1}else L(e[s].value),r.push(e[s]);return r}function Se(e){let r=[];for(let s=0;s<e.length;s++)if(e[s].value.startsWith("\\")&&s+1<e.length&&R(e[s+1].value)){let n={value:e[s].value+e[s+1].value,start:e[s].start,end:e[s+1].end,originalText:e[s].originalText+e[s+1].originalText,reconstructedValue:e[s].value+e[s+1].value,needsReconstruction:!1};r.push(n),s+=1}else r.push(e[s]);return r}var _=new Set(["&&","||","|",";","|&"]);function L(e){return/^(\d*>>?&?\d*|[<>]{1,2}|&>?)$/.test(e)}function V(e){let r=[],s=!0;for(let n of e){let t={...n,originalText:n.value,reconstructedValue:n.value,needsReconstruction:!1};if(_.has(n.value)){r.push({...t,role:"op"}),s=!0;continue}if(L(n.value)){r.push({...t,role:"arg"});continue}if(s){r.push({...t,role:"cmd"}),s=!1;continue}n.value.startsWith("-")&&n.value.length>1&&n.quoteType===void 0?r.push({...t,role:"flag"}):r.push({...t,role:"arg"})}return r}function N(e){let r=he(e);return r.map(s=>({...s,role:Ie(s,r)}))}function Ie(e,r){let s=e.reconstructedValue;if(_.has(s))return"op";if(L(s))return"arg";if(s.startsWith("-")&&s.length>1&&e.quoteType===void 0)return"flag";let n=r.indexOf(e);if(n===0)return"cmd";for(let t=n-1;t>=0;t--)if(_.has(r[t].reconstructedValue)||r[t].reconstructedValue===";"||r[t].reconstructedValue==="|")return"cmd";return"arg"}var Ne={unix:"rm",ps:"Remove-Item",flagMap:{"-rf":"-Recurse -Force","-fr":"-Recurse -Force","-r":"-Recurse","-f":"-Force"},forceArgs:!0},Te={unix:"mkdir",ps:"New-Item -ItemType Directory",flagMap:{"-p":"-Force","-m":"-Mode","-v":"-Verbose"},forceArgs:!0},Ge={unix:"ls",ps:"Get-ChildItem",flagMap:{"-la":"-Force","-al":"-Force","-a":"-Force","-l":""}},ke={unix:"cp",ps:"Copy-Item",flagMap:{"-r":"-Recurse","-R":"-Recurse","-f":"-Force","-rf":"-Recurse -Force","-fr":"-Recurse -Force"},forceArgs:!0},ye={unix:"mv",ps:"Move-Item",flagMap:{},forceArgs:!0},Re={unix:"touch",ps:"New-Item -ItemType File",flagMap:{"-a":"-AccessTime","-m":"-ModifyTime","-c":"-NoCreate"},forceArgs:!0},Oe={unix:"grep",ps:"Select-String",flagMap:{"-i":"-CaseSensitive:$false","-n":"-LineNumber","-in":"-CaseSensitive:$false -LineNumber","-ni":"-CaseSensitive:$false -LineNumber","-v":"-NotMatch","-iv":"-CaseSensitive:$false -NotMatch","-vn":"-CaseSensitive:$false -LineNumber","-vni":"-CaseSensitive:$false -NotMatch -LineNumber","-q":"-Quiet","-iq":"-CaseSensitive:$false -Quiet","-qi":"-CaseSensitive:$false -Quiet","-E":"","-F":"-SimpleMatch"},forceArgs:!0},Ee={unix:"cat",ps:"Get-Content",flagMap:{},forceArgs:!0},Fe={unix:"which",ps:"Get-Command",flagMap:{},forceArgs:!0},_e={unix:"sort",ps:"Sort-Object",flagMap:{},forceArgs:!1},Le={unix:"uniq",ps:"Select-Object -Unique",flagMap:{},forceArgs:!1},je={unix:"find",ps:"Get-ChildItem -Recurse",flagMap:{"-name":"-Filter","-type":"","-delete":""},forceArgs:!0},De={unix:"pwd",ps:"Get-Location",flagMap:{},forceArgs:!1},$e={unix:"date",ps:"Get-Date",flagMap:{},forceArgs:!1},ze={unix:"clear",ps:"Clear-Host",flagMap:{},forceArgs:!1},We={unix:"ps",ps:"Get-Process",flagMap:{},forceArgs:!1},Ue={unix:"kill",ps:"Stop-Process",flagMap:{"-9":"-Force"},forceArgs:!0},qe={unix:"df",ps:"Get-PSDrive",flagMap:{"-h":""},forceArgs:!1},Ve={unix:"hostname",ps:"$env:COMPUTERNAME",flagMap:{},forceArgs:!1},He={unix:"dirname",ps:"Split-Path -Parent",flagMap:{},forceArgs:!0},Be={unix:"basename",ps:"Split-Path -Leaf",flagMap:{},forceArgs:!0},Je={unix:"tee",ps:"Tee-Object -FilePath",flagMap:{"-a":"-Append"},forceArgs:!0},Xe={unix:"tar",ps:"tar",flagMap:{"-c":"-c","-x":"-x","-f":"-f","-z":"-z","-j":"-j","-v":"-v","-t":"-t"},forceArgs:!0},Ke={unix:"curl",ps:"Invoke-WebRequest",flagMap:{"-o":"-OutFile","-O":"-OutFile","-s":"-UseBasicParsing","-L":"-MaximumRedirection","-H":"-Headers","-d":"-Body","-X":"-Method","-k":"-SkipCertificateCheck"},forceArgs:!0},Qe={unix:"wget",ps:"Invoke-WebRequest",flagMap:{"-O":"-OutFile","-o":"-OutFile","-q":"-UseBasicParsing","-c":"-Resume","-r":"-Recurse","-np":"-NoParent","-k":"-ConvertLinks"},forceArgs:!0},Ye={unix:"diff",ps:"Compare-Object",flagMap:{"-u":"-Unified","-r":"-Recurse","-i":"-CaseInsensitive","-w":"-IgnoreWhiteSpace","-B":"-IgnoreBlankLines"},forceArgs:!0},Ze={unix:"split",ps:"Split-Content",flagMap:{"-l":"-LineCount","-b":"-ByteCount","-n":"-Number"},forceArgs:!0},es={unix:"paste",ps:"Join-Object",flagMap:{"-d":"-Delimiter","-s":"-Serial"},forceArgs:!0},ss={unix:"rsync",ps:"Copy-Item",flagMap:{"-a":"-Recurse","-v":"-Verbose","-r":"-Recurse","-u":"-Force","-n":"-WhatIf","-P":"-PassThru"},forceArgs:!0},ts={unix:"chmod",ps:"icacls",flagMap:{"-R":"/T","-v":"/Q"},forceArgs:!0},rs={unix:"chown",ps:"icacls",flagMap:{"-R":"/T","-v":"/Q"},forceArgs:!0},as={unix:"ln",ps:"New-Item",flagMap:{"-s":"-ItemType SymbolicLink","-f":"-Force","-v":"-Verbose"},forceArgs:!0},ns={unix:"du",ps:"Get-ChildItem",flagMap:{"-h":"-Recurse","-s":"-Recurse","-a":"-Recurse","-c":"-Recurse"},forceArgs:!0},ls={unix:"systemctl",ps:"Get-Service",flagMap:{start:"Start-Service",stop:"Stop-Service",restart:"Restart-Service",status:"Get-Service",enable:"Set-Service -StartupType Automatic",disable:"Set-Service -StartupType Disabled",reload:"Restart-Service"},forceArgs:!0},os={unix:"less",ps:"Get-Content | Out-Host -Paging",flagMap:{"-N":"-LineNumber","-M":"","-R":""},forceArgs:!1},is={unix:"more",ps:"Get-Content | Out-Host -Paging",flagMap:{"-N":"-LineNumber","-c":"","-p":""},forceArgs:!1},cs={unix:"ping",ps:"Test-Connection",flagMap:{"-c":"-Count","-i":"-Interval","-t":"-TimeoutSeconds","-W":"-TimeoutSeconds","-s":"-BufferSize","-l":"-BufferSize"},forceArgs:!0},ps={unix:"top",ps:"Get-Process | Sort-Object CPU -Descending | Select-Object -First 20",flagMap:{"-n":"-First","-p":"-Id","-u":"-IncludeUserName"},forceArgs:!1},us={unix:"rmdir",ps:"Remove-Item -Directory",flagMap:{"-p":"-Recurse","-v":"-Verbose"},forceArgs:!0},gs={unix:"uptime",ps:"(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime",flagMap:{"-p":"-Pretty","-s":"-Since"},forceArgs:!1},ds={unix:"free",ps:"Get-Counter '\\Memory\\Available MBytes' | Select-Object -ExpandProperty CounterSamples",flagMap:{"-h":"-Human","-m":"-MB","-g":"-GB"},forceArgs:!1};var fs={unix:"netstat",ps:"Get-NetTCPConnection",flagMap:{"-t":"-State Listen","-u":"-State Listen","-l":"-State Listen","-n":"-State Listen","-a":"-State Listen","-p":"-State Listen"},forceArgs:!1},ms={unix:"ssh",ps:"ssh",flagMap:{"-p":"-Port","-i":"-IdentityFile","-X":"-X11Forwarding"},forceArgs:!0},hs={unix:"gzip",ps:"Compress-Archive",flagMap:{"-d":"-DestinationPath","-r":"-Recurse","-f":"-Force","-v":"-Verbose"},forceArgs:!1},Ms={unix:"gunzip",ps:"Expand-Archive",flagMap:{"-f":"-Force","-v":"-Verbose","-l":"-ListOnly"},forceArgs:!1},xs={unix:"jobs",ps:"Get-Job",flagMap:{"-l":"-IncludeChildJob","-p":"-Id","-r":"-State Running","-s":"-State Stopped"},forceArgs:!1},As={unix:"bg",ps:"Resume-Job",flagMap:{},forceArgs:!1},ws={unix:"fg",ps:"Receive-Job",flagMap:{},forceArgs:!1},bs={unix:"nice",ps:"Start-Process",flagMap:{"-n":"-Priority"},forceArgs:!0},Ps={unix:"nohup",ps:"Start-Process",flagMap:{"-n":"-NoNewWindow"},forceArgs:!0},vs={unix:"chgrp",ps:"icacls",flagMap:{"-R":"/T","-v":"/Q"},forceArgs:!0},Cs={unix:"umask",ps:"Get-ChildItem",flagMap:{"-S":""},forceArgs:!1},Ss={unix:"mktemp",ps:"New-TemporaryFile",flagMap:{"-d":"","-u":""},forceArgs:!1},Is={unix:"realpath",ps:"Resolve-Path",flagMap:{"-q":"-Quiet","-s":"-Relative"},forceArgs:!0},Ns={unix:"join",ps:"Join-Object",flagMap:{"-1":"-JoinProperty","-2":"-MergeProperty","-t":"-Delimiter"},forceArgs:!0},Ts={unix:"comm",ps:"Compare-Object",flagMap:{"-1":"-IncludeEqual","-2":"-IncludeEqual","-3":"-IncludeEqual"},forceArgs:!0},Gs={unix:"expand",ps:"Get-Content",flagMap:{"-t":"-TabSize","-i":"-Initial"},forceArgs:!0},ks={unix:"unexpand",ps:"Get-Content",flagMap:{"-a":"-All","-t":"-TabSize"},forceArgs:!0},ys={unix:"fold",ps:"Get-Content",flagMap:{"-b":"-Bytes","-s":"-Spaces","-w":"-Width"},forceArgs:!0},Rs={unix:"fmt",ps:"Get-Content",flagMap:{"-w":"-Width","-g":"-Goal","-p":"-Prefix"},forceArgs:!0},Os={unix:"telnet",ps:"Test-NetConnection",flagMap:{"-p":"-Port","-l":"-Local"},forceArgs:!0},Es={unix:"nc",ps:"Test-NetConnection",flagMap:{"-v":"-Verbose","-w":"-TimeoutSeconds","-l":"-Listen","-p":"-Port"},forceArgs:!0},Fs={unix:"dig",ps:"Resolve-DnsName",flagMap:{"+short":"-Type A","+trace":"-Type NS","-x":"-Type PTR"},forceArgs:!0},_s={unix:"nslookup",ps:"Resolve-DnsName",flagMap:{"-type":"-Type","-port":"-Port","-server":"-Server"},forceArgs:!0},Ls={unix:"make",ps:"make",flagMap:{"-j":"-Jobs","-f":"-File","-C":"-Directory"},forceArgs:!1},js={unix:"gcc",ps:"gcc",flagMap:{"-o":"-Output","-c":"-Compile","-g":"-Debug"},forceArgs:!0},Ds={unix:"g++",ps:"g++",flagMap:{"-o":"-o","-c":"-c","-g":"-g","-Wall":"-Wall","-std":"-std"},forceArgs:!0},H={unix:"git",ps:"git",flagMap:{clone:"clone",pull:"pull",push:"push",commit:"commit"},forceArgs:!1},$s={unix:"apt",ps:"winget",flagMap:{install:"install",remove:"uninstall",update:"upgrade",upgrade:"upgrade",search:"search",list:"list"},forceArgs:!1},zs={unix:"apt-get",ps:"winget",flagMap:{install:"install",remove:"uninstall",update:"upgrade",upgrade:"upgrade",search:"search",list:"list"},forceArgs:!1},Ws={unix:"yum",ps:"winget",flagMap:{install:"install",remove:"uninstall",update:"upgrade",upgrade:"upgrade",search:"search",list:"list"},forceArgs:!1},Us={unix:"dnf",ps:"winget",flagMap:{install:"install",remove:"uninstall",update:"upgrade",upgrade:"upgrade",search:"search",list:"list"},forceArgs:!1},qs={unix:"brew",ps:"winget",flagMap:{install:"install",uninstall:"uninstall",update:"upgrade",upgrade:"upgrade",search:"search",list:"list"},forceArgs:!1},Vs={unix:"uname",ps:"Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, TotalPhysicalMemory",flagMap:{"-a":"-a","-r":"-r","-m":"-m","-n":"-n","-p":"-p","-s":"-s"},forceArgs:!1},Hs={unix:"id",ps:"Get-Process -Id $PID | Select-Object ProcessName, Id, UserName",flagMap:{"-u":"-u","-g":"-g","-G":"-G","-n":"-n","-r":"-r"},forceArgs:!1},Bs={unix:"groups",ps:"Get-LocalGroup | Select-Object Name, Description",flagMap:{},forceArgs:!1},Js={unix:"who",ps:"Get-Process | Where-Object {$_.ProcessName -like '*explorer*' -or $_.ProcessName -like '*winlogon*'} | Select-Object ProcessName, Id, UserName",flagMap:{"-a":"-a","-b":"-b","-d":"-d","-H":"-H","-i":"-i","-l":"-l","-p":"-p","-r":"-r","-t":"-t","-u":"-u"},forceArgs:!1},Xs={unix:"w",ps:"Get-Process | Where-Object {$_.ProcessName -like '*explorer*' -or $_.ProcessName -like '*winlogon*'} | Select-Object ProcessName, Id, UserName, CPU, WorkingSet",flagMap:{hide:"-h",noheader:"-s",short:"-s",users:"-u"},forceArgs:!1},Ks={unix:"rev",ps:"Get-Content $args | ForEach-Object { [string]::Join('', ($_.ToCharArray() | Sort-Object -Descending)) }",flagMap:{},forceArgs:!1},Qs={unix:"tac",ps:"Get-Content $args | Sort-Object -Descending",flagMap:{before:"-b",regex:"-r",separator:"-s"},forceArgs:!1},Ys={unix:"column",ps:"Get-Content $args | Format-Table -AutoSize",flagMap:{separator:"-s",table:"-t",width:"-w"},forceArgs:!1},Zs={unix:"pr",ps:"Get-Content $args | Format-List",flagMap:{columns:"-c",double:"-d",formfeed:"-f",header:"-h",length:"-l",merge:"-m",number:"-n",output:"-o",page:"-p",separator:"-s",width:"-w"},forceArgs:!1},et={unix:"csplit",ps:'Get-Content $args | ForEach-Object { if ($_ -match $pattern) { $i++; Set-Content "split$i.txt" -Value $_ } }',flagMap:{prefix:"-f",digits:"-n",keep:"-k",quiet:"-q",suppress:"-s"},forceArgs:!1},st={unix:"tsort",ps:"Get-Content $args | Sort-Object",flagMap:{},forceArgs:!1},tt={unix:"shutdown",ps:"Stop-Computer",flagMap:{halt:"-h",poweroff:"-P",reboot:"-r",cancel:"-c",time:"-t"},forceArgs:!1},rt={unix:"reboot",ps:"Restart-Computer",flagMap:{force:"-f",now:"-n"},forceArgs:!1},at={unix:"halt",ps:"Stop-Computer -Force",flagMap:{force:"-f",poweroff:"-p",reboot:"-r"},forceArgs:!1},nt={unix:"poweroff",ps:"Stop-Computer -Force",flagMap:{force:"-f",halt:"-h",reboot:"-r"},forceArgs:!1},lt={unix:"useradd",ps:"New-LocalUser",flagMap:{comment:"-c",home:"-d",expire:"-e",gecos:"-g",groups:"-G",system:"-r",shell:"-s",uid:"-u"},forceArgs:!1},ot={unix:"userdel",ps:"Remove-LocalUser",flagMap:{force:"-f",remove:"-r"},forceArgs:!1},it={unix:"passwd",ps:"Set-LocalUser -Password (Read-Host -AsSecureString 'Enter new password')",flagMap:{delete:"-d",expire:"-e",force:"-f",lock:"-l",unlock:"-u"},forceArgs:!1},ct={unix:"su",ps:"Start-Process powershell -Verb RunAs",flagMap:{command:"-c",login:"-l",preserve:"-p",shell:"-s"},forceArgs:!1},pt={unix:"sudo",ps:"Start-Process powershell -Verb RunAs -ArgumentList",flagMap:{command:"-c",login:"-l",preserve:"-p",shell:"-s",user:"-u",group:"-g"},forceArgs:!0},ut={unix:"traceroute",ps:"Test-NetConnection -TraceRoute",flagMap:{"-n":"-NoResolve","-w":"-TimeoutSeconds","-q":"-Queries","-m":"-MaxHops"},forceArgs:!0},gt={unix:"ifconfig",ps:"Get-NetAdapter | Format-Table Name, Status, LinkSpeed, MacAddress -AutoSize",flagMap:{"-a":"-All","-s":"-Statistics","-u":"-Up","-d":"-Down"},forceArgs:!1},dt={unix:"pkill",ps:"Get-Process | Where-Object {$_.ProcessName -like",flagMap:{signal:"-Signal",exact:"-Exact",full:"-Full"},forceArgs:!0},ft={unix:"pgrep",ps:"Get-Process | Where-Object {$_.ProcessName -like",flagMap:{list:"-List",full:"-Full",exact:"-Exact"},forceArgs:!0},mt={unix:"killall",ps:"Get-Process | Where-Object {$_.ProcessName -eq",flagMap:{signal:"-Signal",exact:"-Exact",interactive:"-Interactive"},forceArgs:!0},ht={unix:"renice",ps:"Set-ProcessPriority",flagMap:{priority:"-Priority",pid:"-Id"},forceArgs:!0},Mt={unix:"iostat",ps:"Get-Counter '\\PhysicalDisk(*)\\% Disk Time' | Select-Object -ExpandProperty CounterSamples | Format-Table InstanceName, CookedValue -AutoSize",flagMap:{interval:"-Interval",count:"-Count",all:"-All"},forceArgs:!1},xt={unix:"vmstat",ps:"Get-Counter '\\Memory\\*' | Select-Object -ExpandProperty CounterSamples | Format-Table InstanceName, CookedValue -AutoSize",flagMap:{interval:"-Interval",count:"-Count",all:"-All"},forceArgs:!1},At={unix:"sar",ps:"Get-Counter '\\Processor(_Total)\\% Processor Time' | Select-Object -ExpandProperty CounterSamples | Format-Table InstanceName, CookedValue, Timestamp -AutoSize",flagMap:{interval:"-Interval",count:"-Count",all:"-All"},forceArgs:!1},wt={unix:"pip",ps:"pip",flagMap:{install:"install",uninstall:"uninstall",list:"list",show:"show",freeze:"freeze"},forceArgs:!1},bt={unix:"npm",ps:"npm",flagMap:{install:"install",uninstall:"uninstall",update:"update",run:"run",test:"test",build:"build"},forceArgs:!1},Pt={unix:"yarn",ps:"yarn",flagMap:{install:"install",add:"add",remove:"remove",run:"run",test:"test",build:"build"},forceArgs:!1},vt={unix:"cargo",ps:"cargo",flagMap:{build:"build",run:"run",test:"test",check:"check",clean:"clean",update:"update"},forceArgs:!1},Ct={unix:"cmake",ps:"cmake",flagMap:{build:"--build",configure:"--configure",install:"--install",test:"--test"},forceArgs:!1},St={unix:"route",ps:"Get-NetRoute | Format-Table DestinationPrefix, NextHop, RouteMetric, InterfaceAlias -AutoSize",flagMap:{"-n":"-NoResolve","-e":"-Extended","-v":"-Verbose","-A":"-AddressFamily"},forceArgs:!1},It={unix:"iwconfig",ps:"Get-NetAdapter | Where-Object {$_.InterfaceDescription -like '*Wireless*'} | Select-Object Name, InterfaceDescription, Status, LinkSpeed",flagMap:{all:"-All",up:"-Status Up",down:"-Status Down"},forceArgs:!1},Nt={unix:"iwlist",ps:"netsh wlan show networks",flagMap:{scan:"show networks",essid:"show networks",channel:"show networks"},forceArgs:!1},Tt={unix:"zip",ps:"Compress-Archive",flagMap:{r:"-Recurse",f:"-Force",u:"-Update",d:"-DestinationPath"},forceArgs:!0},Gt={unix:"unzip",ps:"Expand-Archive",flagMap:{l:"-ListOnly",o:"-Force",d:"-DestinationPath",q:"-Quiet"},forceArgs:!0},kt={unix:"lsof",ps:"Get-Process | ForEach-Object { Get-NetTCPConnection | Where-Object {$_.OwningProcess -eq $_.Id} } | Format-Table LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess -AutoSize",flagMap:{"-i":"-Internet","-p":"-Process","-u":"-User","-c":"-Command"},forceArgs:!1},yt={unix:"strace",ps:'Get-Process | ForEach-Object { Write-Host "Process: $($_.ProcessName) (PID: $($_.Id))" }',flagMap:{"-p":"-ProcessId","-e":"-Event","-o":"-Output","-f":"-Follow"},forceArgs:!0},Rt={unix:"locate",ps:"Get-ChildItem -Recurse | Where-Object {$_.Name -like $args[0]} | Select-Object FullName",flagMap:{"-i":"-CaseInsensitive","-n":"-Limit","-r":"-Regex","-q":"-Quiet"},forceArgs:!0},Ot={unix:"updatedb",ps:"Get-ChildItem -Recurse | ForEach-Object { $_.FullName } | Out-File -FilePath $env:TEMP\\locate.db -Encoding UTF8",flagMap:{"-o":"-Output","-l":"-Local","-U":"-Update","-v":"-Verbose"},forceArgs:!1},Et={unix:"tracepath",ps:"Test-NetConnection -TraceRoute -InformationLevel Detailed",flagMap:{"-n":"-NoResolve","-b":"-Bind","-m":"-MaxHops","-l":"-Local"},forceArgs:!0},Ft={unix:"mtr",ps:'Test-NetConnection -TraceRoute -InformationLevel Detailed | ForEach-Object { Write-Host "Hop $($_.Hop): $($_.Address) - $($_.ResponseTime)ms" }',flagMap:{"-n":"-NoResolve","-r":"-Report","-c":"-Count","-i":"-Interval"},forceArgs:!0},_t={unix:"bzip2",ps:"Compress-Archive -CompressionLevel Optimal",flagMap:{"-d":"-Decompress","-k":"-Keep","-f":"-Force","-v":"-Verbose"},forceArgs:!0},Lt={unix:"bunzip2",ps:"Expand-Archive",flagMap:{"-k":"-Keep","-f":"-Force","-v":"-Verbose","-t":"-Test"},forceArgs:!0},jt={unix:"wc",ps:"Measure-Object",flagMap:{"-l":"-Line","-w":"-Word","-c":"-Character","-m":"-Character","-L":"-Maximum"},forceArgs:!1},Dt={unix:"head",ps:"Get-Content | Select-Object -First",flagMap:{"-n":"-First","-c":"-TotalCount","-q":"-Quiet","-v":"-Verbose"},forceArgs:!0},$t={unix:"tail",ps:"Get-Content | Select-Object -Last",flagMap:{"-n":"-Last","-c":"-TotalCount","-f":"-Wait","-q":"-Quiet"},forceArgs:!0},zt={unix:"lsb_release",ps:"Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, WindowsBuildLabEx",flagMap:{a:"-All",d:"-Description",r:"-Release",c:"-Codename"},forceArgs:!1},Wt={unix:"dmesg",ps:"Get-WinEvent -LogName System | Where-Object {$_.TimeCreated -gt (Get-Date).AddHours(-1)} | Format-Table TimeCreated, Message -AutoSize",flagMap:{T:"-Format",r:"-Raw",k:"-Kernel",x:"-Extended"},forceArgs:!1},Ut={unix:"chroot",ps:"Set-Location",flagMap:{"-u":"-User","-g":"-Group"},forceArgs:!0},qt={unix:"stat",ps:"Get-Item | Select-Object Name, Length, LastWriteTime, Attributes",flagMap:{"-f":"-Format","-t":"-Terse","-L":"-Follow"},forceArgs:!0},Vt={unix:"awk",ps:"ForEach-Object",flagMap:{"-F":"-FieldSeparator","-v":"-Variable","-f":"-File"},forceArgs:!0},Ht={unix:"sed",ps:"-replace",flagMap:{"-n":"-NoPrint","-e":"-Expression","-f":"-File","-i":"-InPlace"},forceArgs:!0},Bt={unix:"cut",ps:"ForEach-Object",flagMap:{"-d":"-Delimiter","-f":"-Fields","-c":"-Characters"},forceArgs:!0},Jt={unix:"tr",ps:"ForEach-Object",flagMap:{"-d":"-Delete","-s":"-Squeeze","-c":"-Complement"},forceArgs:!0},Xt={unix:"iotop",ps:"Get-Process | Sort-Object IO -Descending | Select-Object -First 20",flagMap:{"-o":"-Only","-b":"-Batch","-n":"-Iterations"},forceArgs:!1},Kt={unix:"htop",ps:"Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 | Format-Table -AutoSize",flagMap:{"-d":"-Delay","-u":"-User","-p":"-Process"},forceArgs:!1},Qt={unix:"glances",ps:"Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, TotalPhysicalMemory",flagMap:{"-t":"-Time","-1":"-Once","-w":"-Web"},forceArgs:!1},Yt={unix:"nc",ps:"Test-NetConnection",flagMap:{"-l":"-Listen","-p":"-Port","-v":"-Verbose","-w":"-Timeout"},forceArgs:!0},Zt={unix:"socat",ps:"New-Object System.Net.Sockets.TcpClient",flagMap:{"-d":"-Debug","-v":"-Verbose","-t":"-Timeout"},forceArgs:!0},er={unix:"nmap",ps:"Test-NetConnection",flagMap:{"-p":"-Port","-s":"-Scan","-v":"-Verbose"},forceArgs:!0},sr={unix:"cron",ps:"Register-ScheduledJob",flagMap:{"-e":"-Edit","-l":"-List","-r":"-Remove"},forceArgs:!0},tr={unix:"crontab",ps:"Get-ScheduledJob",flagMap:{"-e":"-Edit","-l":"-List","-r":"-Remove","-u":"-User"},forceArgs:!0},rr={unix:"at",ps:"Register-ScheduledJob",flagMap:{"-f":"-FilePath","-m":"-Mail","-q":"-Queue","-t":"-Time"},forceArgs:!0},ar={unix:"atq",ps:"Get-ScheduledJob",flagMap:{"-q":"-Queue","-v":"-Verbose"},forceArgs:!1},nr={unix:"atrm",ps:"Unregister-ScheduledJob",flagMap:{"-q":"-Queue"},forceArgs:!0},lr={unix:"sysctl",ps:"Get-ItemProperty",flagMap:{"-a":"-All","-w":"-Write","-p":"-Path"},forceArgs:!0},or={unix:"modprobe",ps:"Import-Module",flagMap:{"-r":"-Remove","-l":"-List","-v":"-Verbose"},forceArgs:!0},ir={unix:"lsmod",ps:"Get-Module",flagMap:{"-v":"-Verbose"},forceArgs:!1},cr={unix:"journalctl",ps:"Get-WinEvent",flagMap:{"-f":"-Follow","-n":"-Newest","-u":"-Unit","-p":"-Priority"},forceArgs:!0},pr={unix:"logrotate",ps:"Compress-Archive",flagMap:{"-d":"-Debug","-f":"-Force","-s":"-State"},forceArgs:!0},ur={unix:"rsyslog",ps:"Write-EventLog",flagMap:{"-d":"-Debug","-f":"-Config","-n":"-NoFork"},forceArgs:!0},gr={unix:"iptables",ps:"New-NetFirewallRule",flagMap:{"-A":"-Action","-D":"-Delete","-L":"-List","-F":"-Flush"},forceArgs:!0},dr={unix:"ip6tables",ps:"New-NetFirewallRule -AddressFamily IPv6",flagMap:{"-A":"-Action","-D":"-Delete","-L":"-List","-F":"-Flush"},forceArgs:!0},fr={unix:"ufw",ps:"Set-NetFirewallProfile",flagMap:{enable:"-Enabled",disable:"-Disabled",status:"-Status",reload:"-Reload"},forceArgs:!0},mr={unix:"fail2ban",ps:"Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625}",flagMap:{start:"-Start",stop:"-Stop",status:"-Status",reload:"-Reload"},forceArgs:!0},hr={unix:"apache2ctl",ps:"Get-Service -Name Apache*",flagMap:{start:"Start-Service",stop:"Stop-Service",restart:"Restart-Service",status:"Get-Service"},forceArgs:!0},Mr={unix:"nginx",ps:"Get-Service -Name nginx",flagMap:{"-s":"-Signal","-t":"-Test","-v":"-Version","-V":"-VersionVerbose"},forceArgs:!0},xr={unix:"mysql",ps:"mysql",flagMap:{"-u":"-User","-p":"-Password","-h":"-Host","-P":"-Port"},forceArgs:!0},Ar={unix:"psql",ps:"psql",flagMap:{"-U":"-User","-h":"-Host","-p":"-Port","-d":"-Database"},forceArgs:!0},wr={unix:"redis-cli",ps:"redis-cli",flagMap:{"-h":"-Host","-p":"-Port","-a":"-Auth","-n":"-Database"},forceArgs:!0},br={unix:"docker",ps:"docker",flagMap:{run:"run",build:"build",ps:"ps",images:"images"},forceArgs:!1},Pr={unix:"kubectl",ps:"kubectl",flagMap:{get:"get",apply:"apply",delete:"delete",logs:"logs"},forceArgs:!1},vr={unix:"ansible",ps:"ansible",flagMap:{"-i":"-Inventory","-m":"-Module","-a":"-Args","-v":"-Verbose"},forceArgs:!0},Cr={unix:"terraform",ps:"terraform",flagMap:{init:"init",plan:"plan",apply:"apply",destroy:"destroy"},forceArgs:!1},Sr={unix:"packer",ps:"packer",flagMap:{build:"build",validate:"validate",inspect:"inspect",version:"version"},forceArgs:!1},B={unix:"vagrant",ps:"vagrant",flagMap:{up:"up",down:"down",halt:"halt",destroy:"destroy",ssh:"ssh",status:"status"},forceArgs:!1},J={unix:"chef",ps:"chef",flagMap:{client:"client",solo:"solo",apply:"apply",generate:"generate"},forceArgs:!0},X={unix:"puppet",ps:"puppet",flagMap:{apply:"apply",agent:"agent",master:"master",cert:"cert"},forceArgs:!0},K={unix:"salt",ps:"salt",flagMap:{minion:"minion",master:"master",key:"key",run:"run"},forceArgs:!0},Q={unix:"svn",ps:"svn",flagMap:{checkout:"checkout",update:"update",commit:"commit",status:"status",log:"log"},forceArgs:!1},Y={unix:"hg",ps:"hg",flagMap:{clone:"clone",pull:"pull",push:"push",commit:"commit",status:"status"},forceArgs:!1},Ir={unix:"pnpm",ps:"pnpm",flagMap:{install:"install",add:"add",remove:"remove",run:"run",test:"test",build:"build"},forceArgs:!1},Z=[Ne,Te,Ge,ke,ye,Re,Oe,Ee,Fe,_e,Le,je,De,$e,ze,We,Ue,qe,Ve,He,Be,Je,Xe,Ke,Qe,Ye,Ze,es,ss,ts,rs,as,ns,ls,os,is,cs,ps,us,gs,ds,fs,ms,hs,Ms,xs,As,ws,bs,Ps,vs,Cs,Ss,Is,Ns,Ts,Gs,ks,ys,Rs,Os,Es,Fs,_s,Ls,js,Ds,H,$s,zs,Ws,Us,qs,Vs,Hs,Bs,Js,Xs,Ks,Qs,Ys,Zs,et,st,tt,rt,at,nt,lt,ot,it,ct,pt,ut,gt,dt,ft,mt,ht,Mt,xt,At,wt,bt,Pt,vt,Ct,St,It,Nt,Tt,Gt,kt,yt,Rt,Ot,Et,Ft,_t,Lt,jt,Dt,$t,zt,Wt,Ut,qt,Vt,Ht,Bt,Jt,Xt,Kt,Qt,Yt,Zt,er,sr,tr,rr,ar,nr,lr,or,ir,cr,pr,ur,gr,dr,fr,mr,hr,Mr,xr,Ar,wr,br,Pr,vr,Cr,Sr,B,J,X,K,H,Q,Y,Ir,B,J,X,K,Q,Y],ee=[];var O=[...Z,...ee];function Nr(e){let r=[];for(let s=0;s<e.length;s++){let n=e[s];if(/^\d+$/.test(n)&&s+1<e.length){let t=e[s+1];if(t===">"||t===">>"||t===">&"||t===">|"||t==="<&"||t===">>&"){let a=n+t,o=1;(t===">&"||t==="<&")&&s+2<e.length&&/^\d+$/.test(e[s+2])&&(a+=e[s+2],o=2),r.push(a),s+=o;continue}}r.push(n)}return r.join(" ")}function Tr(e){let r=[];for(let s=0;s<e.length;s++){if(e[s]==="$"&&s+1<e.length&&e[s+1]==="("){let n=0,t=s+1;for(;t<e.length;t++)if(e[t]==="(")n++;else if(e[t]===")"&&(n--,n<0))break;if(t<e.length){let a=e.slice(s,t+1).join("");r.push(a),s=t;continue}}if(e[s].startsWith("$(")){let n=e[s],t=s;for(;!n.endsWith(")")&&t+1<e.length;)t++,n+=e[t];r.push(n),s=t;continue}r.push(e[s])}return r}function Gr(e){let r=[];for(let s=0;s<e.length;s++){if(e[s]==="$"&&s+1<e.length&&e[s+1].startsWith("{")){let n=e[s]+e[s+1],t=s+1,a=1;for(;a>0&&t+1<e.length;){t++;let o=e[t];n+=o;for(let i of o)i==="{"&&a++,i==="}"&&a--}r.push(n),s=t;continue}if(e[s].startsWith("${")){let n=e[s],t=s,a=1;for(let o of n)o==="{"&&a++,o==="}"&&a--;for(;a>0&&t+1<e.length;){t++;let o=e[t];n+=o;for(let i of o)i==="{"&&a++,i==="}"&&a--}r.push(n),s=t;continue}r.push(e[s])}return r}function kr(e){let r=[];for(let s=0;s<e.length;s++){if(e[s]==="<"&&s+1<e.length&&e[s+1]==="<"){let n=e[s]+e[s+1],t=s+1;t+1<e.length&&(t++,n+=e[t]),r.push(n),s=t;continue}r.push(e[s])}return r}function yr(e){let r=[];for(let s=0;s<e.length;s++){if(e[s]==="<"&&s+1<e.length&&e[s+1]==="("){let n=e[s]+e[s+1],t=s+1,a=1;for(;a>0&&t+1<e.length;){t++;let o=e[t];n+=o;for(let i of o)i==="("&&a++,i===")"&&a--}r.push(n),s=t;continue}r.push(e[s])}return r}var Rr=Nr;function x(e){let r=yr(kr(Tr(Gr(e))));return Rr(r).replace(/\$\s+\(/g,"$(").replace(/\(\s+/g,"(").replace(/\s+\)/g,")")}function T(e){if(e.includes("${"))return e;let r=e.trim();if(r.startsWith("(")||r.startsWith("{"))return e;let s=V(G(e));if(s.length===0)return e;let n=s.some(l=>l.value==="<<"),t=s.map(l=>l.value);for(let l=0;l<t.length-1;l++)if(t[l]==="<"&&t[l+1]==="<"){n||(n=!0);break}if(n)return e;let a=s.map(l=>l.value),o=s.filter(l=>l.role==="flag").map(l=>l.value),i=s.filter(l=>l.role==="arg").map(l=>l.value),w=s.find(l=>l.role==="cmd");if(!w)return e;let u=w.value;if(u==="head"||u==="tail"){let l;for(let f=1;f<a.length;f++){let h=a[f];if(/^-\d+$/.test(h)){l=parseInt(h.slice(1),10);break}if(h==="-n"&&f+1<a.length){l=parseInt(a[f+1],10);break}if(h==="-c"&&f+1<a.length){l=parseInt(a[f+1],10);break}if(/^-n\d+$/.test(h)){l=parseInt(h.slice(2),10);break}if(/^-c\d+$/.test(h)){l=parseInt(h.slice(2),10);break}}if(!l||isNaN(l))return e;let c=u==="head"?"-First":"-Last",g=s.slice(1).filter(f=>!(f.role==="flag"||f.value===String(l))).map(f=>f.value),p=`Select-Object ${c} ${l}`;return x([p,...g])}if(u==="wc"&&a.length>=2&&a[1]==="-l"){let l=a.slice(2);return x(["Measure-Object -Line",...l])}if(u==="rsync"){let l=o.includes("-a")||o.includes("-av"),c=o.includes("-v"),g=o.includes("-r");return l||g?x(["Copy-Item","-Recurse",...i]):e}if(u==="du"){let l=o.includes("-h"),c=o.includes("-s"),g=i;return x(c?["Get-ChildItem","-Recurse",...g,"|","Measure-Object","-Property","Length","-Sum"]:l?["Get-Item",...g,"|","Select-Object","Name,","@{Name='Size(MB)';Expression={[math]::Round($_.Length/1MB,2)}}"]:["Get-ChildItem","-Recurse",...g,"|","Measure-Object","-Property","Length","-Sum"])}if(u==="systemctl"&&a.length>=2){let l=a[1],c=a[2];switch(l){case"start":return x(["Start-Service",c]);case"stop":return x(["Stop-Service",c]);case"restart":return x(["Restart-Service",c]);case"status":return x(["Get-Service",c]);case"enable":return x(["Set-Service","-Name",c,"-StartupType","Automatic"]);case"disable":return x(["Set-Service","-Name",c,"-StartupType","Disabled"]);case"reload":return x(["Restart-Service",c]);default:return e}}if(u==="chmod"){let l=a[1],c=i;if(l&&/^\d{3,4}$/.test(l)){let g=l.slice(-3),p=g[0],f=g[1],h=g[2],M="";return p>="7"?M+="F":p>="6"?M+="M":p>="4"?M+="R":p>="2"?M+="W":p>="1"&&(M+="X"),x(["icacls",...c,"/grant","Everyone:"+M])}return e}if(u==="chown"){let l=a[1],c=i;if(l&&l.includes(":")){let[g,p]=l.split(":");return x(["icacls",...c,"/setowner",g])}else if(l)return x(["icacls",...c,"/setowner",l]);return e}if(u==="ln"){let l=o.includes("-s"),c=i;return x(l?["New-Item","-ItemType","SymbolicLink","-Target",c[0],"-Name",c[1]]:["New-Item","-ItemType","HardLink","-Target",c[0],"-Name",c[1]])}if(u==="sleep"&&a.length>=2){let l=a[1];if(/^\d+$/.test(l))return`Start-Sleep ${l}`}if(u==="whoami")return"$env:USERNAME";if(u==="sed"&&a.length>=2){let l=a[1],c=l.startsWith("'")||l.startsWith('"')?l.slice(1,-1):l;if(c.startsWith("s")){let g=c[1],p=c.slice(2).split(g);if(p.length>=2){let f=p[0],h=p[1],M=a.slice(2),S=`-replace '${f}','${h}'`;return x([S,...M])}}if(a.length>=3&&a[1]==="-n"){let g=a[2],f=(g.startsWith("'")||g.startsWith('"')?g.slice(1,-1):g).match(/^(\d+)p$/);if(f){let h=parseInt(f[1],10)-1;if(h>=0){let M=a.slice(3),S=`Select-Object -Index ${h}`;return x([S,...M])}}}}if(u==="awk"&&a.length>=2){let l=a[1],g=(l.startsWith("'")||l.startsWith('"')?l.slice(1,-1):l).match(/^\{\s*print\s+\$(\d+)\s*\}$/);if(g){let p=parseInt(g[1],10);if(!isNaN(p)&&p>=1){let f=p-1,h=a.slice(2),M=`ForEach-Object { $_.Split()[${f}] }`;return x([M,...h])}}}if(u==="cut"){let l,c,g=[];for(let p=1;p<a.length;p++){let f=a[p];if(f==="-d"&&p+1<a.length){l=a[p+1],p++;continue}if(f.startsWith("-d")&&f.length>2){l=f.slice(2);continue}if(f==="-f"&&p+1<a.length){let h=parseInt(a[p+1],10);isNaN(h)||(c=h),p++;continue}if(f.startsWith("-f")&&f.length>2){let h=parseInt(f.slice(2),10);isNaN(h)||(c=h);continue}g.push(f)}if(c!==void 0){let p=c-1,h=`ForEach-Object { $_.Split('${l?l.replace(/^['"]|['"]$/g,""):" "}')[${p}] }`;return x([h,...g])}}if(u==="tr"&&a.length>=3){let l=a[1],c=a[2],g=h=>h.startsWith("'")||h.startsWith('"')?h.slice(1,-1):h,p=g(l),f=g(c);if(p.length===f.length&&p.length===1){let h=`ForEach-Object { $_.Replace('${p}','${f}') }`,M=a.slice(3);return x([h,...M])}if(p.length===f.length){let h=`ForEach-Object { $_ -replace '[${p}]','${f.length===1?f:`[${f}]`}' }`,M=a.slice(3);return x([h,...M])}}if(u==="uniq"&&o.includes("-c"))return x(['Group-Object | ForEach-Object { "$($_.Count) $($_.Name)" }',...i]);if(u==="sort"&&o.includes("-n"))return x(["Sort-Object { [double]$_ }",...i]);if(u==="find"){let l,c,g=!1,p=!1;for(let M=1;M<a.length;M++){let S=a[M];if(!S.startsWith("-")){l||(l=S);continue}if(S==="-name"&&M+1<a.length){c=a[M+1],M++;continue}if(S==="-delete"){g=!0;continue}if(S==="-exec"&&M+2<a.length&&a[M+1]==="echo"){for(p=!0;M+1<a.length&&a[M+1]!==";"&&a[M+1]!=="\\;";)M++;continue}}let f=["Get-ChildItem",l!=null?l:"","-Recurse"].filter(Boolean);if(c){let M=c.replace(/^['\"]|['\"]$/g,"");f.push("-Filter",M)}let h=f.join(" ");if(g)return h+=" | Remove-Item",h;if(p)return h+=" | ForEach-Object { echo $_ }",h}if(u==="xargs"){let l=1;a[1]==="-0"&&(l=2);let g=a[l];if(!g)return e;let p=a.slice(l+1),f=["ForEach-Object {",g,...p,"$_","}"];return x(f)}if(u==="less"||u==="more"){let l=i,g=o.includes("-N")?'Get-Content | ForEach-Object { $i++; "$i`t$_" } | Out-Host -Paging':"Get-Content | Out-Host -Paging";return x([g,...l])}if(u==="ping"){let l=i[0];if(!l)return e;let c=o.includes("-c")&&a[a.indexOf("-c")+1]||"4",g=o.includes("-i")&&a[a.indexOf("-i")+1]||"1";return`Test-Connection -ComputerName ${l} -Count ${c} -Delay ${g}`}if(u==="top"){let l=o.includes("-n")&&a[a.indexOf("-n")+1]||"20",c=o.includes("-p")?a[a.indexOf("-p")+1]:void 0;return c?`Get-Process -Id ${c} | Select-Object Id,ProcessName,CPU,WorkingSet,PrivateMemorySize`:`Get-Process | Sort-Object CPU -Descending | Select-Object -First ${l} | Format-Table Id,ProcessName,CPU,WorkingSet,PrivateMemorySize -AutoSize`}if(u==="rmdir"){let l=o.includes("-p"),c=o.includes("-v"),g=i;return x(l?["Remove-Item","-Directory","-Recurse",...g]:["Remove-Item","-Directory",...g])}if(u==="uptime")return'(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime | ForEach-Object { "Uptime: $($_.Days) days, $($_.Hours) hours, $($_.Minutes) minutes" }';if(u==="free"){let l=o.includes("-h"),c=o.includes("-m");return l||c?`Get-Counter '\\Memory\\Available MBytes' | Select-Object -ExpandProperty CounterSamples | ForEach-Object { "Available Memory: $([math]::Round($_.CookedValue, 2)) MB" }`:"Get-Counter '\\Memory\\Available MBytes' | Select-Object -ExpandProperty CounterSamples | Select-Object InstanceName,CookedValue"}if(u==="nl"){let l=i;return l.length>0?`Get-Content ${l.join(" ")} | ForEach-Object { $i++; "$i $_" }`:'Get-Content | ForEach-Object { $i++; "$i $_" }'}if(u==="sudo"){let l=i;if(l.length>0){let c=l[0],g=l.slice(1);return`Start-Process powershell -Verb RunAs -ArgumentList "-Command", "${T([c,...g].join(" "))}"`}return e}if(u==="netstat"){let l=o.includes("-l")||o.includes("-a"),c=o.includes("-n");return l?"Get-NetTCPConnection -State Listen | Format-Table LocalAddress,LocalPort,RemoteAddress,RemotePort,State -AutoSize":c?"Get-NetTCPConnection | Format-Table LocalAddress,LocalPort,RemoteAddress,RemotePort,State -AutoSize":"Get-NetTCPConnection | Select-Object -First 20 | Format-Table LocalAddress,LocalPort,RemoteAddress,RemotePort,State -AutoSize"}if(u==="gzip"){let l=o.includes("-d"),c=o.includes("-r"),g=o.includes("-f"),p=i;if(l){if(p.length>0)return`Expand-Archive -Path ${p.join(" ")} -DestinationPath . -Force`}else if(p.length>0){let f=g?"-Force":"";return`Compress-Archive -Path ${p.join(" ")} -DestinationPath ${p[0]}.zip ${f}`}}if(u==="gunzip"){let l=o.includes("-f"),c=o.includes("-l"),g=i;if(c)return`Get-ChildItem ${g.join(" ")} | ForEach-Object { Write-Host "Archive: $($_.Name)" }`;if(g.length>0){let p=l?"-Force":"";return`Expand-Archive -Path ${g.join(" ")} -DestinationPath . ${p}`}}if(u==="mktemp"){let l=o.includes("-d"),c=i;return l?"New-Item -ItemType Directory -Path $env:TEMP -Name ([System.IO.Path]::GetRandomFileName())":"New-TemporaryFile"}if(u==="dig"){let l=o.includes("+short"),c=o.includes("+trace"),g=o.includes("-x"),p=i;if(l&&p.length>0)return`Resolve-DnsName ${p[0]} -Type A | Select-Object -ExpandProperty IPAddress`;if(c&&p.length>0)return`Resolve-DnsName ${p[0]} -Type NS`;if(g&&p.length>0)return`Resolve-DnsName ${p[0]} -Type PTR`;if(p.length>0)return`Resolve-DnsName ${p[0]}`}let A=[...Z,...ee].find(l=>l.unix===u);if(!A)return e;let m=o,P=i,d="";for(let l of m){let c=A.flagMap[l];if(c!==void 0)c&&(d+=" "+c);else return e}if(A.forceArgs&&P.length===0)return e;let C=l=>l.startsWith("'")||l.startsWith('"')?l.slice(1,-1):l,b=P.map(C),v=`${A.ps}${d}`.trim();return x([v,...b])}var Or=[{unix:"rm",cmd:"del",ps:"Remove-Item",bash:"rm",ash:"rm",dash:"rm",zsh:"rm",fish:"rm",ksh:"rm",tcsh:"rm",flagMap:{cmd:{"-rf":"/s /q","-fr":"/s /q","-r":"/s","-f":"/q"},ps:{"-rf":"-Recurse -Force","-fr":"-Recurse -Force","-r":"-Recurse","-f":"-Force"},bash:{"-rf":"-rf","-fr":"-fr","-r":"-r","-f":"-f"}},forceArgs:!0},{unix:"ls",cmd:"dir",ps:"Get-ChildItem",bash:"ls",ash:"ls",dash:"ls",zsh:"ls",fish:"ls",ksh:"ls",tcsh:"ls",flagMap:{cmd:{"-la":"/a","-al":"/a","-a":"/a","-l":""},ps:{"-la":"-Force","-al":"-Force","-a":"-Force","-l":""},bash:{"-la":"-la","-al":"-al","-a":"-a","-l":"-l"}}},{unix:"cp",cmd:"copy",ps:"Copy-Item",bash:"cp",ash:"cp",dash:"cp",zsh:"cp",fish:"cp",ksh:"cp",tcsh:"cp",flagMap:{cmd:{"-r":"/s","-R":"/s","-f":"/y","-rf":"/s /y","-fr":"/s /y"},ps:{"-r":"-Recurse","-R":"-Recurse","-f":"-Force","-rf":"-Recurse -Force","-fr":"-Recurse -Force"},bash:{"-r":"-r","-R":"-R","-f":"-f","-rf":"-rf","-fr":"-fr"}},forceArgs:!0},{unix:"mv",cmd:"move",ps:"Move-Item",bash:"mv",ash:"mv",dash:"mv",zsh:"mv",fish:"mv",ksh:"mv",tcsh:"mv",flagMap:{cmd:{},ps:{},bash:{}},forceArgs:!0},{unix:"mkdir",cmd:"md",ps:"New-Item -ItemType Directory",bash:"mkdir",ash:"mkdir",dash:"mkdir",zsh:"mkdir",fish:"mkdir",ksh:"mkdir",tcsh:"mkdir",flagMap:{cmd:{"-p":""},ps:{"-p":"-Force"},bash:{"-p":"-p"}}},{unix:"cat",cmd:"type",ps:"Get-Content",bash:"cat",ash:"cat",dash:"cat",zsh:"cat",fish:"cat",ksh:"cat",tcsh:"cat",flagMap:{cmd:{},ps:{},bash:{}},forceArgs:!0},{unix:"grep",cmd:"findstr",ps:"Select-String",bash:"grep",ash:"grep",dash:"grep",zsh:"grep",fish:"grep",ksh:"grep",tcsh:"grep",flagMap:{cmd:{"-i":"/i","-n":"/n","-v":"/v"},ps:{"-i":"-CaseSensitive:$false","-n":"-LineNumber","-v":"-NotMatch"},bash:{"-i":"-i","-n":"-n","-v":"-v"}},forceArgs:!0},{unix:"pwd",cmd:"cd",ps:"Get-Location",bash:"pwd",ash:"pwd",dash:"pwd",zsh:"pwd",fish:"pwd",ksh:"pwd",tcsh:"pwd",flagMap:{cmd:{},ps:{},bash:{}},forceArgs:!1},{unix:"clear",cmd:"cls",ps:"Clear-Host",bash:"clear",ash:"clear",dash:"clear",zsh:"clear",fish:"clear",ksh:"clear",tcsh:"clear",flagMap:{cmd:{},ps:{},bash:{}},forceArgs:!1},{unix:"whoami",cmd:"echo %USERNAME%",ps:"$env:USERNAME",bash:"whoami",ash:"whoami",dash:"whoami",zsh:"whoami",fish:"whoami",ksh:"whoami",tcsh:"whoami",flagMap:{cmd:{},ps:{},bash:{}},forceArgs:!1},{unix:"hostname",cmd:"echo %COMPUTERNAME%",ps:"$env:COMPUTERNAME",bash:"hostname",ash:"hostname",dash:"hostname",zsh:"hostname",fish:"hostname",ksh:"hostname",tcsh:"hostname",flagMap:{cmd:{},ps:{}},forceArgs:!1},{unix:"echo",cmd:"echo",ps:"Write-Host",bash:"echo",ash:"echo",dash:"echo",zsh:"echo",fish:"echo",ksh:"echo",tcsh:"echo",flagMap:{cmd:{},ps:{}},forceArgs:!1},{unix:"sleep",cmd:"timeout",ps:"Start-Sleep",bash:"sleep",ash:"sleep",dash:"sleep",zsh:"sleep",fish:"sleep",ksh:"sleep",tcsh:"sleep",flagMap:{cmd:{},ps:{}},forceArgs:!0},{unix:"ps",cmd:"tasklist",ps:"Get-Process",bash:"ps",ash:"ps",dash:"ps",zsh:"ps",fish:"ps",ksh:"ps",tcsh:"ps",flagMap:{cmd:{},ps:{}},forceArgs:!1},{unix:"kill",cmd:"taskkill",ps:"Stop-Process",bash:"kill",ash:"kill",dash:"kill",zsh:"kill",fish:"kill",ksh:"kill",tcsh:"kill",flagMap:{cmd:{"-9":"/f"},ps:{"-9":"-Force"}},forceArgs:!0},{unix:"wc",cmd:'find /c /v ""',ps:"Measure-Object",bash:"wc",ash:"wc",dash:"wc",zsh:"wc",fish:"wc",ksh:"wc",tcsh:"wc",flagMap:{cmd:{"-l":"/c","-w":"/c","-c":"/c"},ps:{"-l":"-Line","-w":"-Word","-c":"-Character"}},forceArgs:!1},{unix:"head",cmd:'powershell -Command "Get-Content $args | Select-Object -First 10"',ps:"Get-Content | Select-Object -First",bash:"head",ash:"head",dash:"head",zsh:"head",fish:"head",ksh:"head",tcsh:"head",flagMap:{cmd:{},ps:{"-n":"-First","-c":"-TotalCount"}},forceArgs:!0},{unix:"tail",cmd:'powershell -Command "Get-Content $args | Select-Object -Last 10"',ps:"Get-Content | Select-Object -Last",bash:"tail",ash:"tail",dash:"tail",zsh:"tail",fish:"tail",ksh:"tail",tcsh:"tail",flagMap:{cmd:{},ps:{"-n":"-Last","-c":"-TotalCount","-f":"-Wait"}},forceArgs:!0},{unix:"ifconfig",cmd:"ipconfig",ps:"Get-NetAdapter | Format-Table Name, Status, LinkSpeed, MacAddress -AutoSize",bash:"ifconfig",ash:"ifconfig",dash:"ifconfig",zsh:"ifconfig",fish:"ifconfig",ksh:"ifconfig",tcsh:"ifconfig",flagMap:{cmd:{"-a":"/all"},ps:{"-a":"-All","-s":"-Statistics"}},forceArgs:!1},{unix:"route",cmd:"route print",ps:"Get-NetRoute | Format-Table DestinationPrefix, NextHop, RouteMetric, InterfaceAlias -AutoSize",bash:"route",ash:"route",dash:"route",zsh:"route",fish:"route",ksh:"route",tcsh:"route",flagMap:{cmd:{},ps:{"-n":"-NoResolve","-e":"-Extended"}},forceArgs:!1},{unix:"traceroute",cmd:"tracert",ps:"Test-NetConnection -TraceRoute",bash:"traceroute",ash:"traceroute",dash:"traceroute",zsh:"traceroute",fish:"traceroute",ksh:"traceroute",tcsh:"traceroute",flagMap:{cmd:{"-n":"-d","-w":"-w"},ps:{"-n":"-NoResolve","-w":"-TimeoutSeconds"}},forceArgs:!0},{unix:"lsof",cmd:"netstat -ano",ps:"Get-Process | ForEach-Object { Get-NetTCPConnection | Where-Object {$_.OwningProcess -eq $_.Id} } | Format-Table LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess -AutoSize",bash:"lsof",ash:"lsof",dash:"lsof",zsh:"lsof",fish:"lsof",ksh:"lsof",tcsh:"lsof",flagMap:{cmd:{},ps:{"-i":"-Internet","-p":"-Process"}},forceArgs:!1},{unix:"locate",cmd:"dir /s /b",ps:"Get-ChildItem -Recurse | Where-Object {$_.Name -like $args[0]} | Select-Object FullName",bash:"locate",ash:"locate",dash:"locate",zsh:"locate",fish:"locate",ksh:"locate",tcsh:"locate",flagMap:{cmd:{},ps:{"-i":"-CaseInsensitive","-n":"-Limit"}},forceArgs:!0},{unix:"bzip2",cmd:'powershell -Command "Compress-Archive -Path $args[0] -DestinationPath $args[0].zip -CompressionLevel Optimal"',ps:"Compress-Archive -CompressionLevel Optimal",bash:"bzip2",ash:"bzip2",dash:"bzip2",zsh:"bzip2",fish:"bzip2",ksh:"bzip2",tcsh:"bzip2",flagMap:{cmd:{},ps:{"-d":"-Decompress","-k":"-Keep","-f":"-Force"}},forceArgs:!0},{unix:"stat",cmd:"dir",ps:"Get-Item | Select-Object Name, Length, LastWriteTime, Attributes",bash:"stat",ash:"stat",dash:"stat",zsh:"stat",fish:"stat",ksh:"stat",tcsh:"stat",flagMap:{cmd:{},ps:{"-f":"-Format","-t":"-Terse"}},forceArgs:!0},{unix:"awk",cmd:'powershell -Command "ForEach-Object { $_.Split() }"',ps:"ForEach-Object",bash:"awk",ash:"awk",dash:"awk",zsh:"awk",fish:"awk",ksh:"awk",tcsh:"awk",flagMap:{cmd:{},ps:{"-F":"-FieldSeparator","-v":"-Variable"}},forceArgs:!0},{unix:"sed",cmd:'powershell -Command "-replace"',ps:"-replace",bash:"sed",ash:"sed",dash:"sed",zsh:"sed",fish:"sed",ksh:"sed",tcsh:"sed",flagMap:{cmd:{},ps:{"-n":"-NoPrint","-e":"-Expression"}},forceArgs:!0},{unix:"cut",cmd:'powershell -Command "ForEach-Object { $_.Split()[0] }"',ps:"ForEach-Object",bash:"cut",ash:"cut",dash:"cut",zsh:"cut",fish:"cut",ksh:"cut",tcsh:"cut",flagMap:{cmd:{},ps:{"-d":"-Delimiter","-f":"-Fields"}},forceArgs:!0},{unix:"tr",cmd:`powershell -Command "ForEach-Object { $_.Replace('a','b') }"`,ps:"ForEach-Object",bash:"tr",ash:"tr",dash:"tr",zsh:"tr",fish:"tr",ksh:"tr",tcsh:"tr",flagMap:{cmd:{},ps:{"-d":"-Delete","-s":"-Squeeze"}},forceArgs:!0},{unix:"htop",cmd:"tasklist",ps:"Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 | Format-Table -AutoSize",bash:"htop",ash:"htop",dash:"htop",zsh:"htop",fish:"htop",ksh:"htop",tcsh:"htop",flagMap:{cmd:{},ps:{"-d":"-Delay","-u":"-User"}},forceArgs:!1},{unix:"nmap",cmd:'powershell -Command "Test-NetConnection"',ps:"Test-NetConnection",bash:"nmap",ash:"nmap",dash:"nmap",zsh:"nmap",fish:"nmap",ksh:"nmap",tcsh:"nmap",flagMap:{cmd:{},ps:{"-p":"-Port","-s":"-Scan"}},forceArgs:!0},{unix:"cron",cmd:"schtasks",ps:"Register-ScheduledJob",bash:"cron",ash:"cron",dash:"cron",zsh:"cron",fish:"cron",ksh:"cron",tcsh:"cron",flagMap:{cmd:{},ps:{"-e":"-Edit","-l":"-List"}},forceArgs:!0},{unix:"crontab",cmd:"schtasks /query",ps:"Get-ScheduledJob",bash:"crontab",ash:"crontab",dash:"crontab",zsh:"crontab",fish:"crontab",ksh:"crontab",tcsh:"crontab",flagMap:{cmd:{},ps:{"-e":"-Edit","-l":"-List"}},forceArgs:!0},{unix:"at",cmd:"schtasks /create",ps:"Register-ScheduledJob",bash:"at",ash:"at",dash:"at",zsh:"at",fish:"at",ksh:"at",tcsh:"at",flagMap:{cmd:{},ps:{"-f":"-FilePath","-t":"-Time"}},forceArgs:!0},{unix:"sysctl",cmd:"reg query",ps:"Get-ItemProperty",bash:"sysctl",ash:"sysctl",dash:"sysctl",zsh:"sysctl",fish:"sysctl",ksh:"sysctl",tcsh:"sysctl",flagMap:{cmd:{},ps:{"-a":"-All","-w":"-Write"}},forceArgs:!0},{unix:"iptables",cmd:"netsh advfirewall firewall",ps:"New-NetFirewallRule",bash:"iptables",ash:"iptables",dash:"iptables",zsh:"iptables",fish:"iptables",ksh:"iptables",tcsh:"iptables",flagMap:{cmd:{},ps:{"-A":"-Action","-L":"-List"}},forceArgs:!0},{unix:"ufw",cmd:"netsh advfirewall set",ps:"Set-NetFirewallProfile",bash:"ufw",ash:"ufw",dash:"ufw",zsh:"ufw",fish:"ufw",ksh:"ufw",tcsh:"ufw",flagMap:{cmd:{},ps:{enable:"-Enabled",disable:"-Disabled"}},forceArgs:!0},{unix:"apache2ctl",cmd:"sc",ps:"Get-Service -Name Apache*",bash:"apache2ctl",ash:"apache2ctl",dash:"apache2ctl",zsh:"apache2ctl",fish:"apache2ctl",ksh:"apache2ctl",tcsh:"apache2ctl",flagMap:{cmd:{},ps:{start:"Start-Service",stop:"Stop-Service",status:"Get-Service"}},forceArgs:!0},{unix:"nginx",cmd:"sc",ps:"Get-Service -Name nginx",bash:"nginx",ash:"nginx",dash:"nginx",zsh:"nginx",fish:"nginx",ksh:"nginx",tcsh:"nginx",flagMap:{cmd:{},ps:{"-s":"-Signal","-t":"-Test"}},forceArgs:!0},{unix:"mysql",cmd:"mysql",ps:"mysql",bash:"mysql",ash:"mysql",dash:"mysql",zsh:"mysql",fish:"mysql",ksh:"mysql",tcsh:"mysql",flagMap:{cmd:{},ps:{"-u":"-User","-p":"-Password","-h":"-Host"}},forceArgs:!0},{unix:"psql",cmd:"psql",ps:"psql",bash:"psql",ash:"psql",dash:"psql",zsh:"psql",fish:"psql",ksh:"psql",tcsh:"psql",flagMap:{cmd:{},ps:{"-U":"-User","-h":"-Host","-d":"-Database"}},forceArgs:!0},{unix:"docker",cmd:"docker",ps:"docker",bash:"docker",ash:"docker",dash:"docker",zsh:"docker",fish:"docker",ksh:"docker",tcsh:"docker",flagMap:{cmd:{},ps:{run:"run",build:"build",ps:"ps"}},forceArgs:!1},{unix:"kubectl",cmd:"kubectl",ps:"kubectl",bash:"kubectl",ash:"kubectl",dash:"kubectl",zsh:"kubectl",fish:"kubectl",ksh:"kubectl",tcsh:"kubectl",flagMap:{cmd:{},ps:{get:"get",apply:"apply",delete:"delete"}},forceArgs:!1},{unix:"ansible",cmd:"ansible",ps:"ansible",bash:"ansible",ash:"ansible",dash:"ansible",zsh:"ansible",fish:"ansible",ksh:"ansible",tcsh:"ansible",flagMap:{cmd:{},ps:{"-i":"-Inventory","-m":"-Module","-a":"-Args"}},forceArgs:!0},{unix:"terraform",cmd:"terraform",ps:"terraform",bash:"terraform",ash:"terraform",dash:"terraform",zsh:"terraform",fish:"terraform",ksh:"terraform",tcsh:"terraform",flagMap:{cmd:{},ps:{init:"init",plan:"plan",apply:"apply"}},forceArgs:!1},{unix:"vagrant",cmd:"vagrant",ps:"vagrant",bash:"vagrant",ash:"vagrant",dash:"vagrant",zsh:"vagrant",fish:"vagrant",ksh:"vagrant",tcsh:"vagrant",flagMap:{cmd:{},ps:{up:"up",down:"down",halt:"halt",destroy:"destroy",ssh:"ssh",status:"status"}},forceArgs:!1},{unix:"chef",cmd:"chef",ps:"chef",bash:"chef",ash:"chef",dash:"chef",zsh:"chef",fish:"chef",ksh:"chef",tcs