UNPKG

overwatch-api-server

Version:
7 lines 48.5 kB
"use strict";function cov_17v8rvbf8z(){var path="C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js";var hash="81770f62ec88958c2e9114350cd718996ab6a5c7";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js",statementMap:{"0":{start:{line:3,column:0},end:{line:5,column:3}},"1":{start:{line:6,column:0},end:{line:6,column:30}},"2":{start:{line:8,column:13},end:{line:8,column:53}},"3":{start:{line:10,column:15},end:{line:10,column:57}},"4":{start:{line:12,column:13},end:{line:12,column:31}},"5":{start:{line:14,column:39},end:{line:14,column:95}},"6":{start:{line:16,column:18},end:{line:16,column:19}},"7":{start:{line:19,column:12},end:{line:19,column:75}},"8":{start:{line:20,column:16},end:{line:23,column:3}},"9":{start:{line:24,column:2},end:{line:24,column:66}},"10":{start:{line:29,column:10},end:{line:29,column:51}},"11":{start:{line:32,column:16},end:{line:32,column:57}},"12":{start:{line:34,column:2},end:{line:36,column:3}},"13":{start:{line:35,column:4},end:{line:35,column:52}},"14":{start:{line:38,column:15},end:{line:51,column:3}},"15":{start:{line:52,column:2},end:{line:52,column:32}},"16":{start:{line:57,column:15},end:{line:57,column:32}},"17":{start:{line:58,column:12},end:{line:58,column:14}},"18":{start:{line:59,column:13},end:{line:59,column:15}},"19":{start:{line:60,column:13},end:{line:60,column:15}},"20":{start:{line:61,column:15},end:{line:61,column:17}},"21":{start:{line:62,column:13},end:{line:62,column:15}},"22":{start:{line:64,column:2},end:{line:66,column:3}},"23":{start:{line:65,column:4},end:{line:65,column:67}},"24":{start:{line:68,column:2},end:{line:70,column:3}},"25":{start:{line:69,column:4},end:{line:69,column:73}},"26":{start:{line:72,column:2},end:{line:74,column:3}},"27":{start:{line:73,column:4},end:{line:73,column:75}},"28":{start:{line:76,column:2},end:{line:78,column:3}},"29":{start:{line:77,column:4},end:{line:77,column:64}},"30":{start:{line:80,column:2},end:{line:82,column:3}},"31":{start:{line:81,column:4},end:{line:81,column:66}},"32":{start:{line:84,column:2},end:{line:86,column:3}},"33":{start:{line:85,column:4},end:{line:85,column:66}},"34":{start:{line:88,column:2},end:{line:90,column:3}},"35":{start:{line:89,column:4},end:{line:89,column:70}},"36":{start:{line:92,column:2},end:{line:94,column:3}},"37":{start:{line:93,column:4},end:{line:93,column:72}},"38":{start:{line:96,column:13},end:{line:118,column:3}},"39":{start:{line:119,column:2},end:{line:119,column:30}},"40":{start:{line:123,column:2},end:{line:133,column:5}},"41":{start:{line:128,column:4},end:{line:130,column:5}},"42":{start:{line:129,column:6},end:{line:129,column:27}},"43":{start:{line:132,column:4},end:{line:132,column:45}}},fnMap:{"0":{name:"_interopRequireDefault",decl:{start:{line:14,column:9},end:{line:14,column:31}},loc:{start:{line:14,column:37},end:{line:14,column:97}},line:14},"1":{name:"getHTML",decl:{start:{line:18,column:9},end:{line:18,column:16}},loc:{start:{line:18,column:50},end:{line:25,column:1}},line:18},"2":{name:"parseHTML",decl:{start:{line:28,column:9},end:{line:28,column:18}},loc:{start:{line:28,column:38},end:{line:53,column:1}},line:28},"3":{name:"transform",decl:{start:{line:56,column:9},end:{line:56,column:18}},loc:{start:{line:56,column:38},end:{line:120,column:1}},line:56},"4":{name:"_default",decl:{start:{line:122,column:9},end:{line:122,column:17}},loc:{start:{line:122,column:51},end:{line:134,column:1}},line:122},"5":{name:"(anonymous_5)",decl:{start:{line:127,column:5},end:{line:127,column:6}},loc:{start:{line:127,column:29},end:{line:133,column:3}},line:127}},branchMap:{"0":{loc:{start:{line:14,column:46},end:{line:14,column:94}},type:"cond-expr",locations:[{start:{line:14,column:70},end:{line:14,column:73}},{start:{line:14,column:76},end:{line:14,column:94}}],line:14},"1":{loc:{start:{line:14,column:46},end:{line:14,column:67}},type:"binary-expr",locations:[{start:{line:14,column:46},end:{line:14,column:49}},{start:{line:14,column:53},end:{line:14,column:67}}],line:14},"2":{loc:{start:{line:34,column:2},end:{line:36,column:3}},type:"if",locations:[{start:{line:34,column:2},end:{line:36,column:3}},{start:{line:34,column:2},end:{line:36,column:3}}],line:34},"3":{loc:{start:{line:64,column:2},end:{line:66,column:3}},type:"if",locations:[{start:{line:64,column:2},end:{line:66,column:3}},{start:{line:64,column:2},end:{line:66,column:3}}],line:64},"4":{loc:{start:{line:68,column:2},end:{line:70,column:3}},type:"if",locations:[{start:{line:68,column:2},end:{line:70,column:3}},{start:{line:68,column:2},end:{line:70,column:3}}],line:68},"5":{loc:{start:{line:72,column:2},end:{line:74,column:3}},type:"if",locations:[{start:{line:72,column:2},end:{line:74,column:3}},{start:{line:72,column:2},end:{line:74,column:3}}],line:72},"6":{loc:{start:{line:76,column:2},end:{line:78,column:3}},type:"if",locations:[{start:{line:76,column:2},end:{line:78,column:3}},{start:{line:76,column:2},end:{line:78,column:3}}],line:76},"7":{loc:{start:{line:80,column:2},end:{line:82,column:3}},type:"if",locations:[{start:{line:80,column:2},end:{line:82,column:3}},{start:{line:80,column:2},end:{line:82,column:3}}],line:80},"8":{loc:{start:{line:84,column:2},end:{line:86,column:3}},type:"if",locations:[{start:{line:84,column:2},end:{line:86,column:3}},{start:{line:84,column:2},end:{line:86,column:3}}],line:84},"9":{loc:{start:{line:88,column:2},end:{line:90,column:3}},type:"if",locations:[{start:{line:88,column:2},end:{line:90,column:3}},{start:{line:88,column:2},end:{line:90,column:3}}],line:88},"10":{loc:{start:{line:92,column:2},end:{line:94,column:3}},type:"if",locations:[{start:{line:92,column:2},end:{line:94,column:3}},{start:{line:92,column:2},end:{line:94,column:3}}],line:92},"11":{loc:{start:{line:104,column:16},end:{line:104,column:55}},type:"binary-expr",locations:[{start:{line:104,column:16},end:{line:104,column:42}},{start:{line:104,column:46},end:{line:104,column:55}}],line:104},"12":{loc:{start:{line:109,column:14},end:{line:109,column:45}},type:"binary-expr",locations:[{start:{line:109,column:14},end:{line:109,column:40}},{start:{line:109,column:44},end:{line:109,column:45}}],line:109},"13":{loc:{start:{line:128,column:4},end:{line:130,column:5}},type:"if",locations:[{start:{line:128,column:4},end:{line:130,column:5}},{start:{line:128,column:4},end:{line:130,column:5}}],line:128}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0]},inputSourceMap:{version:3,sources:["profile.js"],names:["MAX_RETRIES","getHTML","platform","region","tag","callback","url","options","uri","encodeURI","encoding","parseHTML","results","$","cheerio","load","isFound","text","Error","parsed","user","portrait","attr","permission","endorsementImage","quickplayWonEl","next","html","quickplayPlayedEl","quickplayTimePlayedEl","compWonEl","compPlayedEl","compLostEl","compDrawEl","compTimePlayedEl","transform","won","lost","draw","played","time","quickplay","trim","replace","competitive","json","username","endorsement","games","parseInt","undefined","win_rate","parseFloat","toFixed","playtime","async","auto","apply","err"],mappings:";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,WAAW,GAAG,CAApB,C,CAEA;;AACA,SAASC,OAAT,CAAiBC,QAAjB,EAA2BC,MAA3B,EAAmCC,GAAnC,EAAwCC,QAAxC,EAAkD;AAChD,MAAMC,GAAG,yDAAkDF,GAAlD,MAAT;AAEA,MAAMG,OAAO,GAAG;AACdC,IAAAA,GAAG,EAAEC,SAAS,CAACH,GAAD,CADA;AAEdI,IAAAA,QAAQ,EAAE;AAFI,GAAhB;AAIA,SAAO,yBAAaH,OAAb,EAAsBP,WAAtB,EAAmCK,QAAnC,CAAP;AACD,C,CAED;;;AACA,SAASM,SAAT,CAAmBC,OAAnB,EAA4BP,QAA5B,EAAsC;AACpC,MAAMQ,CAAC,GAAGC,oBAAQC,IAAR,CAAaH,OAAO,CAACX,OAArB,CAAV,CADoC,CAGpC;;;AACA,MAAMe,OAAO,GAAGH,CAAC,CAAC,UAAD,CAAD,CAAcI,IAAd,OAAyB,gBAAzC;;AACA,MAAI,CAACD,OAAL,EAAc;AACZ,WAAOX,QAAQ,CAAC,IAAIa,KAAJ,CAAU,mBAAV,CAAD,CAAf;AACD;;AAED,MAAMC,MAAM,GAAG;AACbC,IAAAA,IAAI,EAAEP,CAAC,CAAC,uBAAD,CAAD,CAA2BI,IAA3B,EADO;AAEbI,IAAAA,QAAQ,EAAER,CAAC,CAAC,2BAAD,CAAD,CAA+BS,IAA/B,CAAoC,KAApC,CAFG;AAGbC,IAAAA,UAAU,EAAEV,CAAC,CAAC,wBAAD,CAAD,CAA4BI,IAA5B,EAHC;AAIbO,IAAAA,gBAAgB,EAAEX,CAAC,CAAC,qCAAD,CAAD,CAAyCS,IAAzC,CAA8C,KAA9C,CAJL;AAKbG,IAAAA,cAAc,EAAEZ,CAAC,CAAC,+CAAD,CAAD,CAAmDa,IAAnD,GAA0DC,IAA1D,EALH;AAMbC,IAAAA,iBAAiB,EAAEf,CAAC,CAAC,kDAAD,CAAD,CAAsDa,IAAtD,GAA6DC,IAA7D,EANN;AAObE,IAAAA,qBAAqB,EAAEhB,CAAC,CAAC,iDAAD,CAAD,CAAqDa,IAArD,GAA4DC,IAA5D,EAPV;AAQbG,IAAAA,SAAS,EAAEjB,CAAC,CAAC,iDAAD,CAAD,CAAqDa,IAArD,GAA4DC,IAA5D,EARE;AASbI,IAAAA,YAAY,EAAElB,CAAC,CAAC,oDAAD,CAAD,CAAwDa,IAAxD,GAA+DC,IAA/D,EATD;AAUbK,IAAAA,UAAU,EAAEnB,CAAC,CAAC,kDAAD,CAAD,CAAsDa,IAAtD,GAA6DC,IAA7D,EAVC;AAWbM,IAAAA,UAAU,EAAEpB,CAAC,CAAC,kDAAD,CAAD,CAAsDa,IAAtD,GAA6DC,IAA7D,EAXC;AAYbO,IAAAA,gBAAgB,EAAErB,CAAC,CAAC,mDAAD,CAAD,CAAuDa,IAAvD,GAA8DC,IAA9D;AAZL,GAAf;AAcA,SAAOtB,QAAQ,CAAC,IAAD,EAAOc,MAAP,CAAf;AACD,C,CAED;;;AACA,SAASgB,SAAT,CAAmBvB,OAAnB,EAA4BP,QAA5B,EAAsC;AAAA,MACjBc,MADiB,GACNP,OADM,CAC5BD,SAD4B;AAGpC,MAAMyB,GAAG,GAAG,EAAZ;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,IAAI,GAAG,EAAb;;AAEA,MAAIrB,MAAM,CAACM,cAAP,KAA0B,IAA9B,EAAoC;AAClCW,IAAAA,GAAG,CAACK,SAAJ,GAAgBtB,MAAM,CAACM,cAAP,CAAsBiB,IAAtB,GAA6BC,OAA7B,CAAqC,IAArC,EAA2C,EAA3C,CAAhB;AACD;;AAED,MAAIxB,MAAM,CAACS,iBAAP,KAA6B,IAAjC,EAAuC;AACrCW,IAAAA,MAAM,CAACE,SAAP,GAAmBtB,MAAM,CAACS,iBAAP,CAAyBc,IAAzB,GAAgCC,OAAhC,CAAwC,IAAxC,EAA8C,EAA9C,CAAnB;AACD;;AAED,MAAIxB,MAAM,CAACU,qBAAP,KAAiC,IAArC,EAA2C;AACzCW,IAAAA,IAAI,CAACC,SAAL,GAAiBtB,MAAM,CAACU,qBAAP,CAA6Ba,IAA7B,GAAoCC,OAApC,CAA4C,IAA5C,EAAkD,EAAlD,CAAjB;AACD;;AAED,MAAIxB,MAAM,CAACW,SAAP,KAAqB,IAAzB,EAA+B;AAC7BM,IAAAA,GAAG,CAACQ,WAAJ,GAAkBzB,MAAM,CAACW,SAAP,CAAiBY,IAAjB,GAAwBC,OAAxB,CAAgC,IAAhC,EAAsC,EAAtC,CAAlB;AACD;;AAED,MAAIxB,MAAM,CAACa,UAAP,KAAsB,IAA1B,EAAgC;AAC9BK,IAAAA,IAAI,CAACO,WAAL,GAAmBzB,MAAM,CAACa,UAAP,CAAkBU,IAAlB,GAAyBC,OAAzB,CAAiC,IAAjC,EAAuC,EAAvC,CAAnB;AACD;;AAED,MAAIxB,MAAM,CAACc,UAAP,KAAsB,IAA1B,EAAgC;AAC9BK,IAAAA,IAAI,CAACM,WAAL,GAAmBzB,MAAM,CAACc,UAAP,CAAkBS,IAAlB,GAAyBC,OAAzB,CAAiC,IAAjC,EAAuC,EAAvC,CAAnB;AACD;;AAED,MAAIxB,MAAM,CAACY,YAAP,KAAwB,IAA5B,EAAkC;AAChCQ,IAAAA,MAAM,CAACK,WAAP,GAAqBzB,MAAM,CAACY,YAAP,CAAoBW,IAApB,GAA2BC,OAA3B,CAAmC,IAAnC,EAAyC,EAAzC,CAArB;AACD;;AAED,MAAIxB,MAAM,CAACe,gBAAP,KAA4B,IAAhC,EAAsC;AACpCM,IAAAA,IAAI,CAACI,WAAL,GAAmBzB,MAAM,CAACe,gBAAP,CAAwBQ,IAAxB,GAA+BC,OAA/B,CAAuC,IAAvC,EAA6C,EAA7C,CAAnB;AACD;;AAED,MAAME,IAAI,GAAG;AACXC,IAAAA,QAAQ,EAAE3B,MAAM,CAACC,IADN;AAEXC,IAAAA,QAAQ,EAAEF,MAAM,CAACE,QAFN;AAGX0B,IAAAA,WAAW,EAAE5B,MAAM,CAACK,gBAHT;AAIX,eAASL,MAAM,CAACI,UAAP,KAAsB,mCAJpB;AAKXyB,IAAAA,KAAK,EAAE;AACLP,MAAAA,SAAS,EAAE;AACTL,QAAAA,GAAG,EAAEa,QAAQ,CAACb,GAAG,CAACK,SAAL,CADJ;AAETF,QAAAA,MAAM,EAAEU,QAAQ,CAACV,MAAM,CAACE,SAAR,CAAR,IAA8BS;AAF7B,OADN;AAKLN,MAAAA,WAAW,EAAE;AACXR,QAAAA,GAAG,EAAEa,QAAQ,CAACb,GAAG,CAACQ,WAAL,CADF;AAEXP,QAAAA,IAAI,EAAEY,QAAQ,CAACZ,IAAI,CAACO,WAAN,CAFH;AAGXN,QAAAA,IAAI,EAAEW,QAAQ,CAACX,IAAI,CAACM,WAAN,CAAR,IAA8B,CAHzB;AAIXL,QAAAA,MAAM,EAAEU,QAAQ,CAACV,MAAM,CAACK,WAAR,CAJL;AAKXO,QAAAA,QAAQ,EAAEC,UAAU,CAAC,CAACH,QAAQ,CAACb,GAAG,CAACQ,WAAL,CAAR,GAA6BK,QAAQ,CAACV,MAAM,CAACK,WAAP,GAAqBK,QAAQ,CAACX,IAAI,CAACM,WAAN,CAA9B,CAArC,GAA0F,GAA3F,EAAgGS,OAAhG,CAAwG,CAAxG,CAAD;AALT;AALR,KALI;AAkBXC,IAAAA,QAAQ,EAAE;AAAEb,MAAAA,SAAS,EAAED,IAAI,CAACC,SAAlB;AAA6BG,MAAAA,WAAW,EAAEJ,IAAI,CAACI;AAA/C;AAlBC,GAAb;AAqBA,SAAOvC,QAAQ,CAAC,IAAD,EAAOwC,IAAP,CAAf;AACD;;AAEc,kBAAS3C,QAAT,EAAmBC,MAAnB,EAA2BC,GAA3B,EAAgCC,QAAhC,EAA0C;AACvDkD,oBAAMC,IAAN,CAAW;AACTvD,IAAAA,OAAO,EAAEsD,kBAAME,KAAN,CAAYxD,OAAZ,EAAqBC,QAArB,EAA+BC,MAA/B,EAAuCC,GAAvC,CADA;AAETO,IAAAA,SAAS,EAAE,CAAC,SAAD,EAAY4C,kBAAME,KAAN,CAAY9C,SAAZ,CAAZ,CAFF;AAGTwB,IAAAA,SAAS,EAAE,CAAC,SAAD,EAAY,WAAZ,EAAyBoB,kBAAME,KAAN,CAAYtB,SAAZ,CAAzB;AAHF,GAAX,EAIG,UAASuB,GAAT,EAAc9C,OAAd,EAAuB;AACxB,QAAI8C,GAAJ,EAAS;AACP,aAAOrD,QAAQ,CAACqD,GAAD,CAAf;AACD;;AACD,WAAOrD,QAAQ,CAAC,IAAD,EAAOO,OAAO,CAACuB,SAAf,CAAf;AACD,GATD;AAUD",sourceRoot:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\",sourcesContent:["import async from 'async';\nimport cheerio from 'cheerio';\nimport { retryRequest } from './utils';\n\nconst MAX_RETRIES = 3;\n\n// Get HTML from playoverwatch career page.\nfunction getHTML(platform, region, tag, callback) {\n const url = `https://overwatch.blizzard.com/en-us/career/${tag}/`\n\n const options = {\n uri: encodeURI(url),\n encoding: 'utf8'\n }\n return retryRequest(options, MAX_RETRIES, callback);\n}\n\n// Begin html parsing.\nfunction parseHTML(results, callback) {\n const $ = cheerio.load(results.getHTML);\n\n // Check if profile exists.\n const isFound = $('.heading').text() !== 'Page Not Found';\n if (!isFound) {\n return callback(new Error('Profile not found'));\n }\n\n const parsed = {\n user: $('.Profile-player--name').text(),\n portrait: $('.Profile-player--portrait').attr('src'),\n permission: $('.Profile-private---msg').text(),\n endorsementImage: $('.Profile-playerSummary--endorsement').attr('src'),\n quickplayWonEl: $('.stats.quickPlay-view p:contains(\"Games Won\")').next().html(),\n quickplayPlayedEl: $('.stats.quickPlay-view p:contains(\"Games Played\")').next().html(),\n quickplayTimePlayedEl: $('.stats.quickPlay-view p:contains(\"Time Played\")').next().html(),\n compWonEl: $('.stats.competitive-view p:contains(\"Games Won\")').next().html(),\n compPlayedEl: $('.stats.competitive-view p:contains(\"Games Played\")').next().html(),\n compLostEl: $('.stats.competitive-view p:contains(\"Games Lost\")').next().html(),\n compDrawEl: $('.stats.competitive-view p:contains(\"Games Tied\")').next().html(),\n compTimePlayedEl: $('.stats.competitive-view p:contains(\"Time Played\")').next().html(),\n }\n return callback(null, parsed);\n}\n\n// Transform the data into a json object we can serve.\nfunction transform(results, callback) {\n const { parseHTML: parsed } = results;\n\n const won = {};\n const lost = {};\n const draw = {};\n const played = {};\n const time = {};\n\n if (parsed.quickplayWonEl !== null) {\n won.quickplay = parsed.quickplayWonEl.trim().replace(/,/g, '');\n }\n\n if (parsed.quickplayPlayedEl !== null) {\n played.quickplay = parsed.quickplayPlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.quickplayTimePlayedEl !== null) {\n time.quickplay = parsed.quickplayTimePlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compWonEl !== null) {\n won.competitive = parsed.compWonEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compLostEl !== null) {\n lost.competitive = parsed.compLostEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compDrawEl !== null) {\n draw.competitive = parsed.compDrawEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compPlayedEl !== null) {\n played.competitive = parsed.compPlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compTimePlayedEl !== null) {\n time.competitive = parsed.compTimePlayedEl.trim().replace(/,/g, '');\n }\n\n const json = {\n username: parsed.user,\n portrait: parsed.portrait,\n endorsement: parsed.endorsementImage,\n private: parsed.permission === 'THIS PROFILE IS CURRENTLY PRIVATE',\n games: {\n quickplay: {\n won: parseInt(won.quickplay),\n played: parseInt(played.quickplay) || undefined \n },\n competitive: {\n won: parseInt(won.competitive),\n lost: parseInt(lost.competitive),\n draw: parseInt(draw.competitive) || 0,\n played: parseInt(played.competitive),\n win_rate: parseFloat((parseInt(won.competitive) / (parseInt(played.competitive - parseInt(draw.competitive))) * 100).toFixed(2)),\n },\n },\n playtime: { quickplay: time.quickplay, competitive: time.competitive },\n }\n\n return callback(null, json);\n}\n\nexport default function(platform, region, tag, callback) {\n async.auto({\n getHTML: async.apply(getHTML, platform, region, tag),\n parseHTML: ['getHTML', async.apply(parseHTML)],\n transform: ['getHTML', 'parseHTML', async.apply(transform)],\n }, function(err, results) {\n if (err) {\n return callback(err);\n }\n return callback(null, results.transform);\n });\n}"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"81770f62ec88958c2e9114350cd718996ab6a5c7"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore cov_17v8rvbf8z=function(){return actualCoverage;};}return actualCoverage;}cov_17v8rvbf8z();cov_17v8rvbf8z().s[0]++;Object.defineProperty(exports,"__esModule",{value:true});cov_17v8rvbf8z().s[1]++;exports["default"]=_default;var _async=(cov_17v8rvbf8z().s[2]++,_interopRequireDefault(require("async")));var _cheerio=(cov_17v8rvbf8z().s[3]++,_interopRequireDefault(require("cheerio")));var _utils=(cov_17v8rvbf8z().s[4]++,require("./utils"));function _interopRequireDefault(obj){cov_17v8rvbf8z().f[0]++;cov_17v8rvbf8z().s[5]++;return(cov_17v8rvbf8z().b[1][0]++,obj)&&(cov_17v8rvbf8z().b[1][1]++,obj.__esModule)?(cov_17v8rvbf8z().b[0][0]++,obj):(cov_17v8rvbf8z().b[0][1]++,{"default":obj});}var MAX_RETRIES=(cov_17v8rvbf8z().s[6]++,3);// Get HTML from playoverwatch career page. function getHTML(platform,region,tag,callback){cov_17v8rvbf8z().f[1]++;var url=(cov_17v8rvbf8z().s[7]++,"https://overwatch.blizzard.com/en-us/career/".concat(tag,"/"));var options=(cov_17v8rvbf8z().s[8]++,{uri:encodeURI(url),encoding:'utf8'});cov_17v8rvbf8z().s[9]++;return(0,_utils.retryRequest)(options,MAX_RETRIES,callback);}// Begin html parsing. function parseHTML(results,callback){cov_17v8rvbf8z().f[2]++;var $=(cov_17v8rvbf8z().s[10]++,_cheerio["default"].load(results.getHTML));// Check if profile exists. var isFound=(cov_17v8rvbf8z().s[11]++,$('.heading').text()!=='Page Not Found');cov_17v8rvbf8z().s[12]++;if(!isFound){cov_17v8rvbf8z().b[2][0]++;cov_17v8rvbf8z().s[13]++;return callback(new Error('Profile not found'));}else{cov_17v8rvbf8z().b[2][1]++;}var parsed=(cov_17v8rvbf8z().s[14]++,{user:$('.Profile-player--name').text(),portrait:$('.Profile-player--portrait').attr('src'),permission:$('.Profile-private---msg').text(),endorsementImage:$('.Profile-playerSummary--endorsement').attr('src'),quickplayWonEl:$('.stats.quickPlay-view p:contains("Games Won")').next().html(),quickplayPlayedEl:$('.stats.quickPlay-view p:contains("Games Played")').next().html(),quickplayTimePlayedEl:$('.stats.quickPlay-view p:contains("Time Played")').next().html(),compWonEl:$('.stats.competitive-view p:contains("Games Won")').next().html(),compPlayedEl:$('.stats.competitive-view p:contains("Games Played")').next().html(),compLostEl:$('.stats.competitive-view p:contains("Games Lost")').next().html(),compDrawEl:$('.stats.competitive-view p:contains("Games Tied")').next().html(),compTimePlayedEl:$('.stats.competitive-view p:contains("Time Played")').next().html()});cov_17v8rvbf8z().s[15]++;return callback(null,parsed);}// Transform the data into a json object we can serve. function transform(results,callback){cov_17v8rvbf8z().f[3]++;var parsed=(cov_17v8rvbf8z().s[16]++,results.parseHTML);var won=(cov_17v8rvbf8z().s[17]++,{});var lost=(cov_17v8rvbf8z().s[18]++,{});var draw=(cov_17v8rvbf8z().s[19]++,{});var played=(cov_17v8rvbf8z().s[20]++,{});var time=(cov_17v8rvbf8z().s[21]++,{});cov_17v8rvbf8z().s[22]++;if(parsed.quickplayWonEl!==null){cov_17v8rvbf8z().b[3][0]++;cov_17v8rvbf8z().s[23]++;won.quickplay=parsed.quickplayWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[3][1]++;}cov_17v8rvbf8z().s[24]++;if(parsed.quickplayPlayedEl!==null){cov_17v8rvbf8z().b[4][0]++;cov_17v8rvbf8z().s[25]++;played.quickplay=parsed.quickplayPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[4][1]++;}cov_17v8rvbf8z().s[26]++;if(parsed.quickplayTimePlayedEl!==null){cov_17v8rvbf8z().b[5][0]++;cov_17v8rvbf8z().s[27]++;time.quickplay=parsed.quickplayTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[5][1]++;}cov_17v8rvbf8z().s[28]++;if(parsed.compWonEl!==null){cov_17v8rvbf8z().b[6][0]++;cov_17v8rvbf8z().s[29]++;won.competitive=parsed.compWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[6][1]++;}cov_17v8rvbf8z().s[30]++;if(parsed.compLostEl!==null){cov_17v8rvbf8z().b[7][0]++;cov_17v8rvbf8z().s[31]++;lost.competitive=parsed.compLostEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[7][1]++;}cov_17v8rvbf8z().s[32]++;if(parsed.compDrawEl!==null){cov_17v8rvbf8z().b[8][0]++;cov_17v8rvbf8z().s[33]++;draw.competitive=parsed.compDrawEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[8][1]++;}cov_17v8rvbf8z().s[34]++;if(parsed.compPlayedEl!==null){cov_17v8rvbf8z().b[9][0]++;cov_17v8rvbf8z().s[35]++;played.competitive=parsed.compPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[9][1]++;}cov_17v8rvbf8z().s[36]++;if(parsed.compTimePlayedEl!==null){cov_17v8rvbf8z().b[10][0]++;cov_17v8rvbf8z().s[37]++;time.competitive=parsed.compTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[10][1]++;}var json=(cov_17v8rvbf8z().s[38]++,{username:parsed.user,portrait:parsed.portrait,endorsement:parsed.endorsementImage,"private":parsed.permission==='THIS PROFILE IS CURRENTLY PRIVATE',games:{quickplay:{won:parseInt(won.quickplay),played:(cov_17v8rvbf8z().b[11][0]++,parseInt(played.quickplay))||(cov_17v8rvbf8z().b[11][1]++,undefined)},competitive:{won:parseInt(won.competitive),lost:parseInt(lost.competitive),draw:(cov_17v8rvbf8z().b[12][0]++,parseInt(draw.competitive))||(cov_17v8rvbf8z().b[12][1]++,0),played:parseInt(played.competitive),win_rate:parseFloat((parseInt(won.competitive)/parseInt(played.competitive-parseInt(draw.competitive))*100).toFixed(2))}},playtime:{quickplay:time.quickplay,competitive:time.competitive}});cov_17v8rvbf8z().s[39]++;return callback(null,json);}function _default(platform,region,tag,callback){cov_17v8rvbf8z().f[4]++;cov_17v8rvbf8z().s[40]++;_async["default"].auto({getHTML:_async["default"].apply(getHTML,platform,region,tag),parseHTML:['getHTML',_async["default"].apply(parseHTML)],transform:['getHTML','parseHTML',_async["default"].apply(transform)]},function(err,results){cov_17v8rvbf8z().f[5]++;cov_17v8rvbf8z().s[41]++;if(err){cov_17v8rvbf8z().b[13][0]++;cov_17v8rvbf8z().s[42]++;return callback(err);}else{cov_17v8rvbf8z().b[13][1]++;}cov_17v8rvbf8z().s[43]++;return callback(null,results.transform);});}//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsiTUFYX1JFVFJJRVMiLCJnZXRIVE1MIiwicGxhdGZvcm0iLCJyZWdpb24iLCJ0YWciLCJjYWxsYmFjayIsInVybCIsIm9wdGlvbnMiLCJ1cmkiLCJlbmNvZGVVUkkiLCJlbmNvZGluZyIsInBhcnNlSFRNTCIsInJlc3VsdHMiLCIkIiwiY2hlZXJpbyIsImxvYWQiLCJpc0ZvdW5kIiwidGV4dCIsIkVycm9yIiwicGFyc2VkIiwidXNlciIsInBvcnRyYWl0IiwiYXR0ciIsInBlcm1pc3Npb24iLCJlbmRvcnNlbWVudEltYWdlIiwicXVpY2twbGF5V29uRWwiLCJuZXh0IiwiaHRtbCIsInF1aWNrcGxheVBsYXllZEVsIiwicXVpY2twbGF5VGltZVBsYXllZEVsIiwiY29tcFdvbkVsIiwiY29tcFBsYXllZEVsIiwiY29tcExvc3RFbCIsImNvbXBEcmF3RWwiLCJjb21wVGltZVBsYXllZEVsIiwidHJhbnNmb3JtIiwid29uIiwibG9zdCIsImRyYXciLCJwbGF5ZWQiLCJ0aW1lIiwicXVpY2twbGF5IiwidHJpbSIsInJlcGxhY2UiLCJjb21wZXRpdGl2ZSIsImpzb24iLCJ1c2VybmFtZSIsImVuZG9yc2VtZW50IiwiZ2FtZXMiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsIndpbl9yYXRlIiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJwbGF5dGltZSIsImFzeW5jIiwiYXV0byIsImFwcGx5IiwiZXJyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxXQUFXLEdBQUcsQ0FBcEIsQyxDQUVBOztBQUNBLFNBQVNDLE9BQVQsQ0FBaUJDLFFBQWpCLEVBQTJCQyxNQUEzQixFQUFtQ0MsR0FBbkMsRUFBd0NDLFFBQXhDLEVBQWtEO0FBQ2hELE1BQU1DLEdBQUcseURBQWtERixHQUFsRCxNQUFUO0FBRUEsTUFBTUcsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLEdBQUcsRUFBRUMsU0FBUyxDQUFD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QUFRLENBQUNYLElBQUksQ0FBQ00sV0FBTixDQUE5QixDQUFyQyxHQUEwRixHQUEzRixFQUFnR1MsT0FBaEcsQ0FBd0csQ0FBeEcsQ0FBRDtBQUxUO0FBTFIsS0FMSTtBQWtCWEMsSUFBQUEsUUFBUSxFQUFFO0FBQUViLE1BQUFBLFNBQVMsRUFBRUQsSUFBSSxDQUFDQyxTQUFsQjtBQUE2QkcsTUFBQUEsV0FBVyxFQUFFSixJQUFJLENBQUNJO0FBQS9DO0FBbEJDLEdBQWI7QUFxQkEsU0FBT3ZDLFFBQVEsQ0FBQyxJQUFELEVBQU93QyxJQUFQLENBQWY7QUFDRDs7QUFFYyxrQkFBUzNDLFFBQVQsRUFBbUJDLE1BQW5CLEVBQTJCQyxHQUEzQixFQUFnQ0MsUUFBaEMsRUFBMEM7QUFDdkRrRCxvQkFBTUMsSUFBTixDQUFXO0FBQ1R2RCxJQUFBQSxPQUFPLEVBQUVzRCxrQkFBTUUsS0FBTixDQUFZeEQsT0FBWixFQUFxQkMsUUFBckIsRUFBK0JDLE1BQS9CLEVBQXVDQyxHQUF2QyxDQURBO0FBRVRPLElBQUFBLFNBQVMsRUFBRSxDQUFDLFNBQUQsRUFBWTRDLGtCQUFNRSxLQUFOLENBQVk5QyxTQUFaLENBQVosQ0FGRjtBQUdUd0IsSUFBQUEsU0FBUyxFQUFFLENBQUMsU0FBRCxFQUFZLFdBQVosRUFBeUJvQixrQkFBTUUsS0FBTixDQUFZdEIsU0FBWixDQUF6QjtBQUhGLEdBQVgsRUFJRyxVQUFTdUIsR0FBVCxFQUFjOUMsT0FBZCxFQUF1QjtBQUN4QixRQUFJOEMsR0FBSixFQUFTO0FBQ1AsYUFBT3JELFFBQVEsQ0FBQ3FELEdBQUQsQ0FBZjtBQUNEOztBQUNELFdBQU9yRCxRQUFRLENBQUMsSUFBRCxFQUFPTyxPQUFPLENBQUN1QixTQUFmLENBQWY7QUFDRCxHQVREO0FBVUQiLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHsgcmV0cnlSZXF1ZXN0IH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IE1BWF9SRVRSSUVTID0gMztcblxuLy8gR2V0IEhUTUwgZnJvbSBwbGF5b3ZlcndhdGNoIGNhcmVlciBwYWdlLlxuZnVuY3Rpb24gZ2V0SFRNTChwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHVybCA9IGBodHRwczovL292ZXJ3YXRjaC5ibGl6emFyZC5jb20vZW4tdXMvY2FyZWVyLyR7dGFnfS9gXG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB1cmk6IGVuY29kZVVSSSh1cmwpLFxuICAgIGVuY29kaW5nOiAndXRmOCdcbiAgfVxuICByZXR1cm4gcmV0cnlSZXF1ZXN0KG9wdGlvbnMsIE1BWF9SRVRSSUVTLCBjYWxsYmFjayk7XG59XG5cbi8vIEJlZ2luIGh0bWwgcGFyc2luZy5cbmZ1bmN0aW9uIHBhcnNlSFRNTChyZXN1bHRzLCBjYWxsYmFjaykge1xuICBjb25zdCAkID0gY2hlZXJpby5sb2FkKHJlc3VsdHMuZ2V0SFRNTCk7XG5cbiAgLy8gQ2hlY2sgaWYgcHJvZmlsZSBleGlzdHMuXG4gIGNvbnN0IGlzRm91bmQgPSAkKCcuaGVhZGluZycpLnRleHQoKSAhPT0gJ1BhZ2UgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLlByb2ZpbGUtcGxheWVyLS1uYW1lJykudGV4dCgpLFxuICAgIHBvcnRyYWl0OiAkKCcuUHJvZmlsZS1wbGF5ZXItLXBvcnRyYWl0JykuYXR0cignc3JjJyksXG4gICAgcGVybWlzc2lvbjogJCgnLlByb2ZpbGUtcHJpdmF0ZS0tLW1zZycpLnRleHQoKSxcbiAgICBlbmRvcnNlbWVudEltYWdlOiAkKCcuUHJvZmlsZS1wbGF5ZXJTdW1tYXJ5LS1lbmRvcnNlbWVudCcpLmF0dHIoJ3NyYycpLFxuICAgIHF1aWNrcGxheVdvbkVsOiAkKCcuc3RhdHMucXVpY2tQbGF5LXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgcXVpY2twbGF5UGxheWVkRWw6ICQoJy5zdGF0cy5xdWlja1BsYXktdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBxdWlja3BsYXlUaW1lUGxheWVkRWw6ICQoJy5zdGF0cy5xdWlja1BsYXktdmlldyBwOmNvbnRhaW5zKFwiVGltZSBQbGF5ZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBXb25FbDogJCgnLnN0YXRzLmNvbXBldGl0aXZlLXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFBsYXllZEVsOiAkKCcuc3RhdHMuY29tcGV0aXRpdmUtdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wTG9zdEVsOiAkKCcuc3RhdHMuY29tcGV0aXRpdmUtdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgTG9zdFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcERyYXdFbDogJCgnLnN0YXRzLmNvbXBldGl0aXZlLXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFRpZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBUaW1lUGxheWVkRWw6ICQoJy5zdGF0cy5jb21wZXRpdGl2ZS12aWV3IHA6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gIH1cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHBhcnNlZCk7XG59XG5cbi8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIGEganNvbiBvYmplY3Qgd2UgY2FuIHNlcnZlLlxuZnVuY3Rpb24gdHJhbnNmb3JtKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGFyc2VIVE1MOiBwYXJzZWQgfSA9IHJlc3VsdHM7XG5cbiAgY29uc3Qgd29uID0ge307XG4gIGNvbnN0IGxvc3QgPSB7fTtcbiAgY29uc3QgZHJhdyA9IHt9O1xuICBjb25zdCBwbGF5ZWQgPSB7fTtcbiAgY29uc3QgdGltZSA9IHt9O1xuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5V29uRWwgIT09IG51bGwpIHtcbiAgICB3b24ucXVpY2twbGF5ID0gcGFyc2VkLnF1aWNrcGxheVdvbkVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5UGxheWVkRWwgIT09IG51bGwpIHtcbiAgICBwbGF5ZWQucXVpY2twbGF5ID0gcGFyc2VkLnF1aWNrcGxheVBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5VGltZVBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgdGltZS5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5VGltZVBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFdvbkVsICE9PSBudWxsKSB7XG4gICAgd29uLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBXb25FbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBMb3N0RWwgIT09IG51bGwpIHtcbiAgICBsb3N0LmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBMb3N0RWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wRHJhd0VsICE9PSBudWxsKSB7XG4gICAgZHJhdy5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wRHJhd0VsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgcGxheWVkLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBUaW1lUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICB0aW1lLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBUaW1lUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgY29uc3QganNvbiA9IHtcbiAgICB1c2VybmFtZTogcGFyc2VkLnVzZXIsXG4gICAgcG9ydHJhaXQ6IHBhcnNlZC5wb3J0cmFpdCxcbiAgICBlbmRvcnNlbWVudDogcGFyc2VkLmVuZG9yc2VtZW50SW1hZ2UsXG4gICAgcHJpdmF0ZTogcGFyc2VkLnBlcm1pc3Npb24gPT09ICdUSElTIFBST0ZJTEUgSVMgQ1VSUkVOVExZIFBSSVZBVEUnLFxuICAgIGdhbWVzOiB7XG4gICAgICBxdWlja3BsYXk6IHtcbiAgICAgICAgd29uOiBwYXJzZUludCh3b24ucXVpY2twbGF5KSxcbiAgICAgICAgcGxheWVkOiBwYXJzZUludChwbGF5ZWQucXVpY2twbGF5KSB8fCB1bmRlZmluZWQgXG4gICAgICB9LFxuICAgICAgY29tcGV0aXRpdmU6IHtcbiAgICAgICAgd29uOiBwYXJzZUludCh3b24uY29tcGV0aXRpdmUpLFxuICAgICAgICBsb3N0OiBwYXJzZUludChsb3N0LmNvbXBldGl0aXZlKSxcbiAgICAgICAgZHJhdzogcGFyc2VJbnQoZHJhdy5jb21wZXRpdGl2ZSkgfHwgMCxcbiAgICAgICAgcGxheWVkOiBwYXJzZUludChwbGF5ZWQuY29tcGV0aXRpdmUpLFxuICAgICAgICB3aW5fcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VJbnQod29uLmNvbXBldGl0aXZlKSAvIChwYXJzZUludChwbGF5ZWQuY29tcGV0aXRpdmUgLSBwYXJzZUludChkcmF3LmNvbXBldGl0aXZlKSkpICogMTAwKS50b0ZpeGVkKDIpKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbGF5dGltZTogeyBxdWlja3BsYXk6IHRpbWUucXVpY2twbGF5LCBjb21wZXRpdGl2ZTogdGltZS5jb21wZXRpdGl2ZSB9LFxuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdfQ== //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsiTUFYX1JFVFJJRVMiLCJ1cmwiLCJvcHRpb25zIiwidXJpIiwiZW5jb2RlVVJJIiwiZW5jb2RpbmciLCIkIiwiY2hlZXJpbyIsInJlc3VsdHMiLCJpc0ZvdW5kIiwiY2FsbGJhY2siLCJwYXJzZWQiLCJ1c2VyIiwicG9ydHJhaXQiLCJwZXJtaXNzaW9uIiwiZW5kb3JzZW1lbnRJbWFnZSIsInF1aWNrcGxheVdvbkVsIiwicXVpY2twbGF5UGxheWVkRWwiLCJxdWlja3BsYXlUaW1lUGxheWVkRWwiLCJjb21wV29uRWwiLCJjb21wUGxheWVkRWwiLCJjb21wTG9zdEVsIiwiY29tcERyYXdFbCIsImNvbXBUaW1lUGxheWVkRWwiLCJ3b24iLCJsb3N0IiwiZHJhdyIsInBsYXllZCIsInRpbWUiLCJqc29uIiwidXNlcm5hbWUiLCJlbmRvcnNlbWVudCIsImdhbWVzIiwicXVpY2twbGF5IiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJjb21wZXRpdGl2ZSIsIndpbl9yYXRlIiwicGFyc2VGbG9hdCIsInBsYXl0aW1lIiwiYXN5bmMiLCJnZXRIVE1MIiwicGFyc2VIVE1MIiwidHJhbnNmb3JtIl0sIm1hcHBpbmdzIjoiNjBnQkFJTUE7Z09BSk4sR0FBQSxDQUFBLE1BQUEsMEJBQUEsc0JBQUEsQ0FBQSxPQUFBLENBQUEsT0FBQSxDQUFBLENBQUEsQ0FBQSxDQUNBLEdBQUEsQ0FBQSxRQUFBLDBCQUFBLHNCQUFBLENBQUEsT0FBQSxDQUFBLFNBQUEsQ0FBQSxDQUFBLENBQUEsQ0FDQSxHQUFBLENBQUEsTUFBQSwwQkFBQSxPQUFBLENBQUEsU0FBQSxDQUFBLENBQUEsQyx3UEFFQSxHQUFNQSxDQUFBQSxXQUFXLDBCQUFqQixDQUFpQixDQUFqQixDQUVBO0FBQ0EsUUFBQSxDQUFBLE9BQUEsQ0FBQSxRQUFBLENBQUEsTUFBQSxDQUFBLEdBQUEsQ0FBQSxRQUFBLENBQWtELHlCQUNoRCxHQUFNQyxDQUFBQSxHQUFHLDBCQUFBLCtD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RyxTQUFBLEdBQUEsQ0FBQSxPQUFBLENBQXVCLGtEQUN4QixHQUFBLEdBQUEsQ0FBUyxzREFDUCxNQUFPOUIsQ0FBQUEsUUFBUSxDQUFmLEdBQWUsQ0FBZixDQUNELENBRkQsa0NBRHdCLHlCQUl4QixNQUFPQSxDQUFBQSxRQUFRLENBQUEsSUFBQSxDQUFPRixPQUFPLENBQTdCLFNBQWUsQ0FBZixDQVJGZ0MsQ0FBQUEsRUFVRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHsgcmV0cnlSZXF1ZXN0IH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IE1BWF9SRVRSSUVTID0gMztcblxuLy8gR2V0IEhUTUwgZnJvbSBwbGF5b3ZlcndhdGNoIGNhcmVlciBwYWdlLlxuZnVuY3Rpb24gZ2V0SFRNTChwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHVybCA9IGBodHRwczovL292ZXJ3YXRjaC5ibGl6emFyZC5jb20vZW4tdXMvY2FyZWVyLyR7dGFnfS9gXG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB1cmk6IGVuY29kZVVSSSh1cmwpLFxuICAgIGVuY29kaW5nOiAndXRmOCdcbiAgfVxuICByZXR1cm4gcmV0cnlSZXF1ZXN0KG9wdGlvbnMsIE1BWF9SRVRSSUVTLCBjYWxsYmFjayk7XG59XG5cbi8vIEJlZ2luIGh0bWwgcGFyc2luZy5cbmZ1bmN0aW9uIHBhcnNlSFRNTChyZXN1bHRzLCBjYWxsYmFjaykge1xuICBjb25zdCAkID0gY2hlZXJpby5sb2FkKHJlc3VsdHMuZ2V0SFRNTCk7XG5cbiAgLy8gQ2hlY2sgaWYgcHJvZmlsZSBleGlzdHMuXG4gIGNvbnN0IGlzRm91bmQgPSAkKCcuaGVhZGluZycpLnRleHQoKSAhPT0gJ1BhZ2UgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLlByb2ZpbGUtcGxheWVyLS1uYW1lJykudGV4dCgpLFxuICAgIHBvcnRyYWl0OiAkKCcuUHJvZmlsZS1wbGF5ZXItLXBvcnRyYWl0JykuYXR0cignc3JjJyksXG4gICAgcGVybWlzc2lvbjogJCgnLlByb2ZpbGUtcHJpdmF0ZS0tLW1zZycpLnRleHQoKSxcbiAgICBlbmRvcnNlbWVudEltYWdlOiAkKCcuUHJvZmlsZS1wbGF5ZXJTdW1tYXJ5LS1lbmRvcnNlbWVudCcpLmF0dHIoJ3NyYycpLFxuICAgIHF1aWNrcGxheVdvbkVsOiAkKCcuc3RhdHMucXVpY2tQbGF5LXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgcXVpY2twbGF5UGxheWVkRWw6ICQoJy5zdGF0cy5xdWlja1BsYXktdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBxdWlja3BsYXlUaW1lUGxheWVkRWw6ICQoJy5zdGF0cy5xdWlja1BsYXktdmlldyBwOmNvbnRhaW5zKFwiVGltZSBQbGF5ZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBXb25FbDogJCgnLnN0YXRzLmNvbXBldGl0aXZlLXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFdvblwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFBsYXllZEVsOiAkKCcuc3RhdHMuY29tcGV0aXRpdmUtdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wTG9zdEVsOiAkKCcuc3RhdHMuY29tcGV0aXRpdmUtdmlldyBwOmNvbnRhaW5zKFwiR2FtZXMgTG9zdFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcERyYXdFbDogJCgnLnN0YXRzLmNvbXBldGl0aXZlLXZpZXcgcDpjb250YWlucyhcIkdhbWVzIFRpZWRcIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBUaW1lUGxheWVkRWw6ICQoJy5zdGF0cy5jb21wZXRpdGl2ZS12aWV3IHA6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gIH1cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHBhcnNlZCk7XG59XG5cbi8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIGEganNvbiBvYmplY3Qgd2UgY2FuIHNlcnZlLlxuZnVuY3Rpb24gdHJhbnNmb3JtKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGFyc2VIVE1MOiBwYXJzZWQgfSA9IHJlc3VsdHM7XG5cbiAgY29uc3Qgd29uID0ge307XG4gIGNvbnN0IGxvc3QgPSB7fTtcbiAgY29uc3QgZHJhdyA9IHt9O1xuICBjb25zdCBwbGF5ZWQgPSB7fTtcbiAgY29uc3QgdGltZSA9IHt9O1xuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5V29uRWwgIT09IG51bGwpIHtcbiAgICB3b24ucXVpY2twbGF5ID0gcGFyc2VkLnF1aWNrcGxheVdvbkVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5UGxheWVkRWwgIT09IG51bGwpIHtcbiAgICBwbGF5ZWQucXVpY2twbGF5ID0gcGFyc2VkLnF1aWNrcGxheVBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucXVpY2twbGF5VGltZVBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgdGltZS5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5VGltZVBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFdvbkVsICE9PSBudWxsKSB7XG4gICAgd29uLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBXb25FbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBMb3N0RWwgIT09IG51bGwpIHtcbiAgICBsb3N0LmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBMb3N0RWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wRHJhd0VsICE9PSBudWxsKSB7XG4gICAgZHJhdy5jb21wZXRpdGl2ZSA9IHBhcnNlZC5jb21wRHJhd0VsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFBsYXllZEVsICE9PSBudWxsKSB7XG4gICAgcGxheWVkLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBUaW1lUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICB0aW1lLmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBUaW1lUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgY29uc3QganNvbiA9IHtcbiAgICB1c2VybmFtZTogcGFyc2VkLnVzZXIsXG4gICAgcG9ydHJhaXQ6IHBhcnNlZC5wb3J0cmFpdCxcbiAgICBlbmRvcnNlbWVudDogcGFyc2VkLmVuZG9yc2VtZW50SW1hZ2UsXG4gICAgcHJpdmF0ZTogcGFyc2VkLnBlcm1pc3Npb24gPT09ICdUSElTIFBST0ZJTEUgSVMgQ1VSUkVOVExZIFBSSVZBVEUnLFxuICAgIGdhbWVzOiB7XG4gICAgICBxdWlja3BsYXk6IHtcbiAgICAgICAgd29uOiBwYXJzZUludCh3b24ucXVpY2twbGF5KSxcbiAgICAgICAgcGxheWVkOiBwYXJzZUludChwbGF5ZWQucXVpY2twbGF5KSB8fCB1bmRlZmluZWQgXG4gICAgICB9LFxuICAgICAgY29tcGV0aXRpdmU6IHtcbiAgICAgICAgd29uOiBwYXJzZUludCh3b24uY29tcGV0aXRpdmUpLFxuICAgICAgICBsb3N0OiBwYXJzZUludChsb3N0LmNvbXBldGl0aXZlKSxcbiAgICAgICAgZHJhdzogcGFyc2VJbnQoZHJhdy5jb21wZXRpdGl2ZSkgfHwgMCxcbiAgICAgICAgcGxheWVkOiBwYXJzZUludChwbGF5ZWQuY29tcGV0aXRpdmUpLFxuICAgICAgICB3aW5fcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VJbnQod29uLmNvbXBldGl0aXZlKSAvIChwYXJzZUludChwbGF5ZWQuY29tcGV0aXRpdmUgLSBwYXJzZUludChkcmF3LmNvbXBldGl0aXZlKSkpICogMTAwKS50b0ZpeGVkKDIpKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbGF5dGltZTogeyBxdWlja3BsYXk6IHRpbWUucXVpY2twbGF5LCBjb21wZXRpdGl2ZTogdGltZS5jb21wZXRpdGl2ZSB9LFxuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIn0=