forked from pixijs/pixijs
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cli.js.map
1 lines (1 loc) · 78 KB
/
cli.js.map
1
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/src/cli/util.ts","webpack:///./app/node_modules/chalk/index.js","webpack:///./app/src/cli/open-desktop.ts","webpack:///./app/src/cli/load-commands.ts","webpack:///./app/node_modules/color-convert/conversions.js","webpack:///./app/src/lib/remote-parsing.ts","webpack:///external \"path\"","webpack:///./app/src/cli/commands/open.ts","webpack:///./app/src/cli/commands/help.ts","webpack:///external \"child_process\"","webpack:///external \"url\"","webpack:///external \"querystring\"","webpack:///./app/src/cli/commands/clone.ts","webpack:///./app/src/cli/commands sync ^\\.\\/.*\\.ts$","webpack:///./app/node_modules/ansi-regex/index.js","webpack:///./app/node_modules/strip-ansi/index.js","webpack:///./app/node_modules/chalk/templates.js","webpack:///./app/node_modules/has-flag/index.js","webpack:///external \"os\"","webpack:///./app/node_modules/supports-color/index.js","webpack:///./app/node_modules/color-convert/route.js","webpack:///./app/node_modules/color-name/index.js","webpack:///./app/node_modules/color-convert/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./app/node_modules/ansi-styles/index.js","webpack:///./app/node_modules/escape-string-regexp/index.js","webpack:///./app/node_modules/mri/lib/index.js","webpack:///./app/src/cli/main.ts"],"names":[],"mappings":"0BACA,cAMA,IACA,iBAGA,mBACA,CACA,IACA,aAIA,mCAGA,aAGA,OACA,OAIA,OAzBA,YA4BA,MAGA,uBACA,GACA,kCACA,CACA,gBACA,cAGA,OAGA,iBACA,sCAAiD,CACjD,UAGA,iBACA,YACA,qBAA2B,UAA0B,UACrD,YAAiC,CAAe,QAChD,EAEA,aADA,QAIA,mBAAsD,wCAA+D,SAGrH,MAIA,4CC/B+B,aAC7B,MAAM,GAAyB,MAAM,EAAM,GAAG,QAAQ,KACtD,OAAK,KACH,UAAI,QAAe,OACjB,MAAM,GAAkB,KACxB,OACE,SAEH,OAEH,GACD,Q,kDA/CD,cAWa,eAAqB,MAAK,wBAC9B,gBACR,SAFsC,EAAvC,iBAIa,kBACX,KACE,CADE,KAAO,OAGT,MAEH,OAED,aAA2B,WACzB,MAAM,GACN,SAAK,KAAa,QAChB,IAAI,GACJ,OAAI,QAAe,OACjB,CACA,UAAM,GAA4B,KAAe,KACjD,UAAU,IAAI,OAAO,EACtB,EACD,WACD,MACF,oBCjCD,aAgBA,eACA,MAGA,qBACA,+BACA,wCACA,UAEA,aAGA,+CACA,SACA,SAEA,6BACA,uBACA,4CACA,UAEA,4BACA,mCAEA,uBAEA,gBACA,QAEA,GACA,OAIA,CAmEA,iBACA,mBACA,kBACA,UAEA,IACA,YAEA,iBAEA,KA4BA,uCA3BA,CACA,mBACA,UACA,KACA,QACA,GACA,OAGA,sCACA,CACA,mBACA,UACA,OACA,QACA,GACA,SAIA,wCAIA,aAEA,cAGA,YAEA,SACA,cACA,uBAEA,SACA,YAGA,MAEA,cAAiB,EAAa,IAC9B,WAIA,sCACA,sBAMA,mBACA,aACA,qBAGA,wCAIA,iDAKA,8BAAiC,OAAW,KAAI,MAIhD,IAGA,aADA,SAGA,eACA,WAGA,iDAGA,qCACA,YAEA,cAAgB,MAAoB,OACpC,+BAA6C,UAC7C,kBAGA,6BACA,eA3NA,QACA,QAEA,QAEA,uDAGA,oCAGA,sBAEA,+CAqCA,YAEA,sBACA,8CAEA,UACA,MACA,SACA,qEACA,SAEA,GAEA,UACA,MACA,wCACA,UACA,GAEA,iDACA,mCACA,QAIA,cACA,MACA,cACA,uBACA,qCACA,aACA,CACA,qBACA,sBAEA,yEACA,SACA,CAEA,IAEA,qDACA,2CACA,MACA,OAGA,iDACA,QACA,MACA,cACA,uBACA,uCACA,aACA,CACA,uBACA,wBAEA,yEACA,SACA,CAEA,GAEA,qCAA8C,KA2G9C,uCAEA,UAAyB,IACzB,0BACA,oBAAwC,uFCnOxC,aAEA,E,YAAgB,SAAY,EAAc,GACxC,MAAM,GAAG,iBAAQ,QAGjB,kBAEA,0BAKE,uBAAO,EAAa,MAAM,MAAO,CAAC,KAAe,WAAM,CAQ1D,uCCamB,aAClB,OAAO,OAA0B,KAAlB,CAChB,wDAKY,WAAsB,GAEnC,IAAK,KAAM,KAAY,gBAAvB,QACE,MAAM,GACF,KAAC,EACH,SAEF,mBAAS,EACV,O,kBChDD,CAqKA,eACA,CACA,mBACA,eACA,eAEA,2BAoVA,kCAlcA,WADA,QAtDA,SACA,OACA,UACA,sBAEA,SAEA,gBACA,MAAO,kBACP,YAAO,kBACP,YAAO,kBACP,YAAO,kBACP,aAAQ,kBACR,aAAO,kBACP,YAAO,kBACP,YAAO,kBACP,YAAO,mBACP,iBAAW,mBACX,oBAAU,mBACV,oBAAW,mBACX,iBAAO,2BACP,aAAS,+BACT,cAAQ,mBAGR,UACA,OACA,+BACA,kBACA,uBAGA,gDACA,uBAGA,oEACA,yBAGA,oDACA,gBACA,mBACA,qBACA,8CACA,+CACA,SACA,CAEA,qBACA,IAOA,GACA,EAEA,SATA,WACA,WACA,4BAGA,UAKA,SACE,EACF,SACE,OACF,WACE,OACF,aAGA,iBAEA,KACA,SAGA,aAEA,IACA,MACE,EACF,SAEA,QAGA,gBACA,QAEA,qBACA,IAOA,GACA,EAEA,MATA,OACA,OACA,KACA,WACA,WACA,aAKA,MAEA,YAGA,GACA,QACE,EACF,SACE,OACF,WACE,OACF,aAGA,iBAEA,KACA,SAGA,mBAEA,GACA,SAEA,qBACA,SACA,OACA,OACA,kBACA,eAEA,6BAEA,iBACA,QAEA,sBACA,IAIA,GACA,EACA,EAEA,SAPA,WACA,WACA,uBAMA,sBACA,mBACA,mBAEA,qBACA,MAIA,EASA,yBACA,OACA,KACA,KAGA,YAGA,KAFA,gBAGA,+BACA,OAGA,OAGA,OACA,MACA,IAEA,IAGA,CACA,UAEA,yBACA,OACA,OAEA,qBACA,YACA,WACA,WAGA,uCACA,yCACA,yCAEA,4BACA,0BACA,0BAEA,2BACA,QAEA,qBACA,IAKA,GACA,EAEA,UAPA,WACA,OACA,OACA,aAKA,UACA,OAEA,wCACA,oCACA,oCAEA,YACA,UACA,YAEA,KACA,SAEA,qBACA,IAIA,GACA,EACA,EACA,EAEA,SARA,WACA,WACA,OAOA,cACA,MAGA,UACA,QAEA,SAGA,MAEA,aACA,aAAgB,EAAO,IACvB,gBACA,GACA,KAEA,IACA,KAGA,MACA,QACG,UAEA,QACH,QAKA,yBAGA,MACA,UAEA,qBACA,IAMA,GAEA,MAPA,UACA,WACA,IACA,UACA,eAIA,YACA,cACA,YACA,wBAEA,cACA,QAEA,qBACA,YACA,UACA,WACA,WAEA,MACA,cACA,gBACA,mBACA,gBAGA,IACA,KACA,QACA,KACA,QACA,KACA,QACA,KACA,QACA,KACA,QACA,KAEA,gBAEA,qBACA,IAKA,GACA,EAEA,MAPA,UACA,WACA,UACA,eAKA,UACA,SACA,cACA,SACA,KAEA,WACA,MAEA,EACA,qBACA,IAKA,GACA,EACA,EAGA,SATA,WACA,WACA,MACA,IAOA,MACA,KAGA,UACA,OACA,MAEA,MACA,aAGA,YAEA,QACA,GACA,EACA,EACA,UACA,YACA,UAAgB,IAAO,IAAQ,IAC/B,aAAgB,IAAO,IAAQ,IAC/B,aAAiB,IAAO,IAAO,IAC/B,aAAiB,IAAO,IAAO,IAC/B,aAAgB,IAAQ,IAAO,IAC/B,aAAgB,IAAQ,IAGxB,wBACA,QAEA,sBACA,IAKA,GACA,EAEA,SAPA,WACA,WACA,WACA,sBAKA,mBACA,mBAEA,qBACA,QAEA,qBACA,IAIA,GACA,EAEA,SANA,WACA,WACA,iCAKA,4BACA,0BAGA,UACA,4BACA,KAEA,UACA,4BACA,KAEA,UACA,4BACA,KAEA,mBACA,cACA,cAEA,gBACA,QAEA,qBACA,IAIA,GACA,EAEA,MANA,OACA,OACA,aAKA,UACA,OAEA,wCACA,oCACA,oCAEA,YACA,UACA,YAEA,KACA,SAEA,qBACA,IAIA,GACA,EAEA,MANA,OACA,OACA,YAKA,QACA,YAEA,cACA,SACA,SACA,mCACA,+BACA,+BAEA,SACA,UACA,OAEA,QACA,SAEA,qBACA,IAIA,GACA,EAEA,MANA,OACA,OACA,iBAKA,uBAGA,SAGA,qBAEA,KACA,SAEA,qBACA,IAIA,GACA,EAEA,MANA,OACA,OACA,YAKA,qBACA,gBAEA,OACA,SAEA,wBACA,SACA,OACA,OACA,8CAEA,YAEA,IACA,YAGA,UACA,cACA,YACA,MAEA,MAKA,MAJA,YAGA,OAGA,wBAGA,oCACA,KAEA,yBACA,SACA,OACA,OAIA,aACA,YACA,KAGA,GACA,MAGA,sBAGA,UACA,QACA,eACA,aAEA,WACA,UAEA,wBACA,SAGA,YACA,WACA,WAGA,OAEA,aAGA,cACA,kBACA,gBACA,mBAEA,uBACA,SAEA,yBAEA,WACA,kBACA,QACA,OAEA,IAEA,MACA,KACA,kBACA,wBAEA,kBACA,SAEA,qBACA,uBACA,oBACA,IAEA,8BACA,yCACA,WAEA,qBACA,4BACA,+BACA,cAGA,WAEA,GACA,+CACA,OACA,IAAG,QAGH,sBACA,UAKA,CAJA,UACA,SAEA,QAGA,qBACA,IAOA,GAEA,SARA,WACA,WACA,QACA,cACA,YACA,aAIA,OAEA,KAGA,IACA,KAEA,EACA,cAEA,EACA,SAEA,iBAGA,KACA,KAEA,eACA,QAEA,qBACA,YACA,WACA,MACA,IAEA,WACA,KAEA,WAGA,KACA,kBAGA,kBACA,QAEA,qBACA,YACA,WAEA,MACA,MAEA,QACA,gBAGA,kBACA,QAEA,qBACA,YACA,WACA,WAEA,OACA,wBAGA,kBACA,KACA,YACA,IACA,MAEA,SACA,UACA,QAAe,IAAa,UAAa,EACzC,UACA,KAAe,UAAa,OAAa,EACzC,UACA,QAAe,OAAa,IAAa,KACzC,UACA,QAAe,IAAa,UAAa,EACzC,UACA,KAAe,UAAa,OAAa,EACzC,MACA,aAAe,OAAa,IAG5B,gBAEA,OACA,CACA,eACA,eAEA,iBAEA,qBACA,YACA,WAEA,WACA,OAEA,QACA,SAGA,iBACA,QAEA,qBACA,YACA,WAEA,cACA,OAEA,cACA,UAEA,YACA,cAGA,mBACA,QAEA,qBACA,YACA,WACA,WACA,2BACA,YAEA,qBACA,YACA,WACA,MACA,MACA,MAEA,QACA,gBAGA,kBACA,QAEA,uBACA,0CACA,mBAEA,uBACA,0CACA,mBAEA,sBACA,sCACA,iBAEA,iCACA,cACA,KAEA,sBACA,gBACA,KAEA,uBACA,gBACA,KAEA,sBACA,eACA,IAEA,sBACA,OACA,qCAEA,mBACA,yCACA,WAEA,sBACA,wBACA,SACA,0CC9yB4B,aAC1B,KAAK,KAAM,CAAE,WAAqB,aAChC,MAAM,GAAS,EACf,YACE,GAGF,cAAM,GAAW,EACjB,GAAM,EAAQ,EACd,GAAM,EAAO,EACb,GACE,WAAO,CAAE,WAAU,WAAU,QAEhC,OAED,OACD,4CArCD,WACA,KAAM,GAAsE,CAExE,UACA,QAAkB,+DAGlB,UACA,MAAkB,4CAGlB,UACA,MAAkB,6CAGlB,UACA,MAIJ,sDACA,EAwBA,cACA,E,0BACE,WAEA,MAAM,GAIN,KAAI,KACF,MAAM,CAAE,QAAO,OACf,iBACE,WAAO,CAAE,QAAO,OAEnB,WAED,MAAM,GAAS,EAAI,MACnB,QAAsB,CAAlB,KAAO,QAAmC,CAAnB,GAAO,GAAG,QAAiC,CAAnB,GAAO,GAAG,OAC3D,MAAM,GAAQ,EACd,GAAM,EAAO,EACb,SAAO,CAAE,QAAO,OAAM,SACvB,KAED,OACD,oBC7FD,kB,yBCAA,uBACA,OAGA,OACA,OAEA,GAAM,EACJ,SACA,sBAAS,CACT,sBACA,+CAAM,CAEF,MACA,mBACA,0CACA,SAGJ,sBAAQ,CAAE,EAAI,KACZ,IAEE,GAIF,cAHE,iBAIA,IADE,IAAY,uBACN,IAEJ,oDADF,UACW,UAAM,KAA4B,YAAvB,GACpB,KAEL,sCACC,MAAM,GAAiB,EAAK,QAAQ,QACpC,SAAY,mBAAmD,qBAC/D,KACD,cACF,CA9B6B,GAgChC,EAAS,2BCvCT,aAmBS,YACP,SAAQ,IAAI,UAAM,UAClB,mBAAM,GACN,OAAK,KAAM,KAAe,QAAO,KAAK,EAAZ,UACxB,MAAM,GAAU,EAChB,cAAM,KAAK,CAAC,UAAM,KAAK,EAAQ,SAAU,EAC1C,aACD,GACA,sBACE,aAAS,UACP,oBAAe,UAAM,KAAiB,YACvC,GAEJ,mCAEuC,eACtC,IACE,GAIF,eAJc,6BAAyB,UAAM,KAAK,IAAmB,YACnE,QACA,gBAEU,OAAG,UAAM,KAAc,aAAI,EAAe,OACtD,IAAI,EACF,YAAK,KAAM,KAAS,GAClB,gBAAQ,IAAI,UAAM,KAAoB,UAAf,CAG3B,aACA,WAAc,MAAQ,EAAQ,YAAY,MAAM,KAChD,WAAQ,IAAI,UAEV,oBAEF,YAAM,CAAE,UAEN,sBAAQ,IAAI,UAAM,UAClB,4BACE,OAAY,QACT,IAAI,KAAM,GAAW,OACrB,IAAI,CAAc,QAAY,CAC5B,GAAY,IAAI,EAAO,SAAW,KAChC,IAAI,EADP,iBAEG,IAAI,KAAK,UAAM,KAAU,SACzB,KAAK,UAAM,KAAK,OACnB,EAAO,YACP,UAAW,SAAI,UAAM,UAAU,EAAY,KAInD,SAAI,GAAQ,EACV,iBAAQ,IAAI,UAAM,UAClB,8BACE,EAAK,IAAI,KAAO,CACd,CAAC,EAAI,SAAW,UAAM,KAAO,EAA7B,SAAoC,KAAK,EAAI,MAC7C,EAAI,SAAW,UAAM,KAAK,cAAgB,GAC1C,EAAI,YACJ,UAAW,SAAI,UAAM,UAAU,EAAS,KAI/C,mBA7ED,OAEA,OAEA,GAAM,EACJ,SACA,6BACA,2CAAQ,CAAE,EAAI,KAEV,GAAiB,IAAS,EAE1B,aAEH,GAT6B,GAWhC,EAAS,uBCjBT,kB,8BCAA,kB,oBCAA,kB,gCCAA,uBACA,QAEA,QACA,OAOA,GAAM,EACJ,SACA,+BACA,0BAAM,CAEF,MACA,WACA,wBACA,uDAGJ,mBACE,QACE,MACA,iBAAS,CACT,iBAGJ,iDAAQ,CAAE,EAAI,IAAW,UACvB,IACE,QAAM,IAAI,GAAJ,aAER,kCACE,MAAM,GAAI,GAAI,GACd,SACD,UAHD,CAGS,QAEP,GAAyC,sBAA9B,CACZ,EACD,MAAM,GAA0B,YAApB,KAAwB,EAAY,UAC9C,CACA,UACF,KACD,cAjC6B,GAmChC,EAAS,2BCvCT,aACA,OACA,OACA,KACA,SACA,aACA,OACA,eACA,0CACA,MAEA,aADA,oBAEA,CACA,SApBA,MACA,cACA,eACA,cACA,GAiBA,iBACA,eACA,SACA,YACA,YACA,K,gBC1BA,aAEA,cAMA,CACA,wJCTA,aACA,cAEA,mECFA,aAkBA,aACA,6CACA,qDAGA,OACA,UAEA,eACA,SACA,oBACA,eAEA,YACA,YACA,WACG,qBACH,0CAEA,8BAA6D,2CAAoB,gBAIjF,MACA,SAEA,aACA,aAEA,UACA,UAEA,yBACA,WAEA,WACA,eACA,eACA,UACA,aAEA,IAEA,CACA,SAEA,eACA,SAEA,YACA,yBACA,sCAIA,MACA,2BACA,+BACA,MACA,wBAA4C,yBAG5C,MACA,2BAEA,MAEA,IAGA,CACA,iBAxFA,yIACA,mCACA,qCAEA,oDACA,MACA,WACA,WACA,WACA,WACA,WACA,aACA,YACA,WACA,aACA,UA2EA,iBACA,SACA,KACA,SAGA,iCACA,CACA,YACG,gBACH,gBACA,MACA,yBACA,mBAAgB,iBAChB,MAAG,WACH,IACA,6BAGA,qEACA,QACA,KACA,KACA,QAEA,OAEA,iBAEA,gBACA,8CAAsD,QAAc,oBAAkB,kBACtF,oBACA,SAEA,eACA,kBC/HA,aACA,uBACA,cAEA,qBACA,QAAsB,qBACtB,iBAEA,+BACA,mBCTA,kB,uBCCA,uBACA,QAEA,cAEA,IAaA,WACA,MACA,eACA,gBACA,qBAGA,QACA,gBACA,iBACA,yBAGA,QACA,mBAGA,QACA,YACA,aACA,iBACA,sBAGA,sCACA,YAGA,GAMA,2BAEA,WACA,0CACA,WAEA,aAGA,EACA,CAEA,IACA,+EACA,uBAGA,EAGA,KACA,6BAAoC,4DAGpC,wBACA,6DAEA,aACA,kBACA,0BACA,MACA,cACA,OACA,uBAGA,IAEA,gCACA,MAGA,0DACA,MAGA,EACA,gBAGA,EACA,gBAGA,EACA,CAEA,KACA,0DACA,GAEA,oBA3GA,KAIA,OACA,CACA,QACA,mBACA,YAEA,0BCjBA,CAgBA,YACA,WAEA,gBAAqC,EAAS,IAC9C,YAGA,WACA,SAIA,MACA,QAEA,CACA,aACA,OACA,MAEA,sBAEA,IACA,oBACA,oBAEA,mBAAyC,EAAS,QAClD,OACA,OAEA,MACA,0CACA,IACA,WAEA,WAGA,CACA,SAEA,eACA,mBACA,UACA,KACA,EAEA,eACA,iBACA,mBAEA,kBACA,YACA,uBACA,mBACA,qBAGA,OAEA,SADA,uBA7DA,oBAgEA,qBACA,WACA,OAEA,YACA,qBAAqC,EAAS,QAC9C,OACA,OAEA,KAKA,uBACA,OAEA,CACA,uBChGA,aAEA,UACA,oBACA,2BACA,iBACA,yBACA,oBACA,oBACA,qBACA,gBACA,2BACA,eACA,wBACA,mBACA,uBACA,uBACA,yBACA,sBACA,mBACA,4BACA,uBACA,qBACA,gBACA,mBACA,qBACA,4BACA,sBACA,sBACA,qBACA,wBACA,wBACA,4BACA,wBACA,sBACA,oBACA,uBACA,2BACA,0BACA,0BACA,yBACA,yBACA,uBACA,sBACA,wBACA,sBACA,sBACA,wBACA,uBACA,yBACA,yBACA,mBACA,wBACA,yBACA,mBACA,sBACA,kBACA,kBACA,wBACA,kBACA,uBACA,sBACA,uBACA,iBACA,oBACA,oBACA,uBACA,4BACA,wBACA,yBACA,wBACA,yBACA,wBACA,mCACA,wBACA,yBACA,wBACA,wBACA,0BACA,2BACA,2BACA,6BACA,6BACA,6BACA,0BACA,iBACA,qBACA,mBACA,oBACA,mBACA,6BACA,qBACA,0BACA,2BACA,4BACA,8BACA,8BACA,6BACA,6BACA,yBACA,wBACA,wBACA,uBACA,0BACA,eACA,sBACA,oBACA,sBACA,oBACA,qBACA,mBACA,4BACA,wBACA,4BACA,4BACA,yBACA,wBACA,mBACA,kBACA,mBACA,yBACA,mBACA,2BACA,gBACA,sBACA,uBACA,yBACA,oBACA,yBACA,qBACA,sBACA,oBACA,oBACA,sBACA,uBACA,wBACA,wBACA,mBACA,wBACA,uBACA,kBACA,iBACA,sBACA,oBACA,sBACA,qBACA,oBACA,oBACA,yBACA,qBACA,wBACA,qBCvJA,CAOA,aACA,kBACA,oBAIA,YACA,kDAGA,YACA,KAGA,EAKA,MAJA,kCAGA,cAGA,aACA,kBACA,gBACA,SAGA,SACA,kDAGA,kBAKA,QACA,wCAAuC,EAAS,IAChD,oBAIA,MACA,QAGA,EAKA,MAJA,kCAGA,sBAxDA,OAEA,MAEA,oBAuDA,qBACA,MAEA,0CAAwD,WACxD,gDAAsD,WAEtD,eACA,cAEA,6BACA,OAEA,aACA,iBACA,IACA,EAAC,GAED,yBC7EA,qBACA,CAoBA,SAnBA,yCACA,UAEA,4BACA,qCACA,CACA,4BACA,UACA,CAEA,iCACA,CACA,4BACA,UACA,CAEA,sBAEA,gDCnBA,CAiBA,YACA,YACA,OACA,UACA,UAEA,WACA,WACA,cACA,iBACA,eACA,cACA,qBAEA,WACA,WACA,YACA,cACA,eACA,aACA,gBACA,aACA,cACA,aAGA,kBACA,oBACA,qBACA,mBACA,sBACA,mBACA,oBAEA,aACA,aACA,cACA,gBACA,iBACA,eACA,kBACA,eACA,gBAGA,uBACA,qBACA,uBACA,wBACA,sBACA,yBACA,sBACA,uBAKA,2BAEA,mCACA,SAEA,mCACA,SAEA,UACA,gBAAoB,IACpB,oBAAqB,IAGrB,UAEA,kBACA,GAEA,2BACA,CACA,QAGA,gDACA,CACA,QAEA,eAEA,kBAEA,sBACA,2BAEA,wBACA,mBACA,mBACA,SAGA,mBACA,qBACA,qBACA,SAGA,mCACA,IACA,sBAGA,iBAEA,KACA,0CACA,gCAGA,KACA,+CACA,oCAGA,KACA,uCACA,gCAEA,IAEA,CACA,QAEA,WAhJA,uBACA,mBACA,2BAAkB,GAClB,GAEA,qBACA,mBACA,2BAAkB,IAAiB,OACnC,GAEA,qBACA,mBACA,2BAAkB,IAAe,MAAE,IAAQ,IAAE,IAAQ,IAAE,IACvD,KAoIA,kCACA,CACA,cACC,2CCvJD,aAEA,MAA8B,sBAE9B,qBACA,IACA,uCAGA,wCACA,sBCRA,aAIA,aACA,OACA,oBAEA,aACA,sCACA,IAEA,aACA,wBACA,QAEA,aACA,OACA,iBAEA,aACA,QACA,YAEA,eACA,iBACA,gCACA,GAAO,KAAS,IAChB,MACA,OACA,YACA,uBAGA,OACA,SAEA,mBACA,2CAGA,KADA,KADA,aAtCA,SACA,sBAyCA,uBACA,MACA,QAEA,gBACA,sBAEA,iBACA,mBAEA,SACA,wBACA,mBACA,iBACA,SAAc,EAAS,IACvB,UACA,aACA,MAAe,EAAS,IACxB,QACA,mBAOA,gBACA,0BACA,mBACA,2BAKA,yBACA,wBAEA,eACA,UAAc,GAEd,wBACA,OACA,UAEA,iBACA,0BACA,IACA,KAAG,YACH,YACG,kBACH,sBACG,YACH,IACA,aACA,WAEA,0CACA,OACA,qBAEA,gCACA,6BAGA,OACA,eAEA,UACA,wBAGA,MACA,YAAqB,EACrB,OACA,4BAIA,kCACA,sCAGA,mCACA,iBAEA,OAEA,CACA,IAEA,QACA,0BACA,YACA,mBAKA,YACA,kBACA,gBACA,YACA,SAAa,EAAS,IACtB,MAIA,WACA,wCCnHkB,aAChB,SAAQ,IAAI,UAAM,QAAQ,IAAI,QAAS,EACvC,SAAI,EAAI,OAAS,CAAC,EAChB,gBAAQ,IAAI,UAAM,KAAK,EAE1B,QAWmB,aAClB,MAAM,GAAU,EAChB,YAAM,EACJ,OACA,WACA,WACA,UAEF,OAAI,EAAQ,QACV,KAAK,KAAM,KAAQ,QAAO,KAAK,EAAQ,SACrC,MAAM,GAAc,EACpB,kBAAI,EACF,YAAW,SAAQ,EAErB,SAAI,EAAY,eACd,eAAa,WAAQ,EAEvB,SAAQ,EACN,UACE,WAAK,OACL,QACF,UACE,YAAK,QAGV,SACD,GAAK,QAAU,EAChB,oBACD,MAAM,GACN,UAAI,EACF,YAAK,KAAM,KAAQ,QAAY,QAC7B,IAAI,EAAE,IAAQ,GACZ,SAGF,cAAM,GACN,KAAM,EAAe,EAAgB,WACrC,QACE,kBAAM,IAAI,GAAJ,qCACoB,EAEvB,kCAA4B,QAAgD,oCAF7E,CAKL,GAEH,GACD,aACwB,aACvB,OAAO,QAAO,UAAU,eAAe,KAAK,EAC7C,W,uCAxGD,qBACA,QAEA,OACA,OACM,GAEN,GAAI,GAAO,QAAQ,KAAK,MACpB,GAAC,EACH,OAAK,GACN,KACD,KAAM,GAAa,EAAK,GACxB,EAAO,EAAK,MAAM,GAGI,aACpB,IACE,IACE,KACD,SAAM,IAAI,EAAK,WACd,QAAW,EAAK,MAEhB,YACE,GACA,WACD,EApBgB,OAiBjB,CAGS,QACP,CACA,OACA,KACD,OAEJ,CAfD,CAeS,QACP,CACA,OACA,MACD,OACF,CAAE,CArBF,IA8BD,QAAc","file":"cli.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 27);\n","import stripAnsi = require('strip-ansi')\n\nexport type TypeName =\n | 'string'\n | 'number'\n | 'boolean'\n | 'symbol'\n | 'undefined'\n | 'object'\n | 'function'\n\nexport class CommandError extends Error {\n public pretty = true\n}\n\nexport const dasherizeOption = (option: string) => {\n if (option.length === 1) {\n return '-' + option\n } else {\n return '--' + option\n }\n}\n\nexport function printTable(table: string[][]) {\n const columnWidths = calculateColumnWidths(table)\n for (const row of table) {\n let rowStr = ' '\n row.forEach((item, i) => {\n rowStr += item\n const neededSpaces = columnWidths[i] - stripAnsi(item).length\n rowStr += ' '.repeat(neededSpaces + 2)\n })\n console.log(rowStr)\n }\n}\n\nfunction calculateColumnWidths(table: string[][]) {\n const columnWidths: number[] = Array(table[0].length).fill(0)\n for (const row of table) {\n row.forEach((item, i) => {\n const width = stripAnsi(item).length\n if (columnWidths[i] < width) {\n columnWidths[i] = width\n }\n })\n }\n return columnWidths\n}\n","'use strict';\nconst escapeStringRegexp = require('escape-string-regexp');\nconst ansiStyles = require('ansi-styles');\nconst supportsColor = require('supports-color');\n\nconst template = require('./templates.js');\n\nconst isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m'];\n\n// `color-convert` models to exclude from the Chalk API due to conflicts and such\nconst skipModels = new Set(['gray']);\n\nconst styles = Object.create(null);\n\nfunction applyOptions(obj, options) {\n\toptions = options || {};\n\n\t// Detect level if not set manually\n\tconst scLevel = supportsColor ? supportsColor.level : 0;\n\tobj.level = options.level === undefined ? scLevel : options.level;\n\tobj.enabled = 'enabled' in options ? options.enabled : obj.level > 0;\n}\n\nfunction Chalk(options) {\n\t// We check for this.template here since calling `chalk.constructor()`\n\t// by itself will have a `this` of a previously constructed chalk object\n\tif (!this || !(this instanceof Chalk) || this.template) {\n\t\tconst chalk = {};\n\t\tapplyOptions(chalk, options);\n\n\t\tchalk.template = function () {\n\t\t\tconst args = [].slice.call(arguments);\n\t\t\treturn chalkTag.apply(null, [chalk.template].concat(args));\n\t\t};\n\n\t\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\t\tObject.setPrototypeOf(chalk.template, chalk);\n\n\t\tchalk.template.constructor = Chalk;\n\n\t\treturn chalk.template;\n\t}\n\n\tapplyOptions(this, options);\n}\n\n// Use bright blue on Windows as the normal blue color is illegible\nif (isSimpleWindowsTerm) {\n\tansiStyles.blue.open = '\\u001B[94m';\n}\n\nfor (const key of Object.keys(ansiStyles)) {\n\tansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n\n\tstyles[key] = {\n\t\tget() {\n\t\t\tconst codes = ansiStyles[key];\n\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\treturn build.call(this, this._styles || [], true, 'visible');\n\t}\n};\n\nansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');\nfor (const model of Object.keys(ansiStyles.color.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.color.close,\n\t\t\t\t\tcloseRe: ansiStyles.color.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');\nfor (const model of Object.keys(ansiStyles.bgColor.ansi)) {\n\tif (skipModels.has(model)) {\n\t\tcontinue;\n\t}\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst level = this.level;\n\t\t\treturn function () {\n\t\t\t\tconst open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);\n\t\t\t\tconst codes = {\n\t\t\t\t\topen,\n\t\t\t\t\tclose: ansiStyles.bgColor.close,\n\t\t\t\t\tcloseRe: ansiStyles.bgColor.closeRe\n\t\t\t\t};\n\t\t\t\treturn build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, styles);\n\nfunction build(_styles, _empty, key) {\n\tconst builder = function () {\n\t\treturn applyStyle.apply(builder, arguments);\n\t};\n\n\tbuilder._styles = _styles;\n\tbuilder._empty = _empty;\n\n\tconst self = this;\n\n\tObject.defineProperty(builder, 'level', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.level;\n\t\t},\n\t\tset(level) {\n\t\t\tself.level = level;\n\t\t}\n\t});\n\n\tObject.defineProperty(builder, 'enabled', {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn self.enabled;\n\t\t},\n\t\tset(enabled) {\n\t\t\tself.enabled = enabled;\n\t\t}\n\t});\n\n\t// See below for fix regarding invisible grey/dim combination on Windows\n\tbuilder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\treturn builder;\n}\n\nfunction applyStyle() {\n\t// Support varags, but simply cast to string in case there's only one arg\n\tconst args = arguments;\n\tconst argsLen = args.length;\n\tlet str = String(arguments[0]);\n\n\tif (argsLen === 0) {\n\t\treturn '';\n\t}\n\n\tif (argsLen > 1) {\n\t\t// Don't slice `arguments`, it prevents V8 optimizations\n\t\tfor (let a = 1; a < argsLen; a++) {\n\t\t\tstr += ' ' + args[a];\n\t\t}\n\t}\n\n\tif (!this.enabled || this.level <= 0 || !str) {\n\t\treturn this._empty ? '' : str;\n\t}\n\n\t// Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,\n\t// see https://github.com/chalk/chalk/issues/58\n\t// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.\n\tconst originalDim = ansiStyles.dim.open;\n\tif (isSimpleWindowsTerm && this.hasGrey) {\n\t\tansiStyles.dim.open = '';\n\t}\n\n\tfor (const code of this._styles.slice().reverse()) {\n\t\t// Replace any instances already present with a re-opening code\n\t\t// otherwise only the part of the string until said closing code\n\t\t// will be colored, and the rest will simply be 'plain'.\n\t\tstr = code.open + str.replace(code.closeRe, code.open) + code.close;\n\n\t\t// Close the styling before a linebreak and reopen\n\t\t// after next line to fix a bleed issue on macOS\n\t\t// https://github.com/chalk/chalk/pull/92\n\t\tstr = str.replace(/\\r?\\n/g, `${code.close}$&${code.open}`);\n\t}\n\n\t// Reset the original `dim` if we changed it to work around the Windows dimmed gray issue\n\tansiStyles.dim.open = originalDim;\n\n\treturn str;\n}\n\nfunction chalkTag(chalk, strings) {\n\tif (!Array.isArray(strings)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn [].slice.call(arguments, 1).join(' ');\n\t}\n\n\tconst args = [].slice.call(arguments, 2);\n\tconst parts = [strings.raw[0]];\n\n\tfor (let i = 1; i < strings.length; i++) {\n\t\tparts.push(String(args[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'));\n\t\tparts.push(String(strings.raw[i]));\n\t}\n\n\treturn template(chalk, parts.join(''));\n}\n\nObject.defineProperties(Chalk.prototype, styles);\n\nmodule.exports = Chalk(); // eslint-disable-line new-cap\nmodule.exports.supportsColor = supportsColor;\nmodule.exports.default = module.exports; // For TypeScript\n","import * as ChildProcess from 'child_process'\n\nexport function openDesktop(url: string = '') {\n const env = { ...process.env }\n // NB: We're gonna launch Desktop and we definitely don't want to carry over\n // `ELECTRON_RUN_AS_NODE`. This seems to only happen on Windows.\n delete env['ELECTRON_RUN_AS_NODE']\n\n url = 'x-github-client://' + url\n\n if (__DARWIN__) {\n return ChildProcess.spawn('open', [url], { env })\n } else if (__WIN32__) {\n return ChildProcess.spawn('cmd', ['/c', 'start', url], { env })\n } else {\n throw new Error(\n `Desktop command line interface not currently supported on platform ${\n process.platform\n }`\n )\n }\n}\n","import { Argv as mriArgv } from 'mri'\n\nimport { TypeName } from './util'\n\ntype StringArray = ReadonlyArray<string>\n\nexport type CommandHandler = (args: mriArgv, argv: StringArray) => void\nexport { mriArgv }\n\nexport interface IOption {\n readonly type: TypeName\n readonly aliases?: StringArray\n readonly description: string\n readonly default?: any\n}\n\ninterface IArgument {\n readonly name: string\n readonly required: boolean\n readonly description: string\n readonly type: TypeName\n}\n\nexport interface ICommandModule {\n name?: string\n readonly command: string\n readonly description: string\n readonly handler: CommandHandler\n readonly aliases?: StringArray\n readonly options?: { [flag: string]: IOption }\n readonly args?: ReadonlyArray<IArgument>\n readonly unknownOptionHandler?: (flag: string) => void\n}\n\nfunction loadModule(name: string): ICommandModule {\n return require(`./commands/${name}.ts`)\n}\n\ninterface ICommands {\n [command: string]: ICommandModule\n}\nexport const commands: ICommands = {}\n\nfor (const fileName of __CLI_COMMANDS__) {\n const mod = loadModule(fileName)\n if (!mod.name) {\n mod.name = fileName\n }\n commands[mod.name] = mod\n}\n","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar v;\n\n\tif (max === 0) {\n\t\ts = 0;\n\t} else {\n\t\ts = (delta / max * 1000) / 10;\n\t}\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tv = ((max / 255) * 1000) / 10;\n\n\treturn [h, s, v];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","type Protocol = 'ssh' | 'https'\n\ninterface IGitRemoteURL {\n readonly protocol: Protocol\n\n /** The hostname of the remote. */\n readonly hostname: string\n\n /**\n * The owner of the GitHub repository. This will be null if the URL doesn't\n * take the form of a GitHub repository URL (e.g., owner/name).\n */\n readonly owner: string | null\n\n /**\n * The name of the GitHub repository. This will be null if the URL doesn't\n * take the form of a GitHub repository URL (e.g., owner/name).\n */\n readonly name: string | null\n}\n\n// Examples:\n// https://github.com/octocat/Hello-World.git\n// https://github.com/octocat/Hello-World.git/\n// [email protected]:octocat/Hello-World.git\n// git:github.com/octocat/Hello-World.git\nconst remoteRegexes: ReadonlyArray<{ protocol: Protocol; regex: RegExp }> = [\n {\n protocol: 'https',\n regex: new RegExp('^https?://(?:.+@)?(.+)/(.+)/(.+?)(?:/|.git/?)?$'),\n },\n {\n protocol: 'ssh',\n regex: new RegExp('^git@(.+):(.+)/(.+?)(?:/|.git)?$'),\n },\n {\n protocol: 'ssh',\n regex: new RegExp('^git:(.+)/(.+)/(.+?)(?:/|.git)?$'),\n },\n {\n protocol: 'ssh',\n regex: new RegExp('^ssh://git@(.+)/(.+)/(.+?)(?:/|.git)?$'),\n },\n]\n\n/** Parse the remote information from URL. */\nexport function parseRemote(url: string): IGitRemoteURL | null {\n for (const { protocol, regex } of remoteRegexes) {\n const result = url.match(regex)\n if (!result) {\n continue\n }\n\n const hostname = result[1]\n const owner = result[2]\n const name = result[3]\n if (hostname) {\n return { protocol, hostname, owner, name }\n }\n }\n\n return null\n}\n\nexport interface IRepositoryIdentifier {\n readonly hostname: string | null\n readonly owner: string\n readonly name: string\n}\n\n/** Try to parse an owner and name from a URL or owner/name shortcut. */\nexport function parseRepositoryIdentifier(\n url: string\n): IRepositoryIdentifier | null {\n const parsed = parseRemote(url)\n // If we can parse it as a remote URL, we'll assume they gave us a proper\n // URL. If not, we'll try treating it as a GitHub repository owner/name\n // shortcut.\n if (parsed) {\n const { owner, name, hostname } = parsed\n if (owner && name) {\n return { owner, name, hostname }\n }\n }\n\n const pieces = url.split('/')\n if (pieces.length === 2 && pieces[0].length > 0 && pieces[1].length > 0) {\n const owner = pieces[0]\n const name = pieces[1]\n return { owner, name, hostname: null }\n }\n\n return null\n}\n","module.exports = require(\"path\");","import chalk from 'chalk'\nimport * as Path from 'path'\n\nimport { ICommandModule, mriArgv } from '../load-commands'\nimport { openDesktop } from '../open-desktop'\nimport { parseRemote } from '../../lib/remote-parsing'\n\nconst command: ICommandModule = {\n command: 'open <path>',\n aliases: ['<path>'],\n description: 'Open a git repository in GitHub Desktop',\n args: [\n {\n name: 'path',\n description: 'The path to the repository to open',\n type: 'string',\n required: false,\n },\n ],\n handler({ _: [pathArg] }: mriArgv) {\n if (!pathArg) {\n // just open Desktop\n openDesktop()\n return\n }\n //Check if the pathArg is a remote url\n if (parseRemote(pathArg) != null) {\n console.log(\n `\\nYou cannot open a remote URL in GitHub Desktop\\n` +\n `Use \\`${chalk.bold(`git clone ` + pathArg)}\\`` +\n ` instead to initiate the clone`\n )\n } else {\n const repositoryPath = Path.resolve(process.cwd(), pathArg)\n const url = `openLocalRepo/${encodeURIComponent(repositoryPath)}`\n openDesktop(url)\n }\n },\n}\nexport = command\n","import chalk from 'chalk'\n\nimport { commands, ICommandModule, IOption } from '../load-commands'\n\nimport { dasherizeOption, printTable } from '../util'\n\nconst command: ICommandModule = {\n command: 'help [command]',\n description: 'Show the help page for a command',\n handler({ _: [command] }) {\n if (command) {\n printCommandHelp(command, commands[command])\n } else {\n printHelp()\n }\n },\n}\nexport = command\n\nfunction printHelp() {\n console.log(chalk.underline('Commands:'))\n const table: string[][] = []\n for (const commandName of Object.keys(commands)) {\n const command = commands[commandName]\n table.push([chalk.bold(command.command), command.description])\n }\n printTable(table)\n console.log(\n `\\nRun ${chalk.bold(\n `github help ${chalk.gray('<command>')}`\n )} for details about each command`\n )\n}\n\nfunction printCommandHelp(name: string, command: ICommandModule) {\n if (!command) {\n console.log(`Unrecognized command: ${chalk.bold.red.underline(name)}`)\n printHelp()\n return\n }\n console.log(`${chalk.gray('github')} ${command.command}`)\n if (command.aliases) {\n for (const alias of command.aliases) {\n console.log(chalk.gray(`github ${alias}`))\n }\n }\n console.log()\n const [title, body] = command.description.split('\\n', 1)\n console.log(chalk.bold(title))\n if (body) {\n console.log(body)\n }\n const { options, args } = command\n if (options) {\n console.log(chalk.underline('\\nOptions:'))\n printTable(\n Object.keys(options)\n .map(k => [k, options[k]] as [string, IOption])\n .map(([optionName, option]) => [\n [optionName, ...(option.aliases || [])]\n .map(dasherizeOption)\n .map(x => chalk.bold.blue(x))\n .join(chalk.gray(', ')),\n option.description,\n chalk.gray(`[${chalk.underline(option.type)}]`),\n ])\n )\n }\n if (args && args.length) {\n console.log(chalk.underline('\\nArguments:'))\n printTable(\n args.map(arg => [\n (arg.required ? chalk.bold : chalk).blue(arg.name),\n arg.required ? chalk.gray('(required)') : '',\n arg.description,\n chalk.gray(`[${chalk.underline(arg.type)}]`),\n ])\n )\n }\n}\n","module.exports = require(\"child_process\");","module.exports = require(\"url\");","module.exports = require(\"querystring\");","import * as QueryString from 'querystring'\nimport { URL } from 'url'\n\nimport { CommandError } from '../util'\nimport { openDesktop } from '../open-desktop'\nimport { ICommandModule, mriArgv } from '../load-commands'\n\ninterface ICloneArgs extends mriArgv {\n readonly branch?: string\n}\n\nconst command: ICommandModule = {\n command: 'clone <url|slug>',\n description: 'Clone a repository',\n args: [\n {\n name: 'url|slug',\n required: true,\n description: 'The URL or the GitHub owner/name alias to clone',\n type: 'string',\n },\n ],\n options: {\n branch: {\n type: 'string',\n aliases: ['b'],\n description: 'The branch to checkout after cloning',\n },\n },\n handler({ _: [cloneUrl], branch }: ICloneArgs) {\n if (!cloneUrl) {\n throw new CommandError('Clone URL must be specified')\n }\n try {\n const _ = new URL(cloneUrl)\n _.toString() // don’t mark as unused\n } catch (e) {\n // invalid URL, assume a GitHub repo\n cloneUrl = `https://github.com/${cloneUrl}`\n }\n const url = `openRepo/${cloneUrl}?${QueryString.stringify({\n branch,\n })}`\n openDesktop(url)\n },\n}\nexport = command\n","var map = {\n\t\"./clone.ts\": 12,\n\t\"./help.ts\": 8,\n\t\"./open.ts\": 7\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 13;","'use strict';\n\nmodule.exports = () => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[a-zA-Z\\\\d]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PRZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, 'g');\n};\n","'use strict';\nconst ansiRegex = require('ansi-regex');\n\nmodule.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tif ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, args) {\n\tconst results = [];\n\tconst chunks = args.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tif (!isNaN(chunk)) {\n\t\t\tresults.push(Number(chunk));\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const styleName of Object.keys(enabled)) {\n\t\tif (Array.isArray(enabled[styleName])) {\n\t\t\tif (!(styleName in current)) {\n\t\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t\t}\n\n\t\t\tif (enabled[styleName].length > 0) {\n\t\t\t\tcurrent = current[styleName].apply(current, enabled[styleName]);\n\t\t\t} else {\n\t\t\t\tcurrent = current[styleName];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, tmp) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => {\n\t\tif (escapeChar) {\n\t\t\tchunk.push(unescape(escapeChar));\n\t\t} else if (style) {\n\t\t\tconst str = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(chr);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nmodule.exports = function (flag, argv) {\n\targv = argv || process.argv;\n\n\tvar terminatorPos = argv.indexOf('--');\n\tvar prefix = /^-{1,2}/.test(flag) ? '' : '--';\n\tvar pos = argv.indexOf(prefix + flag);\n\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","module.exports = require(\"os\");","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nconst support = level => {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n};\n\nlet supportLevel = (() => {\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn 1;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn 0;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Hyper':\n\t\t\t\treturn 3;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn 0;\n\t}\n\n\treturn 0;\n})();\n\nif ('FORCE_COLOR' in env) {\n\tsupportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);\n}\n\nmodule.exports = process && support(supportLevel);\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\n// https://jsperf.com/object-keys-vs-for-in-with-closure/3\nvar models = Object.keys(conversions);\n\nfunction buildGraph() {\n\tvar graph = {};\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","module.exports = function(module) {\r\n\tif (!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif (!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n","'use strict';\nconst colorConvert = require('color-convert');\n\nconst wrapAnsi16 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => function () {\n\tconst code = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => function () {\n\tconst rgb = fn.apply(colorConvert, arguments);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\t\t\tgray: [90, 39],\n\n\t\t\t// Bright color\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Fix humans\n\tstyles.color.grey = styles.color.gray;\n\n\tfor (const groupName of Object.keys(styles)) {\n\t\tconst group = styles[groupName];\n\n\t\tfor (const styleName of Object.keys(group)) {\n\t\t\tconst style = group[styleName];\n\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\n\t\tObject.defineProperty(styles, 'codes', {\n\t\t\tvalue: codes,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tconst rgb2rgb = (r, g, b) => [r, g, b];\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = {};\n\tstyles.color.ansi256 = {};\n\tstyles.color.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 0)\n\t};\n\n\tstyles.bgColor.ansi = {};\n\tstyles.bgColor.ansi256 = {};\n\tstyles.bgColor.ansi16m = {\n\t\trgb: wrapAnsi16m(rgb2rgb, 10)\n\t};\n\n\tfor (const key of Object.keys(colorConvert)) {\n\t\tif (typeof colorConvert[key] !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst suite = colorConvert[key];\n\n\t\tif ('ansi16' in suite) {\n\t\t\tstyles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0);\n\t\t\tstyles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10);\n\t\t}\n\n\t\tif ('ansi256' in suite) {\n\t\t\tstyles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0);\n\t\t\tstyles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10);\n\t\t}\n\n\t\tif ('rgb' in suite) {\n\t\t\tstyles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0);\n\t\t\tstyles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10);\n\t\t}\n\t}\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","'use strict';\n\nconst EQQ = /\\s|=/;\nconst FLAG = /^-{1,2}/;\nconst PREFIX = /^--no-/i;\n\nfunction isBool(any) {\n\treturn typeof any === 'boolean';\n}\n\nfunction toArr(any) {\n\treturn Array.isArray(any) ? any : any == null ? [] : [any];\n}\n\nfunction toString(any) {\n\treturn any == null || any === true ? '' : String(any);\n}\n\nfunction toBool(any) {\n\treturn any === 'false' ? false : Boolean(any);\n}\n\nfunction toNum(any) {\n\treturn (!isBool(any) && Number(any)) || any;\n}\n\nfunction getAlibi(names, arr) {\n\tif (arr.length === 0) return arr;\n\tlet k, i = 0, len = arr.length, vals = [];\n\tfor (; i < len; i++) {\n\t\tk = arr[i];\n\t\tvals.push(k);\n\t\tif (names[k] !== void 0) {\n\t\t\tvals = vals.concat(names[k]);\n\t\t}\n\t}\n\treturn vals;\n}\n\nfunction typecast(key, val, strings, booleans) {\n\tif (strings.indexOf(key) !== -1) return toString(val);\n\tif (booleans.indexOf(key) !== -1) return toBool(val);\n\treturn toNum(val);\n}\n\nmodule.exports = function(args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\n\tconst aliases = {};\n\tlet k, i, j, x, y, len, type;\n\n\tif (opts.alias !== void 0) {\n\t\tfor (k in opts.alias) {\n\t\t\taliases[k] = toArr(opts.alias[k]);\n\t\t\tlen = aliases[k].length; // save length\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tx = aliases[k][i]; // alias's key name\n\t\t\t\taliases[x] = [k]; // set initial array\n\t\t\t\tfor (j = 0; j < len; j++) {\n\t\t\t\t\tif (x !== aliases[k][j]) {\n\t\t\t\t\t\taliases[x].push(aliases[k][j]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (opts.default !== void 0) {\n\t\tfor (k in opts.default) {\n\t\t\ttype = typeof opts.default[k];\n\t\t\topts[type] = (opts[type] || []).concat(k);\n\t\t}\n\t}\n\n\t// apply to all aliases\n\topts.string = getAlibi(aliases, opts.string);\n\topts.boolean = getAlibi(aliases, opts.boolean);\n\n\tlet idx = 0;\n\tconst out = { _: [] };\n\n\twhile (args[idx] !== void 0) {\n\t\tlet incr = 1;\n\t\tconst val = args[idx];\n\n\t\tif (val === '--') {\n\t\t\tout._ = out._.concat(args.slice(idx + 1));\n\t\t\tbreak;\n\t\t} else if (!FLAG.test(val)) {\n\t\t\tout._.push(val);\n\t\t} else if (PREFIX.test(val)) {\n\t\t\tout[val.replace(PREFIX, '')] = false;\n\t\t} else {\n\t\t\tlet tmp;\n\t\t\tconst segs = val.split(EQQ);\n\t\t\tconst isGroup = segs[0].charCodeAt(1) !== 45; // '-'\n\n\t\t\tconst flag = segs[0].substr(isGroup ? 1 : 2);\n\t\t\tlen = flag.length;\n\t\t\tconst key = isGroup ? flag[len - 1] : flag;\n\n\t\t\tif (opts.unknown !== void 0 && aliases[key] === void 0) {\n\t\t\t\treturn opts.unknown(segs[0]);\n\t\t\t}\n\n\t\t\tif (segs.length > 1) {\n\t\t\t\ttmp = segs[1];\n\t\t\t} else {\n\t\t\t\ttmp = args[idx + 1] || true;\n\t\t\t\tFLAG.test(tmp) ? (tmp = true) : (incr = 2);\n\t\t\t}\n\n\t\t\tif (isGroup && len > 1) {\n\t\t\t\tfor (i = len - 1; i--; ) {\n\t\t\t\t\tk = flag[i]; // all but last key\n\t\t\t\t\tout[k] = typecast(k, true, opts.string, opts.boolean);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst value = typecast(key, tmp, opts.string, opts.boolean);\n\t\t\tout[key] = out[key] !== void 0 ? toArr(out[key]).concat(value) : value;\n\n\t\t\t// handle discarded args when dealing with booleans\n\t\t\tif (isBool(value) && !isBool(tmp) && tmp !== 'true' && tmp !== 'false') {\n\t\t\t\tout._.push(tmp);\n\t\t\t}\n\t\t}\n\n\t\tidx += incr;\n\t}\n\n\tif (opts.default !== void 0) {\n\t\tfor (k in opts.default) {\n\t\t\tif (out[k] === void 0) {\n\t\t\t\tout[k] = opts.default[k];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (k in out) {\n\t\tif (aliases[k] === void 0) continue;\n\t\ty = out[k];\n\t\tlen = aliases[k].length;\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tout[aliases[k][i]] = y; // assign value\n\t\t}\n\t}\n\n\treturn out;\n};\n","import * as mri from 'mri'\nimport chalk from 'chalk'\n\nimport { dasherizeOption, CommandError } from './util'\nimport { commands } from './load-commands'\nconst defaultCommand = 'open'\n\nlet args = process.argv.slice(2)\nif (!args[0]) {\n args[0] = '.'\n}\nconst commandArg = args[0]\nargs = args.slice(1)\n\n// tslint:disable-next-line whitespace\n;(function attemptRun(name: string) {\n try {\n if (supportsCommand(name)) {\n runCommand(name)\n } else if (name.startsWith('--')) {\n attemptRun(name.slice(2))\n } else {\n try {\n args.unshift(commandArg)\n runCommand(defaultCommand)\n } catch (err) {\n logError(err)\n args = []\n runCommand('help')\n }\n }\n } catch (err) {\n logError(err)\n args = [name]\n runCommand('help')\n }\n})(commandArg)\n\nfunction logError(err: CommandError) {\n console.log(chalk.bgBlack.red('ERR!'), err.message)\n if (err.stack && !err.pretty) {\n console.log(chalk.gray(err.stack))\n }\n}\n\nconsole.log() // nice blank line before the command prompt\n\ninterface IMRIOpts extends mri.Options {\n alias: mri.DictionaryObject<mri.ArrayOrString>\n boolean: Array<string>\n default: mri.DictionaryObject\n string: Array<string>\n}\n\nfunction runCommand(name: string) {\n const command = commands[name]\n const opts: IMRIOpts = {\n alias: {},\n boolean: [],\n default: {},\n string: [],\n }\n if (command.options) {\n for (const flag of Object.keys(command.options)) {\n const flagOptions = command.options[flag]\n if (flagOptions.aliases) {\n opts.alias[flag] = flagOptions.aliases\n }\n if (flagOptions.hasOwnProperty('default')) {\n opts.default[flag] = flagOptions.default\n }\n switch (flagOptions.type) {\n case 'string':\n opts.string.push(flag)\n break\n case 'boolean':\n opts.boolean.push(flag)\n break\n }\n }\n opts.unknown = command.unknownOptionHandler\n }\n const parsedArgs = mri(args, opts)\n if (command.options) {\n for (const flag of Object.keys(parsedArgs)) {\n if (!(flag in command.options)) {\n continue\n }\n\n const value = parsedArgs[flag]\n const expectedType = command.options[flag].type\n if (typeof value !== expectedType) {\n throw new CommandError(\n `Value passed to flag ${dasherizeOption(\n flag\n )} was of type ${typeof value}, but was expected to be of type ${expectedType}`\n )\n }\n }\n }\n command.handler(parsedArgs, args)\n}\nfunction supportsCommand(name: string) {\n return Object.prototype.hasOwnProperty.call(commands, name)\n}\n"],"sourceRoot":""}