From 7735c3d78df3d75a67ba3b8074ff167cef999455 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Sun, 6 Jun 2021 18:34:29 +0200 Subject: [PATCH] First upload --- TrimSP.cfg | 32 + TrimSP.html | 253 +++ TrimSPelec.js | 56 + TrimSPlib.js | 1251 +++++++++++ ZGUI.css | 177 ++ main.js | 232 ++ myplots.js | 115 + package-lock.json | 5210 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 53 + plotly.css | 220 ++ trimspNL | Bin 0 -> 262184 bytes 11 files changed, 7599 insertions(+) create mode 100644 TrimSP.cfg create mode 100644 TrimSP.html create mode 100644 TrimSPelec.js create mode 100644 TrimSPlib.js create mode 100644 ZGUI.css create mode 100644 main.js create mode 100644 myplots.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 plotly.css create mode 100755 trimspNL diff --git a/TrimSP.cfg b/TrimSP.cfg new file mode 100644 index 0000000..a754517 --- /dev/null +++ b/TrimSP.cfg @@ -0,0 +1,32 @@ +[Files] +fileNamePrefix=SrTiO3 +workPath=/tmp/test +[Layers] +numLayer=2 +L1Comp=SrTiO3 +L1rho=5.12 +L1d=300 +L2Comp=SrTiO3 +L2rho=5.12 +L2d=10000 +[ProjectileParameters] +workPath=/tmp/test +fileNamePrefix=SrTiO3 +ProjType=Muon +numberProj=1000 +z0=0 +dz=20 +valEnergy=2000 +sigEnergy=450 +valAngle=0 +sigAngle=15 +ranSeed=78741 +[ScanSequence] +scanSeq=1 +comboScan=EScan +scanType=scanLoop +scanFrom=1000 +scanStep=2000 +scanTo=14000 +scanList=1000 +scanListdz= diff --git a/TrimSP.html b/TrimSP.html new file mode 100644 index 0000000..60c94ec --- /dev/null +++ b/TrimSP.html @@ -0,0 +1,253 @@ + + + + + + + + + + + + Trim.SP + + + + + + + + + +
+
+
+ + + + +
+
+ + + + + +
+ + + + + + +
+ +
+ Layers +
+ +
+ + +
Layer #CompositionDensity [g/cm3]Thickness [A]
+
+
+ + + + + + + + + + + + + + + + +
Projectile parameters
Projectile +
Number of projectiles
Starting depth [A]
Depth increment [A]
Energy [eV]
Energy sigma [eV]
Angel [deg]
Angle sigma [deg]
Random seed
+
+
+
+ Enable scan on + + + + + + + + + + + + +
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EF + + KK0 + +
ESB + + KK0R + +
SHEATH + + KDEE1 + +
ERC + + KDEE2 + +
RD + + IPOT + +
CA + + IPOTR + +
IRL + +
+
+
+
+ + + diff --git a/TrimSPelec.js b/TrimSPelec.js new file mode 100644 index 0000000..3aef0be --- /dev/null +++ b/TrimSPelec.js @@ -0,0 +1,56 @@ +// This file contains function that are Electron/Node specific +function getFiles(dir, filelist){ + fileList = []; + var files = fs.readdirSync(dir); + for(var i of files){ + if (!files.hasOwnProperty(i)) continue; + var name = dir+'/'+files[i]; + if (!fs.statSync(name).isDirectory()){ + fileList.push(name); + } + } + return fileList; +} + +function execute(command) { + exec(command, {stdio: 'inherit'}); +} + +function checkDir(directory) { + // Check whether director exists, if not create it + if (!fs.existsSync(directory)) { + // Folder does not exist try to create it + fs.mkdir(directory,{recursive: true}, (err) => { + if (err) { + alert('Cannot create data folder '+directory); + return(0); + } + }); + } + return(1); +} + +function writeAsciiFile(filename,content) { + // Write string content into ascii file filename + try { fs.writeFileSync(filename, content, 'utf-8'); } + catch(e) { + alert('Failed to save '+filename); + return(0); + } + return(1); +} + +function readAsciiFile(filename) { + // Read ascii file filename and return content in a string + var content; + // If an array of filenames was sent take the first one only + if (Array.isArray(filename)) {filename=filename[0];} + try { + content = fs.readFileSync(filename, 'utf8'); + } catch(e) { + alert('Failed to read '+filename); + return(0); + } + return(content); +} + diff --git a/TrimSPlib.js b/TrimSPlib.js new file mode 100644 index 0000000..57258f4 --- /dev/null +++ b/TrimSPlib.js @@ -0,0 +1,1251 @@ +// This file contains function that are Javascript generic + +function parse_formula (mf) { + // This function takes a chemical formula and returns + // an object that contains the atoms and their number + var mf = mf.replace(/\[/g,"(").replace(/\]/g,")").replace(/\{/g,"(").replace(/\}/g,")").replace(/\s+/g,""); + if(/^\d+/.test(mf)) throw new SyntaxError("Molecular formula should not start with a number!"); + var mol = {}; + while(mf.includes("(")){ + var x = mf.lastIndexOf("("); + var y = mf.indexOf(")", mf.lastIndexOf("(")); + + var z = mf.substr(x+1, y-x-1); + var c = mf.substr(y+1); + c = /^\d+/.exec(c); + c=(c!= null)?Number(c[0]):1; + + var a = this.parse_formula(z); + var b = ""; + for(var k in a){ + b+=k+""+a[k]*c; + } + mf = mf.substr(0, x)+ b + mf.substr(y+1+((c>1)?(c+'').length:0)); + } + + var m = ""; + while(m = /([A-Z]{1}[a-z]{0,}[0-9]{0,})/.exec(mf)){ + var m1 = /([A-Z]{1,}[a-z]{0,})/.exec(m[0]); + var m2 = /\d+/.exec(m[0]); + if(typeof mol[m1[0]] == 'undefined') mol[m1[0]]=(m2!=null)?Number(m2[0]):1; + else mol[m1[0]] += (m2!=null)?Number(m2[0]):1; + mf = mf.replace(m[0], ""); + } + return mol; +} + + +function Zof(Element) +{ + var ElementsZ = { + "Muon":1, + "Li8":3, + "B12":5, + "H":1, + "He":2, + "Li":3, + "Be":4, + "B":5, + "C":6, + "N":7, + "O":8, + "F":9, + "Ne":10, + "Na":11, + "Mg":12, + "Al":13, + "Si":14, + "P":15, + "S":16, + "Cl":17, + "Ar":18, + "K":19, + "Ca":20, + "Sc":21, + "Ti":22, + "V":23, + "Cr":24, + "Mn":25, + "Fe":26, + "Co":27, + "Ni":28, + "Cu":29, + "Zn":30, + "Ga":31, + "Ge":32, + "As":33, + "Se":34, + "Br":35, + "Kr":36, + "Rb":37, + "Sr":38, + "Y":39, + "Zr":40, + "Nb":41, + "Mo":42, + "Tc":43, + "Ru":44, + "Rh":45, + "Pd":46, + "Ag":47, + "Cd":48, + "In":49, + "Sn":50, + "Sb":51, + "Te":52, + "I":53, + "Xe":54, + "Cs":55, + "Ba":56, + "La":57, + "Ce":58, + "Pr":59, + "Nd":60, + "Pm":61, + "Sm":62, + "Eu":63, + "Gd":64, + "Tb":65, + "Dy":66, + "Ho":67, + "Er":68, + "Tm":69, + "Yb":70, + "Lu":71, + "Hf":72, + "Ta":73, + "W":74, + "Re":75, + "Os":76, + "Ir":77, + "Pt":78, + "Au":79, + "Hg":80, + "Tl":81, + "Pb":82, + "Bi":83, + "Po":84, + "At":85, + "Rn":86, + "Fr":87, + "Ra":88, + "Ac":89, + "Th":90, + "Pa":91, + "U":92, + "":0.0000 + } + return ElementsZ[Element]; +} + +function Massof(Element) +{ + var ElementsA = { + "Muon":0.113, + "Li8":8.0, + "B12":12.0, + "H":1.00800, + "He":4.00300, + "Li":6.93900, + "Be":9.01200, + "B":10.81100, + "C":12.01100, + "N":14.00700, + "O":15.99900, + "F":18.99800, + "Ne":20.18300, + "Na":22.99000, + "Mg":24.31200, + "Al":26.98200, + "Si":28.08600, + "P":30.97400, + "S":32.06400, + "Cl":35.45300, + "Ar":39.94800, + "K":39.10200, + "Ca":40.08000, + "Sc":44.95600, + "Ti":47.90000, + "V":50.94200, + "Cr":51.99600, + "Mn":54.93800, + "Fe":55.84700, + "Co":58.93300, + "Ni":58.71000, + "Cu":63.54000, + "Zn":65.37000, + "Ga":69.72000, + "Ge":72.59000, + "As":74.92200, + "Se":78.96000, + "Br":79.90900, + "Kr":83.80000, + "Rb":85.47000, + "Sr":87.62000, + "Y":88.90500, + "Zr":91.22000, + "Nb":92.90600, + "Mo":95.94000, + "Tc":98.00000, + "Ru":101.07000, + "Rh":102.90500, + "Pd":106.40000, + "Ag":107.87000, + "Cd":112.40000, + "In":114.82000, + "Sn":118.69000, + "Sb":121.75000, + "Te":127.60000, + "I":126.90400, + "Xe":131.30000, + "Cs":132.90500, + "Ba":137.34000, + "La":138.91000, + "Ce":140.12000, + "Pr":140.90700, + "Nd":144.24001, + "Pm":147.00000, + "Sm":150.35001, + "Eu":151.96001, + "Gd":157.25000, + "Tb":158.92400, + "Dy":162.50000, + "Ho":164.92999, + "Er":167.25999, + "Tm":168.93401, + "Yb":173.03999, + "Lu":174.97000, + "Hf":178.49001, + "Ta":180.94800, + "W":183.85001, + "Re":186.20000, + "Os":190.20000, + "Ir":192.20000, + "Pt":195.09000, + "Au":196.96700, + "Hg":200.59000, + "Tl":204.37000, + "Pb":207.19000, + "Bi":208.98000, + "Po":210.00000, + "At":210.00000, + "Rn":222.00000, + "Fr":223.00000, + "Ra":226.00000, + "Ac":227.00000, + "Th":232.03799, + "Pa":231.00000, + "U":238.03000, + "":0.0000 + } + return ElementsA[Element]; +} + +function Elastof(Element) { + var Elast ={ + "H":0.10000, + "He":0.10000, + "Li":1.63000, + "Be":3.32000, + "B":5.77000, + "C":7.37000, + "N":4.92000, + "O":2.60000, + "F":0.84000, + "Ne":0.02000, + "Na":1.11000, + "Mg":1.51000, + "Al":3.39000, + "Si":4.63000, + "P":3.43000, + "S":2.85000, + "Cl":1.40000, + "Ar":0.08000, + "K":0.93000, + "Ca":1.84000, + "Sc":3.90000, + "Ti":4.85000, + "V":5.31000, + "Cr":4.10000, + "Mn":2.92000, + "Fe":4.28000, + "Co":4.39000, + "Ni":4.44000, + "Cu":3.49000, + "Zn":1.35000, + "Ga":2.81000, + "Ge":3.85000, + "As":2.96000, + "Se":2.25000, + "Br":1.22000, + "Kr":0.12000, + "Rb":0.85000, + "Sr":1.72000, + "Y":4.37000, + "Zr":6.25000, + "Nb":7.57000, + "Mo":6.82000, + "Tc":6.85000, + "Ru":6.74000, + "Rh":5.75000, + "Pd":3.89000, + "Ag":2.95000, + "Cd":1.16000, + "In":2.52000, + "Sn":3.14000, + "Sb":2.75000, + "Te":2.23000, + "I":1.11000, + "Xe":0.16000, + "Cs":0.80000, + "Ba":1.90000, + "La":4.47000, + "Ce":4.32000, + "Pr":3.70000, + "Nd":3.40000, + "Pm":0.10000, + "Sm":2.14000, + "Eu":1.86000, + "Gd":4.14000, + "Tb":4.05000, + "Dy":3.04000, + "Ho":3.14000, + "Er":3.29000, + "Tm":2.42000, + "Yb":1.60000, + "Lu":4.43000, + "Hf":6.44000, + "Ta":8.10000, + "W":8.90000, + "Re":8.03000, + "Os":8.17000, + "Ir":6.94000, + "Pt":5.84000, + "Au":3.81000, + "Hg":0.67000, + "Tl":1.88000, + "Pb":2.03000, + "Bi":2.18000, + "Po":1.50000, + "At":0.10000, + "Rn":0.20000, + "Fr":0.10000, + "Ra":1.66000, + "Ac":4.25000, + "Th":6.20000, + "Pa":0.10000, + "U":5.55000, + "":0.00000 + }; + return Elast[Element]; +} + +function Stopicru(Element) +{ + var Stopicru = { + "H":"1.25400,1.44000,242.60001,12000.00000,0.11590", + "He":"1.22900,1.39700,484.50000,5873.00000,0.05225", + "Li":"1.41100,1.60000,725.59998,3013.00000,0.04578", + "Be":"2.24800,2.59000,966.00000,153.80000,0.03475", + "B":"2.47400,2.81500,1206.00000,1060.00000,0.02855", + "C":"2.60100,2.60100,1701.00000,1279.00000,0.01638", + "N":"2.95400,3.35000,1683.00000,1900.00000,0.02513", + "O":"2.65200,3.00000,1920.00000,2000.00000,0.02230", + "F":"2.08500,2.35200,2157.00000,2634.00000,0.01816", + "Ne":"1.95100,2.19900,2393.00000,2699.00000,0.01568", + "Na":"2.54200,2.86900,2628.00000,1854.00000,0.01472", + "Mg":"3.79100,4.29300,2862.00000,1009.00000,0.01397", + "Al":"4.15400,4.73900,2766.00000,164.50000,0.02023", + "Si":"4.91400,5.59800,3193.00000,232.70000,0.01419", + "P":"3.23200,3.64700,3561.00000,1560.00000,0.01267", + "S":"3.44700,3.89100,3792.00000,1219.00000,0.01211", + "Cl":"5.30100,6.00800,3969.00000,645.09998,0.01183", + "Ar":"5.73100,6.50000,4253.00000,530.00000,0.01123", + "K":"5.15200,5.83300,4482.00000,545.70001,0.01129", + "Ca":"5.52100,6.25200,4710.00000,553.29999,0.01120", + "Sc":"5.20100,5.88400,4938.00000,560.90002,0.01000", + "Ti":"4.85800,5.48900,5260.00000,651.09998,0.00893", + "V":"4.47900,5.05500,5391.00000,952.29999,0.00912", + "Cr":"3.98300,4.48900,5616.00000,1336.00000,0.00841", + "Mn":"3.46900,3.90700,5725.00000,1461.00000,0.00883", + "Fe":"3.51900,3.96300,6065.00000,1243.00000,0.00778", + "Co":"3.14000,3.53500,6288.00000,1372.00000,0.00736", + "Ni":"3.55300,4.00400,6205.00000,555.09998,0.00876", + "Cu":"3.69600,4.19400,4649.00000,81.13000,0.02242", + "Zn":"4.21000,4.75000,6953.00000,295.20001,0.00681", + "Ga":"5.04100,5.69700,7137.00000,202.60001,0.00673", + "Ge":"5.55400,6.30000,6496.00000,110.00000,0.00969", + "As":"5.32300,6.01200,7611.00000,292.50000,0.00645", + "Se":"5.87400,6.65600,7395.00000,117.50000,0.00768", + "Br":"6.65800,7.53600,7694.00000,222.30000,0.00651", + "Kr":"6.41300,7.24000,11850.00000,153.70000,0.00288", + "Rb":"5.69400,6.42900,8478.00000,292.89999,0.00609", + "Sr":"6.33900,7.15900,8693.00000,330.29999,0.00600", + "Y":"6.40700,7.23400,8907.00000,367.79999,0.00589", + "Zr":"6.73400,7.60300,9120.00000,405.20001,0.00576", + "Nb":"6.90100,7.79100,9333.00000,442.70001,0.00559", + "Mo":"6.42400,7.24800,9545.00000,480.20001,0.00538", + "Tc":"6.79900,7.67100,9756.00000,517.59998,0.00532", + "Ru":"6.10900,6.88700,9966.00000,555.09998,0.00515", + "Rh":"5.92400,6.67700,10180.00000,592.50000,0.00492", + "Pd":"5.23800,5.90000,10380.00000,630.00000,0.00476", + "Ag":"5.34500,6.03800,6790.00000,397.79999,0.01676", + "Cd":"5.81400,6.55400,10800.00000,355.50000,0.00463", + "In":"6.22900,7.02400,11010.00000,370.89999,0.00454", + "Sn":"6.40900,7.22700,11210.00000,386.39999,0.00447", + "Sb":"7.50000,8.48000,8608.00000,348.00000,0.00907", + "Te":"6.97900,7.87100,11620.00000,392.39999,0.00440", + "I":"7.72500,8.71600,11830.00000,394.79999,0.00438", + "Xe":"8.33700,9.42500,10510.00000,269.60001,0.00621", + "Cs":"7.28700,8.21800,12230.00000,399.70001,0.00445", + "Ba":"7.89900,8.91100,12430.00000,402.10001,0.00451", + "La":"8.04100,9.07100,12630.00000,404.50000,0.00454", + "Ce":"7.48800,8.44400,12830.00000,406.89999,0.00442", + "Pr":"7.29100,8.21900,13030.00000,409.29999,0.00430", + "Nd":"7.09800,8.00000,13230.00000,411.79999,0.00418", + "Pm":"6.90900,7.78600,13430.00000,414.20001,0.00406", + "Sm":"6.72800,7.58000,13620.00000,416.60001,0.00398", + "Eu":"6.55100,7.38000,13820.00000,419.00000,0.00388", + "Gd":"6.73900,7.59200,14020.00000,421.39999,0.00386", + "Tb":"6.21200,6.99600,14210.00000,423.89999,0.00372", + "Dy":"5.51700,6.21000,14400.00000,426.29999,0.00363", + "Ho":"5.22000,5.87400,14600.00000,428.70001,0.00350", + "Er":"5.07100,5.70600,14790.00000,433.00000,0.00341", + "Tm":"4.92600,5.54200,14980.00000,433.50000,0.00334", + "Yb":"4.78800,5.38600,15170.00000,435.89999,0.00329", + "Lu":"4.89300,5.50500,15360.00000,438.29999,0.00324", + "Hf":"5.02800,5.65700,15550.00000,440.79999,0.00320", + "Ta":"4.73800,5.32900,15740.00000,443.20001,0.00319", + "W":"4.58700,5.16000,15410.00000,415.29999,0.00341", + "Re":"5.20100,5.85100,16120.00000,441.60001,0.00312", + "Os":"5.07100,5.70400,16300.00000,440.89999,0.00308", + "Ir":"4.94600,5.56300,16490.00000,440.10001,0.00296", + "Pt":"4.47700,5.03400,16670.00000,439.29999,0.00287", + "Au":"4.84400,5.45800,7852.00000,975.79999,0.02077", + "Hg":"4.30700,4.84300,17040.00000,487.79999,0.00288", + "Tl":"4.72300,5.31100,17220.00000,537.00000,0.00291", + "Pb":"5.31900,5.98200,17400.00000,586.29999,0.00287", + "Bi":"5.95600,6.70000,17800.00000,677.00000,0.00266", + "Po":"6.15800,6.92800,17770.00000,586.29999,0.00281", + "At":"6.20300,6.97900,17950.00000,586.29999,0.00278", + "Rn":"6.18100,6.95400,18120.00000,586.29999,0.00275", + "Fr":"6.94900,7.82000,18300.00000,586.29999,0.00274", + "Ra":"7.50600,8.44800,18480.00000,586.29999,0.00273", + "Ac":"7.64800,8.60900,18660.00000,586.29999,0.00270", + "Th":"7.71100,8.67900,18830.00000,586.29999,0.00264", + "Pa":"7.40700,8.33600,19010.00000,586.29999,0.00260", + "U":"7.29000,8.20400,19180.00000,586.29999,0.00267", + "":"0.00000,0.00000,0.00000,0.00000,0.00000" + }; + return Stopicru[Element]; +} + + +function rho_fun() +{ + var irow = this.parentNode.parentNode.rowIndex; + var caller = this.id; + var chem = document.getElementById(caller).value; + var rhoLi = "L"+irow+"rho"; + + var rhos = { + "NbN":8.47, + "Bi2Se3":7.51, + "La2CuO4": 7.08, + "La1.84Sr0.16CuO4": 6.94, + "N2":1.145, + "ZnO":5.61, + "ZnSe":5.26, + "ZnS":4.09, + "ZrO":6.0, + "Gd3Ga5O12":7.08, + "MgAl2O4":3.60, + "NdGaO3":7.57, + "YAlO3":4.88, + "Y3Al5O12":4.55, + "LiF":2.60, + "CaF2":3.18, + "BaFe":4.83, + "MgF2":3.18, + "SiO2":2.65, + "TiO2":4.26, + "KTaO3":6.967, + "LaAlO3":6.70, + "Al2O3":3.98, + "SrTiO3":5.12, + "SrLaGaO4":6.389, + "SrLaAlO4":5.924, + "NbSe2":6.30, + "MgO":3.58, + "YBa2Cu3O7":6.54, + "GaAs":5.32, + "C60":1.65, + "H":0.08, + "He":0.12, + "Li":0.53, + "Be":1.85, + "B":2.34, + "C":2.26, + "N":1.03, + "O":2.00, + "F":1.11, + "Ne":1.50, + "Na":0.97, + "Mg":1.74, + "Al":2.7, + "Si":2.33, + "P":1.00, + "S":2.07, + "Cl":2.03, + "Ar":1.77, + "K":0.86, + "Ca":1.55, + "Sc":2.99, + "Ti":4.54, + "V":6.11, + "Cr":7.19, + "Mn":7.43, + "Fe":7.87, + "Co":8.9, + "Ni":8.9, + "Cu":8.96, + "Zn":7.13, + "Ga":5.91, + "Ge":5.32, + "As":5.72, + "Se":4.79, + "Br":3.14, + "Kr":3.10, + "Rb":1.53, + "Sr":2.54, + "Y":4.47, + "Zr":6.51, + "Nb":8.57, + "Mo":10.22, + "Tc":11.5, + "Ru":12.37, + "Rh":12.41, + "Pd":12.02, + "Ag":10.5, + "Cd":8.65, + "In":7.31, + "Sn":7.31, + "Sb":6.68, + "Te":6.24, + "I":4.93, + "Xe":3.80, + "Cs":1.90, + "Ba":3.59, + "La":6.15, + "Ce":6.77, + "Pr":6.77, + "Nd":7.01, + "Pm":7.22, + "Sm":7.52, + "Eu":5.24, + "Gd":7.9, + "Tb":8.23, + "Dy":8.55, + "Ho":8.8, + "Er":9.07, + "Tm":9.32, + "Yb":6.9, + "Lu":9.84, + "Hf":13.31, + "Ta":16.65, + "W":19.35, + "Re":21.04, + "Os":22.6, + "Ir":22.4, + "Pt":21.45, + "Au":19.32, + "Hg":13.55, + "Tl":11.85, + "Pb":11.35, + "Bi":9.75, + "Po":9.3, + "Th":11.72, + "Pa":15.4, + "U":18.95, + "":"" + } + document.getElementById(rhoLi).value = rhos[chem]; +} + +function openTab(event, tabName) { + // Declare all variables + var i, tabcontent, tablinks; + // Get all elements with class="tabcontent" and hide them + tabcontent = document.getElementsByClassName("tabcontent"); + for (i = 0; i < tabcontent.length; i++) { + tabcontent[i].style.display = "none"; + } + + // Get all elements with class="tablinks" and remove the class "active" + tablinks = document.getElementsByClassName("tablinks"); + for (i = 0; i < tablinks.length; i++) { + tablinks[i].className = tablinks[i].className.replace(" active", ""); + } + + // Show the current tab, and add an "active" class to the button that opened the tab + document.getElementById(tabName).style.display = "block"; + event.currentTarget.className += " active"; +} + +function adjust_table() +{ + var numLayer = document.getElementById("numLayer").value; + var LTable = document.getElementById("LTable"); + var Nrows = LTable.rows.length; + + var Comps = []; + var Rhos = []; + var Ds = []; + +// Need to loop to get the right number of rows when reloading + if (numLayer >= Nrows) { + for (i = Nrows;i<=numLayer;i++) { + var row = LTable.insertRow(i); + var Li = row.insertCell(0); + Li.innerHTML = i; + var compL = row.insertCell(1); + var compCell = document.createElement("input"); + compCell.id = "L"+i+"Comp"; + compCell.name = "L"+i+"Comp"; + compCell.size = 15; + compCell.onchange = rho_fun; + if (Comps[i-1]) {compCell.value = Comps[i-1];}else{compCell.value = 'SrTiO3';} + compL.appendChild(compCell); + var rhoL = row.insertCell(2); + var rhoCell = document.createElement("input"); + rhoCell.id = "L"+i+"rho"; + rhoCell.name = "L"+i+"rho"; + rhoCell.size = 5; + rhoL.appendChild(rhoCell); + if (Rhos[i-1]) {rhoCell.value = Rhos[i-1];}else{rhoCell.value = '5.12';} + var thickL = row.insertCell(3); + var thickCell = document.createElement("input"); + thickCell.id = "L"+i+"d"; + thickCell.name = "L"+i+"d"; + thickCell.size = 7; + thickL.appendChild(thickCell); + if (Ds[i-1]) {thickCell.value = Ds[i-1];}else{thickCell.value = '10000';} + } + } else { + for (i = Nrows-1;i>numLayer;i--) { + LTable.deleteRow(i); + } + } +} + +function adjust_scans() +{ + // Deal with scans checkbox and type + var scanSeq = document.getElementById("scanSeq").checked; + var sender = document.getElementById("scanSeq"); + var scanType = document.getElementById("scanType").value; + // consider only if scans checkbox is checked + if (scanSeq) { + // Which type of scan + if (scanType == "scanLoop") { + ShowHide(1,'ScansTable'); + ShowHide(0,'ScansLine'); + } else { + ShowHide(1,'ScansLine'); + ShowHide(0,'ScansTable'); + } + } else { + // Hide both + ShowHide(0,'ScansTable'); + ShowHide(0,'ScansLine'); + } +} + +function ProjSmartDefaults() +{ + var Proj = document.getElementById("ProjType").value; + var sigEnergy = document.getElementById("sigEnergy"); + var sigAngle = document.getElementById("sigAngle"); + + if (Proj == "Muon") { + sigEnergy.value = "450"; + sigAngle.value = "15"; + } else { + sigEnergy.value = "0"; + sigAngle.value = "0"; + } +} + +function ProjNumberLimit() +{ + var numberProj = document.getElementById("numberProj").value; + + if (numberProj > 5000) { + alert("Maximum number is 5000"); + document.getElementById("numberProj").value = 5000; + } +} + + +function ShowHide(onoff,item) { +// this function can switch item to visible/hidden onoff=1/0 + if(onoff){ +// document.getElementById(item).style.display = 'block'; + document.getElementById(item).style.visibility = "visible"; + } else { +// document.getElementById(item).style.display = 'none'; + document.getElementById(item).style.visibility = "hidden"; + } +} + +function prep_cfg(toggle) { + // This function collects various values and returns + // toggle=1 : returns object with all values + // toggle!=1 : returns string containing cfg file + let TrimSPcfg = ""; + let strtmp = ""; + let valtmp = ""; + + let All = new Object(); + + // Prepare Layers section + let LayersSec = "[Layers]\n"; + let numLayer = document.getElementById("numLayer").value; + All['numLayer']=numLayer; + LayersSec = LayersSec + "numLayer="+numLayer+"\n"; + for (i = 1;i<=numLayer;i++) { + strtmp = "L"+i+"Comp"; + valtmp = document.getElementById(strtmp).value; + All[strtmp]=valtmp; + LayersSec = LayersSec + strtmp +"="+ valtmp+"\n"; + strtmp = "L"+i+"rho"; + valtmp = document.getElementById(strtmp).value; + All[strtmp]=valtmp; + LayersSec = LayersSec + strtmp +"="+ valtmp+"\n"; + strtmp = "L"+i+"d"; + valtmp = document.getElementById(strtmp).value; + All[strtmp]=valtmp; + LayersSec = LayersSec + strtmp +"="+ valtmp+"\n"; + } + + // Prepare projectile parameters section + let parProj = ["workPath","fileNamePrefix","ProjType","numberProj","z0","dz","valEnergy","sigEnergy","valAngle","sigAngle","ranSeed"]; + let ProjSec = "[ProjectileParameters]\n"; + for (key of parProj) { + All[key]= document.getElementById(key).value; + ProjSec = ProjSec + key + "=" + All[key] + "\n"; + } + + // Prepare Files section + let FilesSec = "[Files]\n"; + FilesSec = FilesSec + "fileNamePrefix="+All["fileNamePrefix"]+"\nworkPath="+All["workPath"]+"\n"; + + // Prepare ScanSequence section + let ScanSec = "[ScanSequence]\n"; + strtmp = "scanSeq"; + valtmp = 1*(document.getElementById(strtmp).checked); + All[strtmp]=valtmp; + ScanSec = ScanSec + strtmp +"="+ valtmp+"\n"; + let parScan = ["comboScan","scanType","scanFrom","scanStep","scanTo","scanList","scanListdz"]; + for (key of parScan) { + All[key]= document.getElementById(key).value; + ScanSec = ScanSec + key + "=" + All[key] + "\n"; + } + + // Collect other parameters + let parOther = ["parEF", "parESB", "parSHEATH", "parERC", "parRD", "parCA", "parKK0", "parKK0R", "parKDEE1", "parKDEE2", "parIPOT", "parIPOTR", "parIRL"]; + for (key of parOther) { + All[key]= document.getElementById(key).value; + } + + // Construct full content of cfg file + TrimSPcfg = FilesSec + LayersSec + ProjSec + ScanSec; + if (toggle) { + return All; + } else { + return TrimSPcfg; + } +} + +function setValues(content) { + // This function takes cfg file content and substitutes values in the GUI + // Split file content into lines + var event = new Event('change'); + var lines = content.toString().split('\n'); + // Remove comment lines, empty lines and those starting with "[" + var PATTERN= /^(?!\[)(?!\#)(\S)/, + flines = lines.filter(function (str) {return PATTERN.test(str);}); + for (var i=0; i'); + win.document.write('
'); + win.document.write(''); + win.addEventListener('resize', sizePlot); + win.document.close(); + var plotDiv=win.document.getElementById("newPlot"); + + // Extract energies from run files if available + var files= new Object(); + var Es = []; + for (let i=0;i'); + win.document.write('
'); + win.document.write(''); + win.addEventListener('resize', sizePlot); + win.document.close(); + var plotDiv=win.document.getElementById("newPlot"); + + var [cfort,cdata]= readDatFile(filename); + let lyrs = [6]; // back scattered muons + for (let ilayer=18;ilayer'); + win.document.write('
'); + win.document.write(''); + win.addEventListener('resize', sizePlot); + win.document.close(); + var plotDiv=win.document.getElementById("newPlot"); + + let [cfort,cdata]= readDatFile(filename); + let mean = cdata[10]; + let strag = cdata[11]; + for (let i=0; i { + // console.log(output); + // }); +} + diff --git a/ZGUI.css b/ZGUI.css new file mode 100644 index 0000000..36482d3 --- /dev/null +++ b/ZGUI.css @@ -0,0 +1,177 @@ +* { + box-sizing: border-box; +} + +td { + white-space: nowrap; +} + +.guitable { + background-color: #DDDDDD; + border: 1px solid #000000; + /* border-collapse: collapse; */ + border-radius: 10px; + border: none; + border-spacing: 0px; + padding: 5px; + margin-left: auto; + margin-right: auto; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.guitable tr:last-child td:first-child { + border-bottom-left-radius: 12px; +} +.guitable tr:last-child td:last-child { + border-bottom-right-radius: 12px; +} +.guitable tr:first-child td:first-child { + border-top-left-radius: 12px; +} +.guitable tr:first-child td:last-child { + border-top-right-radius: 12px; +} +.guitable tr:nth-child(odd) { + background-color: #DDDDDD; +} +.guitable tr:nth-child(even) { + background-color: #DDDDDD; +} + +/* For mobile phones: */ +[class*="col-"] { + width: 100%; +} + +@media only screen and (min-width: 700px) { + /* For tablets: */ + .col-s-1 {width: 50%;background-color: #DDDDDD;} + .col-s-2 {width: 50%;background-color: #DDDDDD;} + .col-s-full {width: 100%;background-color: #F2F2F2;} + [class*="col-"] { + width: 100%; + } + +@media only screen and (min-width: 990px) { + /* For desktop: */ + .col-1 {width: 50%;background-color: #F2F2F2;} + .col-2 {width: 50%;background-color: #F2F2F2;} + .col-full {width: 100%;background-color: #F2F2F2;} +} + +[class*="col-"] { + float: left; + padding: 5px; + border: none; +} + +.row::after { + content: ""; + clear: both; + display: table; +} + +.group_name { + padding-left:1em; + padding-right:1em; + font-size:105%; + font-weight:bold; + width: 1%; + white-space: nowrap; + /* text-align: center; */ +} +.yellow_td { + padding-left:1em; + padding-right:1em; + background-color: yellow; + width: 1%; + white-space: nowrap; +} +.gray_td { + padding-left:1em; + padding-right:1em; + background-color: gray; + width: 1%; + white-space: nowrap; +} +.nocol_td { + padding-left:1em; + padding-right:1em; + width: 1%; + white-space: nowrap; +} + +/* Style the tab */ +.tab { + overflow: hidden; + border: 1px solid #ccc; + background-color: #f1f1f1; +} + +/* Style the buttons that are used to open the tab content */ +.tab button { + background-color: inherit; + float: left; + border: none; + outline: none; + cursor: pointer; + padding: 14px 16px; + transition: 0.3s; + font-size:105%; + font-weight:bold; +} + +/* Change background color of buttons on hover */ +.tab button:hover { + background-color: #ddd; +} + +/* Create an active/current tablink class */ +.tab button.active { + background-color: #ccc; +} + +/* Style the tab content */ +.tabcontent { + display: none; + padding: 6px 12px; + border: 1px solid #ccc; + border-top: none; +} + +.tabcontent { + animation: fadeEffect 1s; /* Fading effect takes 1 second */ +} + +/* Go from zero to full opacity */ +@keyframes fadeEffect { + from {opacity: 0;} + to {opacity: 1;} +} + +/* Chrome, Safari, Opera */ +@-webkit-keyframes example { + 0% {background-color:red; left:20px; top:0px;} + 25% {background-color:orange; left:25px; top:0px;} + 50% {background-color:green; left:30px; top:0px;} + 75% {background-color:orange; left:25px; top:0px;} + 100% {background-color:red; left:20px; top:0px;} +} + +/* Standard syntax */ +@keyframes example { + 0% {background-color:red; left:20px; top:0px;} + 25% {background-color:orange; left:25px; top:0px;} + 50% {background-color:green; left:30px; top:0px;} + 75% {background-color:orange; left:25px; top:0px;} + 100% {background-color:red; left:20px; top:0px;} +} + +#myBar { + width: 10%; + height: 30px; + background-color: #4CAF50; + text-align: center; /* To center it horizontally (if you want) */ + line-height: 30px; /* To center it vertically */ + color: white; +} diff --git a/main.js b/main.js new file mode 100644 index 0000000..d2e33f8 --- /dev/null +++ b/main.js @@ -0,0 +1,232 @@ +const { app, BrowserWindow, Menu, dialog, ipcMain, fs } = require('electron') + +function createWindow () { + const win = new BrowserWindow({ + width: 950, + height: 580, + webPreferences: { + nodeIntegration: true, + nativeWindowOpen: true + } + }) + + + const template = [ + { + label: 'File', + submenu: [ + { + label: 'Open', + accelerator: 'CmdOrCtrl+O', + click () { + dialog.showOpenDialog(win, + { title : "Load configuration file", + defaultPath : "./", + //buttonLabel : "Custom button", + filters :[ + {name: 'Config file type', extensions: ['cfg']}, + ], + properties: ['openFile']} + ).then(result => { + console.log(result.canceled); + console.log(result.filePaths); + if (!result.canceled) { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('openFile',result.filePaths); + } + }).catch(err => { + console.log(err); + }) + } + }, + { + label: 'Select Folder...', + accelerator: 'CmdOrCtrl+F', + click () { + dialog.showOpenDialog(win, + { title: "Select folder", + defaultPath : "./", + properties:["openDirectory"]} + ).then(result => { + console.log(result.filePaths) + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('selectFolder',result.filePaths); + }).catch(err => { + console.log(err); + }) + } + }, + { + label: 'Save', + accelerator: 'CmdOrCtrl+S', + click () { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('saveFile',''); + } + }, + { + label: 'Save As...', + accelerator: 'CmdOrCtrl+Shift+S', + click () { + dialog.showSaveDialog(win, + { title : "Save configuration file", + defaultPath : "./", + filters :[ + {name: 'Config file type', extensions: ['cfg']}, + {name: 'All Files', extensions: ['*']} + ], + properties: ['showOverwriteConfirmation']} + ).then(result => { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('saveFile',result.filePath); + }).catch(err => { + console.log(err); + }) + } + }, + { + label: 'Print', + accelerator: 'CmdOrCtrl+P', + click () { + var focusedWindow = BrowserWindow.getFocusedWindow(); + const options = {}; + focusedWindow.webContents.print(options, (success, errorType) => { + if (!success) console.log(errorType) + }) + } + }, + { + role: 'quit' + } + ] + }, + { + role: 'editMenu' + }, + { + label: 'Plot', + submenu: [ + { + label: 'Plot Profiles', + //accelerator: 'CmdOrCtrl+P P', + click () { + dialog.showOpenDialog(win, + { title : "Select rge files", + filters :[ + {name: 'Profile file type', extensions: ['rge']}, + {name: 'All Files', extensions: ['*']} + ], + properties: ['openFile', 'multiSelections']} + ).then(result => { + console.log(result.canceled); + console.log(result.filePaths); + if (!result.canceled) { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('plotProf',result.filePaths); + } + }).catch(err => { + console.log(err); + }) + } + }, + { + label: 'Plot Fractions', + //accelerator: 'CmdOrCtrl+P F', + click () { + dialog.showOpenDialog(win, + { title : "Select sequence file", + filters :[ + {name: 'Sequence file type', extensions: ['dat']}, + {name: 'All Files', extensions: ['*']} + ], + properties: ['openFile']} + ).then(result => { + console.log(result.canceled); + console.log(result.filePaths); + if (!result.canceled) { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('plotFrac',result.filePaths); + } + }).catch(err => { + console.log(err); + }) + } + }, + { + label: 'Plot Mean', + //accelerator: 'CmdOrCtrl+P M', + click () { + dialog.showOpenDialog(win, + { title : "Select sequence file", + filters :[ + {name: 'Sequence file type', extensions: ['dat']}, + {name: 'All Files', extensions: ['*']} + ], + properties: ['openFile']} + ).then(result => { + console.log(result.canceled); + console.log(result.filePaths); + if (!result.canceled) { + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('plotMean',result.filePaths); + } + }).catch(err => { + console.log(err); + }) + } + } + ] + }, + { + role: 'viewMenu' + }, + { + role: 'windowMenu' + }, + { + role: 'help', + submenu: [ + { + role: 'about' + }, + { + label: 'Learn More', + click () { require('electron').shell.openExternal('http://electron.atom.io') } + } + ] + } + ] + const menu = Menu.buildFromTemplate(template) + Menu.setApplicationMenu(menu) + + win.loadFile('TrimSP.html'); + // Comment the following line to start without Dev + // win.openDevTools(); +} + +app.whenReady().then(createWindow) + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) { + createWindow() + } +}) + +ipcMain.on('folderSelect', (event) => { + dialog.showOpenDialog({ title: "Select folder", + defaultPath : "./", + properties:["openDirectory"]} + ).then(result => { + console.log(result.filePaths) + var focusedWindow = BrowserWindow.getFocusedWindow(); + focusedWindow.webContents.send('selectFolder',result.filePaths); + }).catch(err => { + console.log(err); + }) +}); diff --git a/myplots.js b/myplots.js new file mode 100644 index 0000000..31ea5e6 --- /dev/null +++ b/myplots.js @@ -0,0 +1,115 @@ +const Plotly = require('plotly.js-dist'); + +function Plot_xy(plotdiv,x,y,labels){ + // Plot (x,y) scatter with x/ylabels + // place generated plot in div named plotdiv + //var plotDiv = document.getElementById(plotdiv); + + let xlable = ''; + let ylable = ''; + let legend = ''; + + + // labels are arranged as xlable, ylabel, legend + if (labels[0]) xlabel=labels[0]; + if (labels[1]) ylabel=labels[1]; + if (labels[2]) legend=labels[2]; + + let traces = [{ + x: x, + y: y, + mode: 'lines+markers', + line: {shape: 'spline'}, + name: legend + }]; + + let layout = { + autosize: true, + xaxis: {title: xlabel}, + yaxis: {title: ylabel} + } + + Plotly.plot(plotdiv, traces, layout); + // Resize + if (plotdiv == "plotRge") resizePl(1); + if (plotdiv == "plotFrac") resizePl(2); +}; + +function Plot_xyerr(plotdiv,x, y,dy,xlabel,ylabel){ + // Plot (x,y) scatter with x/ylabels + // place generated plot in div named plotdiv + // and y error bars in dy + var traces = [{ + x: x, + y: y, + mode: 'lines+markers', + error_y: { + type: 'data', + array : dy, + visible: true + }, + }]; + + var layout = { + xaxis: {title: xlabel}, + yaxis: {title: ylabel} + } + + Plotly.plot(plotdiv, traces, layout); +}; + +function Plot_xyerrpm(plotdiv,x, y,dyp,dym,xlabel,ylabel){ + // Plot (x,y) scatter with x/ylabels + // place generated plot in div named plotdiv + // and aymmetric y error bars in dyp and dym + var plotDiv = document.getElementById("plot"); + var traces = [{ + x: x, + y: y, + mode: 'lines+markers', + error_y: { + type: 'data', + symmetric: false, + array : dyp, + arrayminus: dym, + visible: true + }, + }]; + + var layout = { + xaxis: {title: xlabel}, + yaxis: {title: ylabel} + } + + Plotly.plot(plotdiv,traces,layout); +}; + +function sizePlot(){ + var plotDiv=this.document.getElementById("newPlot"); + let newx=this.innerWidth-25; + let newy=this.innerHeight-25; + var update ={ + width: newx, + height: newy + }; + Plotly.relayout(plotDiv,update); +} + +function resizePl(flag){ + let newx=this.innerWidth/2-50; + let newy=this.innerHeight-85; + var plotDiv1=this.document.getElementById("plotRge"); + var plotDiv2=this.document.getElementById("plotFrac"); + var update ={ + width: newx, + height: newy + }; + if (flag == null) { + Plotly.relayout(plotDiv1,update); + Plotly.relayout(plotDiv2,update); + } else if (flag == 1) { + Plotly.relayout(plotDiv1,update); + } else if ( flag == 2) { + Plotly.relayout(plotDiv2,update); + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..01bdb86 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5210 @@ +{ + "name": "TrimSP", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@electron-forge/async-ora": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.57.tgz", + "integrity": "sha512-pinf6bB5etIKNwFgMx2V+kwsFlkjU4mApALv0Jn/lmcH5dlAB4zPwuKTccC44xVO4pp/bV1HWb1XJ4lHVxYaJg==", + "dev": true, + "requires": { + "colors": "^1.4.0", + "debug": "^4.3.1", + "log-symbols": "^4.0.0", + "ora": "^5.0.0", + "pretty-ms": "^7.0.0" + } + }, + "@electron-forge/cli": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.0-beta.57.tgz", + "integrity": "sha512-ouIL3FI6C0W3iLwwwQzKufjoP/OZagUDMCDjGLN/dqeg+lZ+cR40bdfaNTFha9ajz+zSe2SmhCOMVUVNNkJ5Sg==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/core": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "@electron/get": "^1.9.0", + "colors": "^1.4.0", + "commander": "^4.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "inquirer": "^8.0.0", + "semver": "^7.2.1" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/core": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.0-beta.57.tgz", + "integrity": "sha512-pLYG0QefjAEjxRazgEjryb4TrxVeebGTqXqZsKOpABAlDaKU4EmBq06SeSu8H9IAzMPwzpDIa6PaXdkMclqhnA==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/installer-base": "6.0.0-beta.57", + "@electron-forge/installer-deb": "6.0.0-beta.57", + "@electron-forge/installer-dmg": "6.0.0-beta.57", + "@electron-forge/installer-exe": "6.0.0-beta.57", + "@electron-forge/installer-rpm": "6.0.0-beta.57", + "@electron-forge/installer-zip": "6.0.0-beta.57", + "@electron-forge/maker-base": "6.0.0-beta.57", + "@electron-forge/plugin-base": "6.0.0-beta.57", + "@electron-forge/publisher-base": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "@electron-forge/template-base": "6.0.0-beta.57", + "@electron-forge/template-typescript": "6.0.0-beta.57", + "@electron-forge/template-typescript-webpack": "6.0.0-beta.57", + "@electron-forge/template-webpack": "6.0.0-beta.57", + "@electron/get": "^1.9.0", + "@malept/cross-spawn-promise": "^1.1.1", + "colors": "^1.4.0", + "debug": "^4.3.1", + "electron-packager": "^15.0.0", + "electron-rebuild": "^2.3.2", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "glob": "^7.1.5", + "lodash": "^4.17.20", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.0", + "nugget": "^2.0.1", + "resolve-package": "^1.0.1", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "sudo-prompt": "^9.1.1", + "username": "^5.1.0", + "yarn-or-npm": "^3.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/installer-base": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-base/-/installer-base-6.0.0-beta.57.tgz", + "integrity": "sha512-qeQMUos0WADEddSGhViCUeMswsFz1IL+elIy5h06AxgjoRtOU75VVy9RgVfDAMIN0iKvEWNKLQz1CBUtVAt0fA==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57" + } + }, + "@electron-forge/installer-darwin": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-darwin/-/installer-darwin-6.0.0-beta.57.tgz", + "integrity": "sha512-3dsa948r3gCkD+ooKeGwWSUyh5GEJ7ngi9t1dRD+f1jUnkU1e3SqcGXH68dr5NYn3OcsFDWreK3xvx/1qdEQAg==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/installer-base": "6.0.0-beta.57", + "fs-extra": "^10.0.0", + "sudo-prompt": "^9.1.1" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/installer-deb": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-deb/-/installer-deb-6.0.0-beta.57.tgz", + "integrity": "sha512-Dnm68RUwR0UEe1hq1OPWso0LwdkZTa7Rpv0m9bHl+IvXTmrU//S5fdHEtjHAmto8f8PD5VadsLQcxsc3bQVNGQ==", + "dev": true, + "requires": { + "@electron-forge/installer-linux": "6.0.0-beta.57" + } + }, + "@electron-forge/installer-dmg": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-dmg/-/installer-dmg-6.0.0-beta.57.tgz", + "integrity": "sha512-kmAYga2yY5JcrRI3Dtpau5Ldsebzs4pGkCCBJqq5asqgDGdCpw+8Cky6ouJDaZMl853C0CEnqxeoGYDTAlVBKA==", + "dev": true, + "requires": { + "@electron-forge/installer-darwin": "6.0.0-beta.57", + "@malept/cross-spawn-promise": "^1.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/installer-exe": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-exe/-/installer-exe-6.0.0-beta.57.tgz", + "integrity": "sha512-hVh4vh2q7BxJ8npsVCSxSdoUMwQwcs0LidbanXK8CqHmTgnb9MNDSHomCxOnX+kMQX85mCj9Nc5ROviXnLN4Xg==", + "dev": true, + "requires": { + "@electron-forge/installer-base": "6.0.0-beta.57", + "open": "^8.1.0" + } + }, + "@electron-forge/installer-linux": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-linux/-/installer-linux-6.0.0-beta.57.tgz", + "integrity": "sha512-MTK4wLCWxYctzo/htghNhZ5ptIf46AE3UdeQItjiEhL4+KjJjQN8JAVkl40WeM+rUDA53WRQ35HeykNBmspb6A==", + "dev": true, + "requires": { + "@electron-forge/installer-base": "6.0.0-beta.57", + "sudo-prompt": "^9.1.1" + } + }, + "@electron-forge/installer-rpm": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-rpm/-/installer-rpm-6.0.0-beta.57.tgz", + "integrity": "sha512-cTzL6mwkhKEkl4v7NE2ATaEsptf5OhTbtwb/tRVIuEOblYKTxw3x9nnH8iGJ73xPW/54awGiU1kHJTKA6UhcUA==", + "dev": true, + "requires": { + "@electron-forge/installer-linux": "6.0.0-beta.57" + } + }, + "@electron-forge/installer-zip": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/installer-zip/-/installer-zip-6.0.0-beta.57.tgz", + "integrity": "sha512-ip/mlC32/mdUzFsM/39cZWshLN1B1f6atYHd2OpXlyAz6IZWrRHdsrJGtYsGdpgeoV/wMm09MTyuKXku3ehPaQ==", + "dev": true, + "requires": { + "@electron-forge/installer-darwin": "6.0.0-beta.57", + "@malept/cross-spawn-promise": "^1.1.1", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/maker-base": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.57.tgz", + "integrity": "sha512-VnoSCeyCHBv9q0Bz9JRgKC1b4k3z/Qb2T9DrpMqEVW6ClZVkOAZVmjyEtb+Xn8DnRPc4UtSjpAquycC/AZJ4MQ==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.0.0-beta.57", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/maker-deb": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.0.0-beta.57.tgz", + "integrity": "sha512-TfG5CxLIWtip0RDGnj88y9vgqJO+iexDoc2Lo3huCgYxHl/AgI8PTLFz/nnpmJChsno5MUv6Wf4xcu5Ln65Jfg==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "electron-installer-debian": "^3.0.0" + } + }, + "@electron-forge/maker-rpm": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.0.0-beta.57.tgz", + "integrity": "sha512-ZfnJqY9waLef09zlyjWV6jfH1F6ejCPrEULLU4bgcISQJ1JlR/zBlAw6ug3vIeMT7WYxTOOObHKPnnddWmfMmQ==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "electron-installer-redhat": "^3.2.0" + } + }, + "@electron-forge/maker-squirrel": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.57.tgz", + "integrity": "sha512-670nBYgA0I3Hc+wiOXnaRTXrwIL907VqEpLF5vtQLQ+sCoUmRZ4fcl5wmQCVvYd4J50bDrjDNTXFeDwB9PNCTQ==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "electron-winstaller": "^5.0.0", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/maker-zip": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.0.0-beta.57.tgz", + "integrity": "sha512-5EcCN/tD6EBmA5oD/hQOTRENKq12vp6S8HgVXNib6CtVrnGVVLYukiqJ8NGC7S/0VMTO+NtZyHax21+xnuk6TA==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/plugin-base": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.0-beta.57.tgz", + "integrity": "sha512-lErdgdSGd+HcIzXsZC1Pf6VuLYsDVHTwFUzuZqUPdl28AOWKfwW+XpIZoPMDt2/Mdd5K0mCcYSylikcSa8RHYA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.0.0-beta.57" + } + }, + "@electron-forge/publisher-base": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.0-beta.57.tgz", + "integrity": "sha512-eJFVt4JI/zCw86PMu/LERMAMVcPchyFfZ9upFec4YuOOMLaJH1NvbO3gGgYj7vavH1hQWZA6Yn7u8b+E8y8Byw==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.0.0-beta.57" + } + }, + "@electron-forge/shared-types": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.57.tgz", + "integrity": "sha512-8jRAf7HsfQC5BA8MTOwh8cXmqJ8JJqzO7WzDW9A50tHOKbpBxPW9YM8036SZzZ4GNZYBSWmJt3d3vW+KFLeYXg==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "electron-packager": "^15.0.0", + "electron-rebuild": "^2.3.2", + "ora": "^5.0.0" + } + }, + "@electron-forge/template-base": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.0-beta.57.tgz", + "integrity": "sha512-3Nc7ik99VHQK8eTUrO/lA2tMRM5a0fLX+GgjR32yzkaAv081qd6t/XWS7MfU3k5Ld5cYMturUywJnEP/QdxOvA==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "username": "^5.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/template-typescript": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/template-typescript/-/template-typescript-6.0.0-beta.57.tgz", + "integrity": "sha512-NhcyTaLjbBGtdCTkAJgazKR4B9+yNFNH8QiXm3u6bg0cv2MhPWydmPuiEjFRLqG+Vz6jS4sW6jSIyCjFRK42ow==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "@electron-forge/template-base": "6.0.0-beta.57", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/template-typescript-webpack": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/template-typescript-webpack/-/template-typescript-webpack-6.0.0-beta.57.tgz", + "integrity": "sha512-S9AzVLB02AvOwEOtQvtSJlv7BPZPSX3gdqwhoxPcTP6Pi/hOvVeEweptkwwRzGsZmSI7/ifi1bq7avhnzjasZw==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "@electron-forge/template-base": "6.0.0-beta.57", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron-forge/template-webpack": { + "version": "6.0.0-beta.57", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.0-beta.57.tgz", + "integrity": "sha512-df4/jHKcZ6+8qIE+h2U9Ej5P36uGQZjI8+CcIPDE/46avHT+BwCmlMA/ZTGUQ787U9WkoMiI7122jdd7GNyuCQ==", + "dev": true, + "requires": { + "@electron-forge/async-ora": "6.0.0-beta.57", + "@electron-forge/shared-types": "6.0.0-beta.57", + "@electron-forge/template-base": "6.0.0-beta.57", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron/get": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.3.tgz", + "integrity": "sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "filenamify": "^4.1.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + } + }, + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/fs-extra": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", + "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "optional": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==", + "dev": true + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "12.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", + "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==", + "dev": true + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "asar": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", + "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + } + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolean": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz", + "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "core-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cross-zip": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", + "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", + "dev": true + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true, + "optional": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "optional": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true, + "optional": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.2.1.tgz", + "integrity": "sha512-Im1y29Bnil+Nzs+FCTq01J1OtLbs+2ZGLLllaqX/9n5GgpdtDmZhS/++JHBsYZ+4+0n7asO+JKQgJD+CqPClzg==", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + } + }, + "electron-installer-common": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz", + "integrity": "sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "@types/fs-extra": "^9.0.1", + "asar": "^3.0.0", + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "parse-author": "^2.0.0", + "semver": "^7.1.1", + "tmp-promise": "^3.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "optional": true + } + } + }, + "electron-installer-debian": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.1.0.tgz", + "integrity": "sha512-k6KChvx0Fw8XTlCqwwbBfh19yGQaKjGdbugokmr1IpzINOm4QFyACKMTHAYFHW5LCBUZQShZD96hwxUZ+8Kx+w==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "get-folder-size": "^2.0.1", + "lodash": "^4.17.4", + "word-wrap": "^1.2.3", + "yargs": "^15.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "optional": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "optional": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "optional": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "optional": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "optional": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "optional": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "optional": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "optional": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "optional": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "optional": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "optional": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "optional": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "optional": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "electron-installer-redhat": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.3.0.tgz", + "integrity": "sha512-hXIXB3uQXmXZy/v3MpbwWN4Of28ALpPt9ZyUDNEoSe0w7QZceL9IqI2K6Q6imiBJCLRC0hmT94WhlKj1RyGOWg==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "optional": true + } + } + }, + "electron-notarize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.0.0.tgz", + "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "electron-osx-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", + "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "electron-packager": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz", + "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==", + "dev": true, + "requires": { + "@electron/get": "^1.6.0", + "asar": "^3.0.0", + "debug": "^4.0.1", + "electron-notarize": "^1.0.0", + "electron-osx-sign": "^0.5.0", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^9.0.0", + "galactus": "^0.2.1", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "rcedit": "^2.0.0", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^20.0.0" + }, + "dependencies": { + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "electron-rebuild": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-2.3.5.tgz", + "integrity": "sha512-1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==", + "dev": true, + "requires": { + "@malept/cross-spawn-promise": "^1.1.1", + "colors": "^1.3.3", + "debug": "^4.1.1", + "detect-libc": "^1.0.3", + "fs-extra": "^9.0.1", + "got": "^11.7.0", + "lzma-native": "^6.0.1", + "node-abi": "^2.19.2", + "node-gyp": "^7.1.0", + "ora": "^5.1.0", + "tar": "^6.0.5", + "yargs": "^16.0.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "dev": true, + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "cacheable-request": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^2.0.0" + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "11.8.2", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", + "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.1", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha1-GbTlWTP6Dvj1VnhLnGYPdyVGoLg=", + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "electron-winstaller": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.0.0.tgz", + "integrity": "sha512-V+jFda7aVAm0htCG8Q95buPUpmXZW9ujh1HdhSlWY6y4QnJnw4TfrmxTlQWV4p2ioF/71JMI/1YF+/qbSICogA==", + "dev": true, + "optional": true, + "requires": { + "asar": "^2.0.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash.template": "^4.2.2", + "temp": "^0.9.0" + }, + "dependencies": { + "asar": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz", + "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==", + "dev": true, + "optional": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^2.20.0", + "cuint": "^0.2.2", + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "tmp-promise": "^1.0.5" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", + "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", + "dev": true, + "optional": true, + "requires": { + "rimraf": "^2.6.3" + } + }, + "tmp-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz", + "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==", + "dev": true, + "optional": true, + "requires": { + "bluebird": "^3.5.0", + "tmp": "0.1.0" + } + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz", + "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "flora-colossus": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz", + "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^7.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "galactus": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", + "integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=", + "dev": true, + "requires": { + "debug": "^3.1.0", + "flora-colossus": "^1.0.0", + "fs-extra": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "gar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==", + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "dev": true, + "optional": true, + "requires": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + } + }, + "get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "requires": { + "global-modules": "1.0.0" + } + }, + "get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=", + "dev": true, + "requires": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "dev": true, + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", + "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.3.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.6", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true, + "optional": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "optional": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "optional": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "lzma-native": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.1.tgz", + "integrity": "sha512-O6oWF0xe1AFvOCjU8uOZBZ/lhjaMNwHfVNaqVMqmoQXlRwBcFWpCAToiZOdXcKVMdo/5s/D0a2QgA5laMErxHQ==", + "dev": true, + "requires": { + "node-addon-api": "^1.6.0", + "node-pre-gyp": "^0.11.0", + "readable-stream": "^2.3.5", + "rimraf": "^2.7.1" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true + } + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "needle": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", + "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-abi": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", + "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", + "dev": true, + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "dev": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "dev": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nugget": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", + "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", + "dev": true, + "requires": { + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^1.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", + "throttleit": "0.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.2.0.tgz", + "integrity": "sha512-O8uInONB4asyY3qUcEytpgwxQG3O0fJ/hlssoUHsBboOIRVZzT6Wq+Rwj5nffbeUhOdMjpXeISpDDzHCMRDuOQ==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", + "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=", + "dev": true, + "requires": { + "author-regex": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", + "dev": true, + "requires": { + "base64-js": "^1.5.1", + "xmlbuilder": "^9.0.7", + "xmldom": "^0.5.0" + } + }, + "plotly.js-dist": { + "version": "1.58.4", + "resolved": "https://registry.npmjs.org/plotly.js-dist/-/plotly.js-dist-1.58.4.tgz", + "integrity": "sha512-oXCTRJFN8FBsHZSQPYoM3LuJQchPUrf6sOXFC0EFdvcr5lmJmLcAsW74jDy9PkRpm3PB+A+2oY1hsUMmk2eZbw==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + } + }, + "pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "requires": { + "parse-ms": "^2.1.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "progress-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", + "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", + "dev": true, + "requires": { + "speedometer": "~0.1.2", + "through2": "~0.2.3" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "rcedit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz", + "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "optional": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-alpn": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", + "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==", + "dev": true + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", + "integrity": "sha1-aG9wsYi9fWdfW7xCgszaBgq7nSc=", + "dev": true, + "requires": { + "get-installed-path": "^2.0.3" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "single-line-log": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", + "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", + "dev": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "speedometer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", + "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", + "dev": true + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", + "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha1-jru/1tYpXxNwAD+7NxYq/loKUdE=", + "dev": true, + "optional": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmp-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", + "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", + "dev": true, + "optional": true, + "requires": { + "tmp": "^0.2.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "optional": true, + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "mem": "^4.3.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "optional": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmldom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + }, + "dependencies": { + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + } + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + }, + "yarn-or-npm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", + "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5", + "pkg-dir": "^4.2.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3f83168 --- /dev/null +++ b/package.json @@ -0,0 +1,53 @@ +{ + "name": "TrimSP", + "version": "1.0.0", + "description": "Trim.SP simulation to calculate stopping profile of implanted probes.", + "main": "main.js", + "scripts": { + "start": "electron-forge start", + "package": "electron-forge package", + "make": "electron-forge make" + }, + "keywords": [], + "author": "Zaher Salman", + "license": "GPL2", + "devDependencies": { + "@electron-forge/cli": "^6.0.0-beta.57", + "@electron-forge/maker-deb": "^6.0.0-beta.57", + "@electron-forge/maker-rpm": "^6.0.0-beta.57", + "@electron-forge/maker-squirrel": "^6.0.0-beta.57", + "@electron-forge/maker-zip": "^6.0.0-beta.57", + "electron": "^11.2.1" + }, + "dependencies": { + "electron-squirrel-startup": "^1.0.0", + "plotly.js-dist": "^1.58.4" + }, + "config": { + "forge": { + "packagerConfig": {}, + "makers": [ + { + "name": "@electron-forge/maker-squirrel", + "config": { + "name": "TrimSP" + } + }, + { + "name": "@electron-forge/maker-zip", + "platforms": [ + "darwin" + ] + }, + { + "name": "@electron-forge/maker-deb", + "config": {} + }, + { + "name": "@electron-forge/maker-rpm", + "config": {} + } + ] + } + } +} diff --git a/plotly.css b/plotly.css new file mode 100644 index 0000000..be79342 --- /dev/null +++ b/plotly.css @@ -0,0 +1,220 @@ +.js-plotly-plot .plotly, .js-plotly-plot .plotly div { + direction: ltr; + font-family: 'Open Sans', verdana, arial, sans-serif; + margin: 0; + padding: 0; } +.js-plotly-plot .plotly input, .js-plotly-plot .plotly button { + font-family: 'Open Sans', verdana, arial, sans-serif; } + .js-plotly-plot .plotly input:focus, .js-plotly-plot .plotly button:focus { + outline: none; } +.js-plotly-plot .plotly a { + text-decoration: none; } + .js-plotly-plot .plotly a:hover { + text-decoration: none; } +.js-plotly-plot .plotly .crisp { + shape-rendering: crispEdges; } +.js-plotly-plot .plotly .user-select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; } +.js-plotly-plot .plotly svg { + overflow: hidden; } +.js-plotly-plot .plotly svg a { + fill: #447adb; } +.js-plotly-plot .plotly svg a:hover { + fill: #3c6dc5; } +.js-plotly-plot .plotly .main-svg { + position: absolute; + top: 0; + left: 0; + pointer-events: none; } + .js-plotly-plot .plotly .main-svg .draglayer { + pointer-events: all; } +.js-plotly-plot .plotly .cursor-default { + cursor: default; } +.js-plotly-plot .plotly .cursor-pointer { + cursor: pointer; } +.js-plotly-plot .plotly .cursor-crosshair { + cursor: crosshair; } +.js-plotly-plot .plotly .cursor-move { + cursor: move; } +.js-plotly-plot .plotly .cursor-col-resize { + cursor: col-resize; } +.js-plotly-plot .plotly .cursor-row-resize { + cursor: row-resize; } +.js-plotly-plot .plotly .cursor-ns-resize { + cursor: ns-resize; } +.js-plotly-plot .plotly .cursor-ew-resize { + cursor: ew-resize; } +.js-plotly-plot .plotly .cursor-sw-resize { + cursor: sw-resize; } +.js-plotly-plot .plotly .cursor-s-resize { + cursor: s-resize; } +.js-plotly-plot .plotly .cursor-se-resize { + cursor: se-resize; } +.js-plotly-plot .plotly .cursor-w-resize { + cursor: w-resize; } +.js-plotly-plot .plotly .cursor-e-resize { + cursor: e-resize; } +.js-plotly-plot .plotly .cursor-nw-resize { + cursor: nw-resize; } +.js-plotly-plot .plotly .cursor-n-resize { + cursor: n-resize; } +.js-plotly-plot .plotly .cursor-ne-resize { + cursor: ne-resize; } +.js-plotly-plot .plotly .cursor-grab { + cursor: -webkit-grab; + cursor: grab; } +.js-plotly-plot .plotly .modebar { + position: absolute; + top: 2px; + right: 2px; } +.js-plotly-plot .plotly .ease-bg { + -webkit-transition: background-color 0.3s ease 0s; + -moz-transition: background-color 0.3s ease 0s; + -ms-transition: background-color 0.3s ease 0s; + -o-transition: background-color 0.3s ease 0s; + transition: background-color 0.3s ease 0s; } +.js-plotly-plot .plotly .modebar--hover > :not(.watermark) { + opacity: 0; + -webkit-transition: opacity 0.3s ease 0s; + -moz-transition: opacity 0.3s ease 0s; + -ms-transition: opacity 0.3s ease 0s; + -o-transition: opacity 0.3s ease 0s; + transition: opacity 0.3s ease 0s; } +.js-plotly-plot .plotly:hover .modebar--hover .modebar-group { + opacity: 1; } +.js-plotly-plot .plotly .modebar-group { + float: left; + display: inline-block; + box-sizing: border-box; + padding-left: 8px; + position: relative; + vertical-align: middle; + white-space: nowrap; } +.js-plotly-plot .plotly .modebar-btn { + position: relative; + font-size: 16px; + padding: 3px 4px; + height: 22px; + /* display: inline-block; including this breaks 3d interaction in .embed mode. Chrome bug? */ + cursor: pointer; + line-height: normal; + box-sizing: border-box; } + .js-plotly-plot .plotly .modebar-btn svg { + position: relative; + top: 2px; } +.js-plotly-plot .plotly .modebar.vertical { + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-content: flex-end; + max-height: 100%; } + .js-plotly-plot .plotly .modebar.vertical svg { + top: -1px; } + .js-plotly-plot .plotly .modebar.vertical .modebar-group { + display: block; + float: none; + padding-left: 0px; + padding-bottom: 8px; } + .js-plotly-plot .plotly .modebar.vertical .modebar-group .modebar-btn { + display: block; + text-align: center; } +.js-plotly-plot .plotly [data-title] { + /** + * tooltip body + */ } + .js-plotly-plot .plotly [data-title]:before, .js-plotly-plot .plotly [data-title]:after { + position: absolute; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + display: none; + opacity: 0; + z-index: 1001; + pointer-events: none; + top: 110%; + right: 50%; } + .js-plotly-plot .plotly [data-title]:hover:before, .js-plotly-plot .plotly [data-title]:hover:after { + display: block; + opacity: 1; } + .js-plotly-plot .plotly [data-title]:before { + content: ''; + position: absolute; + background: transparent; + border: 6px solid transparent; + z-index: 1002; + margin-top: -12px; + border-bottom-color: #69738a; + margin-right: -6px; } + .js-plotly-plot .plotly [data-title]:after { + content: attr(data-title); + background: #69738a; + color: white; + padding: 8px 10px; + font-size: 12px; + line-height: 12px; + white-space: nowrap; + margin-right: -18px; + border-radius: 2px; } +.js-plotly-plot .plotly .vertical [data-title]:before, .js-plotly-plot .plotly .vertical [data-title]:after { + top: 0%; + right: 200%; } +.js-plotly-plot .plotly .vertical [data-title]:before { + border: 6px solid transparent; + border-left-color: #69738a; + margin-top: 8px; + margin-right: -30px; } +.js-plotly-plot .plotly .select-outline { + fill: none; + stroke-width: 1; + shape-rendering: crispEdges; } +.js-plotly-plot .plotly .select-outline-1 { + stroke: white; } +.js-plotly-plot .plotly .select-outline-2 { + stroke: black; + stroke-dasharray: 2px 2px; } + +.plotly-notifier { + font-family: 'Open Sans', verdana, arial, sans-serif; + position: fixed; + top: 50px; + right: 20px; + z-index: 10000; + font-size: 10pt; + max-width: 180px; } + .plotly-notifier p { + margin: 0; } + .plotly-notifier .notifier-note { + min-width: 180px; + max-width: 250px; + border: 1px solid #fff; + z-index: 3000; + margin: 0; + background-color: #8c97af; + background-color: rgba(140, 151, 175, 0.9); + color: #fff; + padding: 10px; + overflow-wrap: break-word; + word-wrap: break-word; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; } + .plotly-notifier .notifier-close { + color: #fff; + opacity: 0.8; + float: right; + padding: 0 5px; + background: none; + border: none; + font-size: 20px; + font-weight: bold; + line-height: 20px; } + .plotly-notifier .notifier-close:hover { + color: #444; + text-decoration: none; + cursor: pointer; } diff --git a/trimspNL b/trimspNL new file mode 100755 index 0000000000000000000000000000000000000000..5fa0a2fa93b1e181ed43851d9317ceaf9cdb60d9 GIT binary patch literal 262184 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