UNPKG

overwatch-api-server

Version:
16 lines 84 kB
"use strict";function cov_1rkhlf6byj(){var path="C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\stats.js";var hash="cdaaa49501c11d746a8e5a705f925a06ad08711c";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\stats.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:12},end:{line:8,column:51}},"3":{start:{line:10,column:13},end:{line:10,column:53}},"4":{start:{line:12,column:15},end:{line:12,column:57}},"5":{start:{line:14,column:13},end:{line:14,column:31}},"6":{start:{line:16,column:11},end:{line:16,column:27}},"7":{start:{line:18,column:39},end:{line:18,column:95}},"8":{start:{line:20,column:18},end:{line:20,column:19}},"9":{start:{line:23,column:12},end:{line:23,column:215}},"10":{start:{line:24,column:16},end:{line:27,column:3}},"11":{start:{line:28,column:2},end:{line:28,column:66}},"12":{start:{line:33,column:10},end:{line:33,column:51}},"13":{start:{line:36,column:16},end:{line:36,column:67}},"14":{start:{line:38,column:2},end:{line:40,column:3}},"15":{start:{line:39,column:4},end:{line:39,column:52}},"16":{start:{line:42,column:15},end:{line:54,column:3}},"17":{start:{line:56,column:2},end:{line:58,column:3}},"18":{start:{line:57,column:4},end:{line:57,column:108}},"19":{start:{line:60,column:2},end:{line:62,column:3}},"20":{start:{line:61,column:4},end:{line:61,column:96}},"21":{start:{line:64,column:2},end:{line:66,column:3}},"22":{start:{line:65,column:4},end:{line:65,column:83}},"23":{start:{line:68,column:14},end:{line:68,column:16}},"24":{start:{line:70,column:26},end:{line:88,column:3}},"25":{start:{line:90,column:2},end:{line:92,column:4}},"26":{start:{line:93,column:2},end:{line:104,column:5}},"27":{start:{line:94,column:23},end:{line:94,column:137}},"28":{start:{line:95,column:20},end:{line:95,column:22}},"29":{start:{line:96,column:4},end:{line:102,column:7}},"30":{start:{line:97,column:17},end:{line:97,column:19}},"31":{start:{line:98,column:6},end:{line:98,column:60}},"32":{start:{line:99,column:6},end:{line:99,column:64}},"33":{start:{line:100,column:6},end:{line:100,column:64}},"34":{start:{line:101,column:6},end:{line:101,column:27}},"35":{start:{line:103,column:4},end:{line:103,column:52}},"36":{start:{line:106,column:2},end:{line:106,column:42}},"37":{start:{line:107,column:2},end:{line:118,column:5}},"38":{start:{line:108,column:23},end:{line:108,column:141}},"39":{start:{line:109,column:20},end:{line:109,column:22}},"40":{start:{line:110,column:4},end:{line:116,column:7}},"41":{start:{line:111,column:17},end:{line:111,column:19}},"42":{start:{line:112,column:6},end:{line:112,column:60}},"43":{start:{line:113,column:6},end:{line:113,column:64}},"44":{start:{line:114,column:6},end:{line:114,column:64}},"45":{start:{line:115,column:6},end:{line:115,column:27}},"46":{start:{line:117,column:4},end:{line:117,column:54}},"47":{start:{line:122,column:23},end:{line:122,column:104}},"48":{start:{line:124,column:2},end:{line:138,column:5}},"49":{start:{line:125,column:14},end:{line:125,column:140}},"50":{start:{line:126,column:19},end:{line:126,column:21}},"51":{start:{line:127,column:4},end:{line:132,column:7}},"52":{start:{line:128,column:17},end:{line:128,column:19}},"53":{start:{line:129,column:6},end:{line:129,column:53}},"54":{start:{line:130,column:6},end:{line:130,column:52}},"55":{start:{line:131,column:6},end:{line:131,column:26}},"56":{start:{line:133,column:4},end:{line:133,column:48}},"57":{start:{line:134,column:4},end:{line:136,column:6}},"58":{start:{line:137,column:4},end:{line:137,column:40}},"59":{start:{line:140,column:2},end:{line:152,column:5}},"60":{start:{line:141,column:14},end:{line:141,column:142}},"61":{start:{line:142,column:19},end:{line:142,column:21}},"62":{start:{line:143,column:4},end:{line:148,column:7}},"63":{start:{line:144,column:17},end:{line:144,column:19}},"64":{start:{line:145,column:6},end:{line:145,column:53}},"65":{start:{line:146,column:6},end:{line:146,column:52}},"66":{start:{line:147,column:6},end:{line:147,column:26}},"67":{start:{line:149,column:4},end:{line:149,column:48}},"68":{start:{line:150,column:4},end:{line:150,column:36}},"69":{start:{line:151,column:4},end:{line:151,column:42}},"70":{start:{line:153,column:2},end:{line:156,column:5}},"71":{start:{line:161,column:18},end:{line:161,column:35}},"72":{start:{line:162,column:14},end:{line:162,column:29}},"73":{start:{line:163,column:15},end:{line:163,column:31}},"74":{start:{line:164,column:20},end:{line:179,column:3}},"75":{start:{line:180,column:2},end:{line:180,column:65}},"76":{start:{line:182,column:14},end:{line:182,column:26}},"77":{start:{line:184,column:2},end:{line:193,column:3}},"78":{start:{line:185,column:21},end:{line:185,column:86}},"79":{start:{line:187,column:20},end:{line:187,column:85}},"80":{start:{line:189,column:16},end:{line:189,column:73}},"81":{start:{line:190,column:15},end:{line:190,column:70}},"82":{start:{line:191,column:19},end:{line:191,column:51}},"83":{start:{line:192,column:4},end:{line:192,column:62}},"84":{start:{line:195,column:13},end:{line:202,column:3}},"85":{start:{line:203,column:2},end:{line:203,column:30}},"86":{start:{line:207,column:2},end:{line:217,column:5}},"87":{start:{line:212,column:4},end:{line:214,column:5}},"88":{start:{line:213,column:6},end:{line:213,column:27}},"89":{start:{line:216,column:4},end:{line:216,column:45}}},fnMap:{"0":{name:"_interopRequireDefault",decl:{start:{line:18,column:9},end:{line:18,column:31}},loc:{start:{line:18,column:37},end:{line:18,column:97}},line:18},"1":{name:"getHTML",decl:{start:{line:22,column:9},end:{line:22,column:16}},loc:{start:{line:22,column:50},end:{line:29,column:1}},line:22},"2":{name:"parseHTML",decl:{start:{line:32,column:9},end:{line:32,column:18}},loc:{start:{line:32,column:38},end:{line:157,column:1}},line:32},"3":{name:"(anonymous_3)",decl:{start:{line:93,column:51},end:{line:93,column:52}},loc:{start:{line:93,column:64},end:{line:104,column:3}},line:93},"4":{name:"(anonymous_4)",decl:{start:{line:96,column:22},end:{line:96,column:23}},loc:{start:{line:96,column:39},end:{line:102,column:5}},line:96},"5":{name:"(anonymous_5)",decl:{start:{line:107,column:53},end:{line:107,column:54}},loc:{start:{line:107,column:66},end:{line:118,column:3}},line:107},"6":{name:"(anonymous_6)",decl:{start:{line:110,column:22},end:{line:110,column:23}},loc:{start:{line:110,column:39},end:{line:116,column:5}},line:110},"7":{name:"(anonymous_7)",decl:{start:{line:124,column:25},end:{line:124,column:26}},loc:{start:{line:124,column:41},end:{line:138,column:3}},line:124},"8":{name:"(anonymous_8)",decl:{start:{line:127,column:13},end:{line:127,column:14}},loc:{start:{line:127,column:30},end:{line:132,column:5}},line:127},"9":{name:"(anonymous_9)",decl:{start:{line:140,column:25},end:{line:140,column:26}},loc:{start:{line:140,column:41},end:{line:152,column:3}},line:140},"10":{name:"(anonymous_10)",decl:{start:{line:143,column:13},end:{line:143,column:14}},loc:{start:{line:143,column:30},end:{line:148,column:5}},line:143},"11":{name:"transform",decl:{start:{line:160,column:9},end:{line:160,column:18}},loc:{start:{line:160,column:38},end:{line:204,column:1}},line:160},"12":{name:"_default",decl:{start:{line:206,column:9},end:{line:206,column:17}},loc:{start:{line:206,column:51},end:{line:218,column:1}},line:206},"13":{name:"(anonymous_13)",decl:{start:{line:211,column:5},end:{line:211,column:6}},loc:{start:{line:211,column:29},end:{line:217,column:3}},line:211}},branchMap:{"0":{loc:{start:{line:18,column:46},end:{line:18,column:94}},type:"cond-expr",locations:[{start:{line:18,column:70},end:{line:18,column:73}},{start:{line:18,column:76},end:{line:18,column:94}}],line:18},"1":{loc:{start:{line:18,column:46},end:{line:18,column:67}},type:"binary-expr",locations:[{start:{line:18,column:46},end:{line:18,column:49}},{start:{line:18,column:53},end:{line:18,column:67}}],line:18},"2":{loc:{start:{line:23,column:12},end:{line:23,column:215}},type:"cond-expr",locations:[{start:{line:23,column:32},end:{line:23,column:132}},{start:{line:23,column:135},end:{line:23,column:215}}],line:23},"3":{loc:{start:{line:38,column:2},end:{line:40,column:3}},type:"if",locations:[{start:{line:38,column:2},end:{line:40,column:3}},{start:{line:38,column:2},end:{line:40,column:3}}],line:38},"4":{loc:{start:{line:56,column:2},end:{line:58,column:3}},type:"if",locations:[{start:{line:56,column:2},end:{line:58,column:3}},{start:{line:56,column:2},end:{line:58,column:3}}],line:56},"5":{loc:{start:{line:60,column:2},end:{line:62,column:3}},type:"if",locations:[{start:{line:60,column:2},end:{line:62,column:3}},{start:{line:60,column:2},end:{line:62,column:3}}],line:60},"6":{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},"7":{loc:{start:{line:184,column:2},end:{line:193,column:3}},type:"if",locations:[{start:{line:184,column:2},end:{line:193,column:3}},{start:{line:184,column:2},end:{line:193,column:3}}],line:184},"8":{loc:{start:{line:184,column:6},end:{line:184,column:32}},type:"binary-expr",locations:[{start:{line:184,column:6},end:{line:184,column:17}},{start:{line:184,column:21},end:{line:184,column:32}}],line:184},"9":{loc:{start:{line:189,column:16},end:{line:189,column:73}},type:"cond-expr",locations:[{start:{line:189,column:29},end:{line:189,column:69}},{start:{line:189,column:72},end:{line:189,column:73}}],line:189},"10":{loc:{start:{line:190,column:15},end:{line:190,column:70}},type:"cond-expr",locations:[{start:{line:190,column:27},end:{line:190,column:66}},{start:{line:190,column:69},end:{line:190,column:70}}],line:190},"11":{loc:{start:{line:212,column:4},end:{line:214,column:5}},type:"if",locations:[{start:{line:212,column:4},end:{line:214,column:5}},{start:{line:212,column:4},end:{line:214,column:5}}],line:212}},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,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0},f:{"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},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]},inputSourceMap:{version:3,sources:["stats.js"],names:["MAX_RETRIES","getHTML","platform","region","tag","callback","url","options","uri","encodeURI","encoding","parseHTML","results","$","cheerio","load","isFound","text","Error","parsed","user","level","first","portrait","attr","permission","endorsementLevel","last","endorsementFrameEl","sportsmanshipValue","data","shotcallerValue","teammateValue","starEl","html","rankEl","endorsementFrame","slice","replace","star","rank","stats","topHeroCategories","quickplay","competitive","Object","keys","forEach","k","topHeroesEls","find","topHeroes","each","i","el","stat","hero","img","push","statCategories","item","els","closest","statsArr","title","value","next","toLowerCase","transform","endorsement","sportsmanship","rate","parseFloat","toFixed","shotcaller","teammate","parseInt","frame","icon","starsMatch","path","basename","split","rankMatch","stars","prestige","json","username","async","auto","apply","err"],mappings:"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",sourceRoot:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\",sourcesContent:["import path from 'path';\nimport async from 'async';\nimport cheerio from 'cheerio';\nimport { getPrestigeLevel, getPrestigeStars, retryRequest } from './utils';\nimport { createEndorsementSVG } from './svg';\n\nconst MAX_RETRIES = 3;\n\n// Get HTML from playoverwatch career page.\nfunction getHTML(platform, region, tag, callback) {\n  const url = platform === 'pc'\n    ? `https://playoverwatch.com/en-us/career/${platform}/${region}/${tag}/`\n    : `https://playoverwatch.com/en-us/career/${platform}/${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 = $('.content-box h1').text() !== 'Profile Not Found';\n  if (!isFound) {\n    return callback(new Error('Profile not found'));\n  }\n\n  const parsed = {\n    user: $('.header-masthead').text(),\n    level: $('.player-level div').first().text(),\n    portrait: $('.player-portrait').attr('src'),\n    permission: $('.masthead-permission-level-text').text(),\n    endorsementLevel: $('.masthead .EndorsementIcon-tooltip div').last().text(),\n    endorsementFrameEl: $('.masthead .EndorsementIcon').attr('style'),\n    sportsmanshipValue: $('.masthead .EndorsementIcon-border--sportsmanship').data('value'),\n    shotcallerValue: $('.masthead .EndorsementIcon-border--shotcaller').data('value'),\n    teammateValue: $('.masthead .EndorsementIcon-border--teammate').data('value'),\n    starEl: $('.player-rank').html(),\n    rankEl: $('.player-level').html(),\n  }\n\n  if (parsed.endorsementFrameEl) {\n    parsed.endorsementFrame = $('.masthead .EndorsementIcon').attr('style').slice(21, -1).replace(/ /g, '');\n  }\n\n  if (parsed.starEl !== null) {\n    parsed.star = $('.player-level .player-rank').attr('style').slice(21, -1).replace(/ /g, '');\n  }\n\n  if (parsed.rankEl !== null) {\n    parsed.rank = $('.player-level').attr('style').slice(21, -1).replace(/ /g, '');\n  }\n\n  const stats = {};\n\n  // Top Heroes.\n  const topHeroCategories = {\n    quickplay: {\n      'played': '0x0860000000000021',\n      'games_won': '0x0860000000000039',\n      'weapon_accuracy': '0x086000000000002F',\n      'eliminations_per_life': '0x08600000000003D2',\n      'multikill_best': '0x0860000000000346',\n      'objective_kills_average': '0x086000000000039C',\n    },\n    competitive: {\n      'played': '0x0860000000000021',\n      'games_won': '0x0860000000000039',\n      'win_rate': '0x08600000000003D1',\n      'weapon_accuracy': '0x086000000000002F',\n      'eliminations_per_life': '0x08600000000003D2',\n      'multikill_best': '0x0860000000000346',\n      'objective_kills_average': '0x086000000000039C',\n    }\n  };\n\n  // Quickplay.\n  stats['top_heroes'] = { quickplay: {} };\n  Object.keys(topHeroCategories.quickplay).forEach((k) => {\n    const topHeroesEls = $(`#quickplay [data-category-id=\"${topHeroCategories.quickplay[k]}\"]`)\n      .find('.progress-category-item');\n    let topHeroes = [];\n    topHeroesEls.each(function(i, el) {\n      const stat = {};\n      stat.hero = $(this).find('.ProgressBar-title').text();\n      stat.img = $(this).find('.ProgressBar-thumb').attr('src');\n      stat[k] = $(this).find('.ProgressBar-description').text();\n      topHeroes.push(stat);\n    });\n    stats['top_heroes']['quickplay'][k] = topHeroes;\n  });\n\n  // Competitive.\n  stats['top_heroes']['competitive'] = {};\n  Object.keys(topHeroCategories.competitive).forEach((k) => {\n    const topHeroesEls = $(`#competitive [data-category-id=\"${topHeroCategories.competitive[k]}\"]`)\n      .find('.progress-category-item');\n    let topHeroes = [];\n    topHeroesEls.each(function(i, el) {\n      const stat = {};\n      stat.hero = $(this).find('.ProgressBar-title').text();\n      stat.img = $(this).find('.ProgressBar-thumb').attr('src');\n      stat[k] = $(this).find('.ProgressBar-description').text();\n      topHeroes.push(stat);\n    });\n    stats['top_heroes']['competitive'][k] = topHeroes;\n  });\n\n  //\n  // Career Stats\n  //\n  const statCategories = [\n    'Combat',\n    'Match Awards',\n    'Assists',\n    'Average',\n    'Miscellaneous',\n    'Best',\n    'Game'\n  ];\n\n  // Quickplay Stats.\n  statCategories.forEach(function(item) {\n    const els = $(`#quickplay [data-category-id=\"0x02E00000FFFFFFFF\"] h5:contains(\"${item}\")`).closest('table').find('tbody tr');\n    let statsArr = [];\n    els.each(function(i, el) {\n      let stat = {};\n      stat.title = $(this).find('td').first().text();\n      stat.value = $(this).find('td').next().text();\n      statsArr.push(stat);\n    });\n    item = item.replace(' ', '_').toLowerCase();\n    stats[item] = { quickplay: [] };\n    stats[item]['quickplay'] = statsArr;\n  });\n\n  // Competitive Stats.\n  statCategories.forEach(function(item) {\n    const els = $(`#competitive [data-category-id=\"0x02E00000FFFFFFFF\"] h5:contains(\"${item}\")`).closest('table').find('tbody tr');\n    let statsArr = [];\n    els.each(function(i, el) {\n      let stat = {};\n      stat.title = $(this).find('td').first().text();\n      stat.value = $(this).find('td').next().text();\n      statsArr.push(stat);\n    });\n    item = item.replace(' ', '_').toLowerCase();\n    stats[item]['competitive'] = [];\n    stats[item]['competitive'] = statsArr;\n  });\n\n  return callback(null, { stats, parsed });\n}\n\n// Transform the data into a json object we can serve.\nfunction transform(results, callback) {\n  const { parseHTML } = results;\n  const { stats, parsed } = parseHTML;\n\n  const endorsement = {\n    sportsmanship: { value: parsed.sportsmanshipValue, rate: parseFloat((parsed.sportsmanshipValue * 100).toFixed(2)) },\n    shotcaller: { value: parsed.shotcallerValue, rate: parseFloat((parsed.shotcallerValue * 100).toFixed(2)) },\n    teammate: { value: parsed.teammateValue, rate: parseFloat((parsed.teammateValue * 100).toFixed(2)) },\n    level: parseInt(parsed.endorsementLevel),\n    frame: parsed.endorsementFrame,\n  };\n  endorsement.icon = createEndorsementSVG(endorsement);\n\n  // Calculate the prestige level.\n  let level = parsed.level;\n  if (parsed.star && parsed.rank) {\n    const starsMatch = path.basename(parsed.star).split('.').slice(0, -1)[0];\n    const rankMatch = path.basename(parsed.rank).split('.').slice(0, -1)[0];\n    const stars = starsMatch ? getPrestigeStars(starsMatch) : 0;\n    const rank = rankMatch ? getPrestigeLevel(rankMatch) : 0;\n    const prestige = parseInt(stars) + parseInt(rank);\n    level = parseInt(parsed.level) + (parseInt(prestige) * 100);\n  }\n\n  const json = {\n    username: parsed.user,\n    level: parseInt(level),\n    portrait: parsed.portrait,\n    endorsement: endorsement,\n    private: parsed.permission === 'Private Profile',\n    stats: stats\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:"cdaaa49501c11d746a8e5a705f925a06ad08711c"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
cov_1rkhlf6byj=function(){return actualCoverage;};}return actualCoverage;}cov_1rkhlf6byj();cov_1rkhlf6byj().s[0]++;Object.defineProperty(exports,"__esModule",{value:true});cov_1rkhlf6byj().s[1]++;exports["default"]=_default;var _path=(cov_1rkhlf6byj().s[2]++,_interopRequireDefault(require("path")));var _async=(cov_1rkhlf6byj().s[3]++,_interopRequireDefault(require("async")));var _cheerio=(cov_1rkhlf6byj().s[4]++,_interopRequireDefault(require("cheerio")));var _utils=(cov_1rkhlf6byj().s[5]++,require("./utils"));var _svg=(cov_1rkhlf6byj().s[6]++,require("./svg"));function _interopRequireDefault(obj){cov_1rkhlf6byj().f[0]++;cov_1rkhlf6byj().s[7]++;return(cov_1rkhlf6byj().b[1][0]++,obj)&&(cov_1rkhlf6byj().b[1][1]++,obj.__esModule)?(cov_1rkhlf6byj().b[0][0]++,obj):(cov_1rkhlf6byj().b[0][1]++,{"default":obj});}var MAX_RETRIES=(cov_1rkhlf6byj().s[8]++,3);// Get HTML from playoverwatch career page.
function getHTML(platform,region,tag,callback){cov_1rkhlf6byj().f[1]++;var url=(cov_1rkhlf6byj().s[9]++,platform==='pc'?(cov_1rkhlf6byj().b[2][0]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(region,"/").concat(tag,"/")):(cov_1rkhlf6byj().b[2][1]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(tag,"/")));var options=(cov_1rkhlf6byj().s[10]++,{uri:encodeURI(url),encoding:'utf8'});cov_1rkhlf6byj().s[11]++;return(0,_utils.retryRequest)(options,MAX_RETRIES,callback);}// Begin html parsing.
function parseHTML(results,callback){cov_1rkhlf6byj().f[2]++;var $=(cov_1rkhlf6byj().s[12]++,_cheerio["default"].load(results.getHTML));// Check if profile exists.
var isFound=(cov_1rkhlf6byj().s[13]++,$('.content-box h1').text()!=='Profile Not Found');cov_1rkhlf6byj().s[14]++;if(!isFound){cov_1rkhlf6byj().b[3][0]++;cov_1rkhlf6byj().s[15]++;return callback(new Error('Profile not found'));}else{cov_1rkhlf6byj().b[3][1]++;}var parsed=(cov_1rkhlf6byj().s[16]++,{user:$('.header-masthead').text(),level:$('.player-level div').first().text(),portrait:$('.player-portrait').attr('src'),permission:$('.masthead-permission-level-text').text(),endorsementLevel:$('.masthead .EndorsementIcon-tooltip div').last().text(),endorsementFrameEl:$('.masthead .EndorsementIcon').attr('style'),sportsmanshipValue:$('.masthead .EndorsementIcon-border--sportsmanship').data('value'),shotcallerValue:$('.masthead .EndorsementIcon-border--shotcaller').data('value'),teammateValue:$('.masthead .EndorsementIcon-border--teammate').data('value'),starEl:$('.player-rank').html(),rankEl:$('.player-level').html()});cov_1rkhlf6byj().s[17]++;if(parsed.endorsementFrameEl){cov_1rkhlf6byj().b[4][0]++;cov_1rkhlf6byj().s[18]++;parsed.endorsementFrame=$('.masthead .EndorsementIcon').attr('style').slice(21,-1).replace(/ /g,'');}else{cov_1rkhlf6byj().b[4][1]++;}cov_1rkhlf6byj().s[19]++;if(parsed.starEl!==null){cov_1rkhlf6byj().b[5][0]++;cov_1rkhlf6byj().s[20]++;parsed.star=$('.player-level .player-rank').attr('style').slice(21,-1).replace(/ /g,'');}else{cov_1rkhlf6byj().b[5][1]++;}cov_1rkhlf6byj().s[21]++;if(parsed.rankEl!==null){cov_1rkhlf6byj().b[6][0]++;cov_1rkhlf6byj().s[22]++;parsed.rank=$('.player-level').attr('style').slice(21,-1).replace(/ /g,'');}else{cov_1rkhlf6byj().b[6][1]++;}var stats=(cov_1rkhlf6byj().s[23]++,{});// Top Heroes.
var topHeroCategories=(cov_1rkhlf6byj().s[24]++,{quickplay:{'played':'0x0860000000000021','games_won':'0x0860000000000039','weapon_accuracy':'0x086000000000002F','eliminations_per_life':'0x08600000000003D2','multikill_best':'0x0860000000000346','objective_kills_average':'0x086000000000039C'},competitive:{'played':'0x0860000000000021','games_won':'0x0860000000000039','win_rate':'0x08600000000003D1','weapon_accuracy':'0x086000000000002F','eliminations_per_life':'0x08600000000003D2','multikill_best':'0x0860000000000346','objective_kills_average':'0x086000000000039C'}});// Quickplay.
cov_1rkhlf6byj().s[25]++;stats['top_heroes']={quickplay:{}};cov_1rkhlf6byj().s[26]++;Object.keys(topHeroCategories.quickplay).forEach(function(k){cov_1rkhlf6byj().f[3]++;var topHeroesEls=(cov_1rkhlf6byj().s[27]++,$("#quickplay [data-category-id=\"".concat(topHeroCategories.quickplay[k],"\"]")).find('.progress-category-item'));var topHeroes=(cov_1rkhlf6byj().s[28]++,[]);cov_1rkhlf6byj().s[29]++;topHeroesEls.each(function(i,el){cov_1rkhlf6byj().f[4]++;var stat=(cov_1rkhlf6byj().s[30]++,{});cov_1rkhlf6byj().s[31]++;stat.hero=$(this).find('.ProgressBar-title').text();cov_1rkhlf6byj().s[32]++;stat.img=$(this).find('.ProgressBar-thumb').attr('src');cov_1rkhlf6byj().s[33]++;stat[k]=$(this).find('.ProgressBar-description').text();cov_1rkhlf6byj().s[34]++;topHeroes.push(stat);});cov_1rkhlf6byj().s[35]++;stats['top_heroes']['quickplay'][k]=topHeroes;});// Competitive.
cov_1rkhlf6byj().s[36]++;stats['top_heroes']['competitive']={};cov_1rkhlf6byj().s[37]++;Object.keys(topHeroCategories.competitive).forEach(function(k){cov_1rkhlf6byj().f[5]++;var topHeroesEls=(cov_1rkhlf6byj().s[38]++,$("#competitive [data-category-id=\"".concat(topHeroCategories.competitive[k],"\"]")).find('.progress-category-item'));var topHeroes=(cov_1rkhlf6byj().s[39]++,[]);cov_1rkhlf6byj().s[40]++;topHeroesEls.each(function(i,el){cov_1rkhlf6byj().f[6]++;var stat=(cov_1rkhlf6byj().s[41]++,{});cov_1rkhlf6byj().s[42]++;stat.hero=$(this).find('.ProgressBar-title').text();cov_1rkhlf6byj().s[43]++;stat.img=$(this).find('.ProgressBar-thumb').attr('src');cov_1rkhlf6byj().s[44]++;stat[k]=$(this).find('.ProgressBar-description').text();cov_1rkhlf6byj().s[45]++;topHeroes.push(stat);});cov_1rkhlf6byj().s[46]++;stats['top_heroes']['competitive'][k]=topHeroes;});//
// Career Stats
//
var statCategories=(cov_1rkhlf6byj().s[47]++,['Combat','Match Awards','Assists','Average','Miscellaneous','Best','Game']);// Quickplay Stats.
cov_1rkhlf6byj().s[48]++;statCategories.forEach(function(item){cov_1rkhlf6byj().f[7]++;var els=(cov_1rkhlf6byj().s[49]++,$("#quickplay [data-category-id=\"0x02E00000FFFFFFFF\"] h5:contains(\"".concat(item,"\")")).closest('table').find('tbody tr'));var statsArr=(cov_1rkhlf6byj().s[50]++,[]);cov_1rkhlf6byj().s[51]++;els.each(function(i,el){cov_1rkhlf6byj().f[8]++;var stat=(cov_1rkhlf6byj().s[52]++,{});cov_1rkhlf6byj().s[53]++;stat.title=$(this).find('td').first().text();cov_1rkhlf6byj().s[54]++;stat.value=$(this).find('td').next().text();cov_1rkhlf6byj().s[55]++;statsArr.push(stat);});cov_1rkhlf6byj().s[56]++;item=item.replace(' ','_').toLowerCase();cov_1rkhlf6byj().s[57]++;stats[item]={quickplay:[]};cov_1rkhlf6byj().s[58]++;stats[item]['quickplay']=statsArr;});// Competitive Stats.
cov_1rkhlf6byj().s[59]++;statCategories.forEach(function(item){cov_1rkhlf6byj().f[9]++;var els=(cov_1rkhlf6byj().s[60]++,$("#competitive [data-category-id=\"0x02E00000FFFFFFFF\"] h5:contains(\"".concat(item,"\")")).closest('table').find('tbody tr'));var statsArr=(cov_1rkhlf6byj().s[61]++,[]);cov_1rkhlf6byj().s[62]++;els.each(function(i,el){cov_1rkhlf6byj().f[10]++;var stat=(cov_1rkhlf6byj().s[63]++,{});cov_1rkhlf6byj().s[64]++;stat.title=$(this).find('td').first().text();cov_1rkhlf6byj().s[65]++;stat.value=$(this).find('td').next().text();cov_1rkhlf6byj().s[66]++;statsArr.push(stat);});cov_1rkhlf6byj().s[67]++;item=item.replace(' ','_').toLowerCase();cov_1rkhlf6byj().s[68]++;stats[item]['competitive']=[];cov_1rkhlf6byj().s[69]++;stats[item]['competitive']=statsArr;});cov_1rkhlf6byj().s[70]++;return callback(null,{stats:stats,parsed:parsed});}// Transform the data into a json object we can serve.
function transform(results,callback){cov_1rkhlf6byj().f[11]++;var parseHTML=(cov_1rkhlf6byj().s[71]++,results.parseHTML);var stats=(cov_1rkhlf6byj().s[72]++,parseHTML.stats),parsed=(cov_1rkhlf6byj().s[73]++,parseHTML.parsed);var endorsement=(cov_1rkhlf6byj().s[74]++,{sportsmanship:{value:parsed.sportsmanshipValue,rate:parseFloat((parsed.sportsmanshipValue*100).toFixed(2))},shotcaller:{value:parsed.shotcallerValue,rate:parseFloat((parsed.shotcallerValue*100).toFixed(2))},teammate:{value:parsed.teammateValue,rate:parseFloat((parsed.teammateValue*100).toFixed(2))},level:parseInt(parsed.endorsementLevel),frame:parsed.endorsementFrame});cov_1rkhlf6byj().s[75]++;endorsement.icon=(0,_svg.createEndorsementSVG)(endorsement);// Calculate the prestige level.
var level=(cov_1rkhlf6byj().s[76]++,parsed.level);cov_1rkhlf6byj().s[77]++;if((cov_1rkhlf6byj().b[8][0]++,parsed.star)&&(cov_1rkhlf6byj().b[8][1]++,parsed.rank)){cov_1rkhlf6byj().b[7][0]++;var starsMatch=(cov_1rkhlf6byj().s[78]++,_path["default"].basename(parsed.star).split('.').slice(0,-1)[0]);var rankMatch=(cov_1rkhlf6byj().s[79]++,_path["default"].basename(parsed.rank).split('.').slice(0,-1)[0]);var stars=(cov_1rkhlf6byj().s[80]++,starsMatch?(cov_1rkhlf6byj().b[9][0]++,(0,_utils.getPrestigeStars)(starsMatch)):(cov_1rkhlf6byj().b[9][1]++,0));var rank=(cov_1rkhlf6byj().s[81]++,rankMatch?(cov_1rkhlf6byj().b[10][0]++,(0,_utils.getPrestigeLevel)(rankMatch)):(cov_1rkhlf6byj().b[10][1]++,0));var prestige=(cov_1rkhlf6byj().s[82]++,parseInt(stars)+parseInt(rank));cov_1rkhlf6byj().s[83]++;level=parseInt(parsed.level)+parseInt(prestige)*100;}else{cov_1rkhlf6byj().b[7][1]++;}var json=(cov_1rkhlf6byj().s[84]++,{username:parsed.user,level:parseInt(level),portrait:parsed.portrait,endorsement:endorsement,"private":parsed.permission==='Private Profile',stats:stats});cov_1rkhlf6byj().s[85]++;return callback(null,json);}function _default(platform,region,tag,callback){cov_1rkhlf6byj().f[12]++;cov_1rkhlf6byj().s[86]++;_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_1rkhlf6byj().f[13]++;cov_1rkhlf6byj().s[87]++;if(err){cov_1rkhlf6byj().b[11][0]++;cov_1rkhlf6byj().s[88]++;return callback(err);}else{cov_1rkhlf6byj().b[11][1]++;}cov_1rkhlf6byj().s[89]++;return callback(null,results.transform);});}//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YXRzLmpzIl0sIm5hbWVzIjpbIk1BWF9SRVRSSUVTIiwiZ2V0SFRNTCIsInBsYXRmb3JtIiwicmVnaW9uIiwidGFnIiwiY2FsbGJhY2siLCJ1cmwiLCJvcHRpb25zIiwidXJpIiwiZW5jb2RlVVJJIiwiZW5jb2RpbmciLCJwYXJzZUhUTUwiLCJyZXN1bHRzIiwiJCIsImNoZWVyaW8iLCJsb2FkIiwiaXNGb3VuZCIsInRleHQiLCJFcnJvciIsInBhcnNlZCIsInVzZXIiLCJsZXZlbCIsImZpcnN0IiwicG9ydHJhaXQiLCJhdHRyIiwicGVybWlzc2lvbiIsImVuZG9yc2VtZW50TGV2ZWwiLCJsYXN0IiwiZW5kb3JzZW1lbnRGcmFtZUVsIiwic3BvcnRzbWFuc2hpcFZhbHVlIiwiZGF0YSIsInNob3RjYWxsZXJWYWx1ZSIsInRlYW1tYXRlVmFsdWUiLCJzdGFyRWwiLCJodG1sIiwicmFua0VsIiwiZW5kb3JzZW1lbnRGcmFtZSIsInNsaWNlIiwicmVwbGFjZSIsInN0YXIiLCJyYW5rIiwic3RhdHMiLCJ0b3BIZXJvQ2F0ZWdvcmllcyIsInF1aWNrcGxheSIsImNvbXBldGl0aXZlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrIiwidG9wSGVyb2VzRWxzIiwiZmluZCIsInRvcEhlcm9lcyIsImVhY2giLCJpIiwiZWwiLCJzdGF0IiwiaGVybyIsImltZyIsInB1c2giLCJzdGF0Q2F0ZWdvcmllcyIsIml0ZW0iLCJlbHMiLCJjbG9zZXN0Iiwic3RhdHNBcnIiLCJ0aXRsZSIsInZhbHVlIiwibmV4dCIsInRvTG93ZXJDYXNlIiwidHJhbnNmb3JtIiwiZW5kb3JzZW1lbnQiLCJzcG9ydHNtYW5zaGlwIiwicmF0ZSIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwic2hvdGNhbGxlciIsInRlYW1tYXRlIiwicGFyc2VJbnQiLCJmcmFtZSIsImljb24iLCJzdGFyc01hdGNoIiwicGF0aCIsImJhc2VuYW1lIiwic3BsaXQiLCJyYW5rTWF0Y2giLCJzdGFycyIsInBy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QUErQkMsTUFBL0IsRUFBdUNDLEdBQXZDLENBREE7QUFFVE8sSUFBQUEsU0FBUyxFQUFFLENBQUMsU0FBRCxFQUFZNkUsa0JBQU1FLEtBQU4sQ0FBWS9FLFNBQVosQ0FBWixDQUZGO0FBR1R5RCxJQUFBQSxTQUFTLEVBQUUsQ0FBQyxTQUFELEVBQVksV0FBWixFQUF5Qm9CLGtCQUFNRSxLQUFOLENBQVl0QixTQUFaLENBQXpCO0FBSEYsR0FBWCxFQUlHLFVBQVN1QixHQUFULEVBQWMvRSxPQUFkLEVBQXVCO0FBQ3hCLFFBQUkrRSxHQUFKLEVBQVM7QUFDUCxhQUFPdEYsUUFBUSxDQUFDc0YsR0FBRCxDQUFmO0FBQ0Q7O0FBQ0QsV0FBT3RGLFFBQVEsQ0FBQyxJQUFELEVBQU9PLE9BQU8sQ0FBQ3dELFNBQWYsQ0FBZjtBQUNELEdBVEQ7QUFVRCIsInNvdXJjZVJvb3QiOiJDOlxcVXNlcnNcXEFsZlxcU291cmNlXFxvdmVyd2F0Y2gtYXBpXFxhcGlcXHNyY1xccGFyc2VyXFwiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBhc3luYyBmcm9tICdhc3luYyc7XG5pbXBvcnQgY2hlZXJpbyBmcm9tICdjaGVlcmlvJztcbmltcG9ydCB7IGdldFByZXN0aWdlTGV2ZWwsIGdldFByZXN0aWdlU3RhcnMsIHJldHJ5UmVxdWVzdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlRW5kb3JzZW1lbnRTVkcgfSBmcm9tICcuL3N2Zyc7XG5cbmNvbnN0IE1BWF9SRVRSSUVTID0gMztcblxuLy8gR2V0IEhUTUwgZnJvbSBwbGF5b3ZlcndhdGNoIGNhcmVlciBwYWdlLlxuZnVuY3Rpb24gZ2V0SFRNTChwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHVybCA9IHBsYXRmb3JtID09PSAncGMnXG4gICAgPyBgaHR0cHM6Ly9wbGF5b3ZlcndhdGNoLmNvbS9lbi11cy9jYXJlZXIvJHtwbGF0Zm9ybX0vJHtyZWdpb259LyR7dGFnfS9gXG4gICAgOiBgaHR0cHM6Ly9wbGF5b3ZlcndhdGNoLmNvbS9lbi11cy9jYXJlZXIvJHtwbGF0Zm9ybX0vJHt0YWd9L2A7XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB1cmk6IGVuY29kZVVSSSh1cmwpLFxuICAgIGVuY29kaW5nOiAndXRmOCdcbiAgfVxuICByZXR1cm4gcmV0cnlSZXF1ZXN0KG9wdGlvbnMsIE1BWF9SRVRSSUVTLCBjYWxsYmFjayk7XG59XG5cbi8vIEJlZ2luIGh0bWwgcGFyc2luZy5cbmZ1bmN0aW9uIHBhcnNlSFRNTChyZXN1bHRzLCBjYWxsYmFjaykge1xuICBjb25zdCAkID0gY2hlZXJpby5sb2FkKHJlc3VsdHMuZ2V0SFRNTCk7XG5cbiAgLy8gQ2hlY2sgaWYgcHJvZmlsZSBleGlzdHMuXG4gIGNvbnN0IGlzRm91bmQgPSAkKCcuY29udGVudC1ib3ggaDEnKS50ZXh0KCkgIT09ICdQcm9maWxlIE5vdCBGb3VuZCc7XG4gIGlmICghaXNGb3VuZCkge1xuICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ1Byb2ZpbGUgbm90IGZvdW5kJykpO1xuICB9XG5cbiAgY29uc3QgcGFyc2VkID0ge1xuICAgIHVzZXI6ICQoJy5oZWFkZXItbWFzdGhlYWQnKS50ZXh0KCksXG4gICAgbGV2ZWw6ICQoJy5wbGF5ZXItbGV2ZWwgZGl2JykuZmlyc3QoKS50ZXh0KCksXG4gICAgcG9ydHJhaXQ6ICQoJy5wbGF5ZXItcG9ydHJhaXQnKS5hdHRyKCdzcmMnKSxcbiAgICBwZXJtaXNzaW9uOiAkKCcubWFzdGhlYWQtcGVybWlzc2lvbi1sZXZlbC10ZXh0JykudGV4dCgpLFxuICAgIGVuZG9yc2VtZW50TGV2ZWw6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLXRvb2x0aXAgZGl2JykubGFzdCgpLnRleHQoKSxcbiAgICBlbmRvcnNlbWVudEZyYW1lRWw6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uJykuYXR0cignc3R5bGUnKSxcbiAgICBzcG9ydHNtYW5zaGlwVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tc3BvcnRzbWFuc2hpcCcpLmRhdGEoJ3ZhbHVlJyksXG4gICAgc2hvdGNhbGxlclZhbHVlOiAkKCcubWFzdGhlYWQgLkVuZG9yc2VtZW50SWNvbi1ib3JkZXItLXNob3RjYWxsZXInKS5kYXRhKCd2YWx1ZScpLFxuICAgIHRlYW1tYXRlVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tdGVhbW1hdGUnKS5kYXRhKCd2YWx1ZScpLFxuICAgIHN0YXJFbDogJCgnLnBsYXllci1yYW5rJykuaHRtbCgpLFxuICAgIHJhbmtFbDogJCgnLnBsYXllci1sZXZlbCcpLmh0bWwoKSxcbiAgfVxuXG4gIGlmIChwYXJzZWQuZW5kb3JzZW1lbnRGcmFtZUVsKSB7XG4gICAgcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUgPSAkKCcubWFzdGhlYWQgLkVuZG9yc2VtZW50SWNvbicpLmF0dHIoJ3N0eWxlJykuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuc3RhckVsICE9PSBudWxsKSB7XG4gICAgcGFyc2VkLnN0YXIgPSAkKCcucGxheWVyLWxldmVsIC5wbGF5ZXItcmFuaycpLmF0dHIoJ3N0eWxlJykuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucmFua0VsICE9PSBudWxsKSB7XG4gICAgcGFyc2VkLnJhbmsgPSAkKCcucGxheWVyLWxldmVsJykuYXR0cignc3R5bGUnKS5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgY29uc3Qgc3RhdHMgPSB7fTtcblxuICAvLyBUb3AgSGVyb2VzLlxuICBjb25zdCB0b3BIZXJvQ2F0ZWdvcmllcyA9IHtcbiAgICBxdWlja3BsYXk6IHtcbiAgICAgICdwbGF5ZWQnOiAnMHgwODYwMDAwMDAwMDAwMDIxJyxcbiAgICAgICdnYW1lc193b24nOiAnMHgwODYwMDAwMDAwMDAwMDM5JyxcbiAgICAgICd3ZWFwb25fYWNjdXJhY3knOiAnMHgwODYwMDAwMDAwMDAwMDJGJyxcbiAgICAgICdlbGltaW5hdGlvbnNfcGVyX2xpZmUnOiAnMHgwODYwMDAwMDAwMDAwM0QyJyxcbiAgICAgICdtdWx0aWtpbGxfYmVzdCc6ICcweDA4NjAwMDAwMDAwMDAzNDYnLFxuICAgICAgJ29iamVjdGl2ZV9raWxsc19hdmVyYWdlJzogJzB4MDg2MDAwMDAwMDAwMDM5QycsXG4gICAgfSxcbiAgICBjb21wZXRpdGl2ZToge1xuICAgICAgJ3BsYXllZCc6ICcweDA4NjAwMDAwMDAwMDAwMjEnLFxuICAgICAgJ2dhbWVzX3dvbic6ICcweDA4NjAwMDAwMDAwMDAwMzknLFxuICAgICAgJ3dpbl9yYXRlJzogJzB4MDg2MDAwMDAwMDAwMDNEMScsXG4gICAgICAnd2VhcG9uX2FjY3VyYWN5JzogJzB4MDg2MDAwMDAwMDAwMDAyRicsXG4gICAgICAnZWxpbWluYXRpb25zX3Blcl9saWZlJzogJzB4MDg2MDAwMDAwMDAwMDNEMicsXG4gICAgICAnbXVsdGlraWxsX2Jlc3QnOiAnMHgwODYwMDAwMDAwMDAwMzQ2JyxcbiAgICAgICdvYmplY3RpdmVfa2lsbHNfYXZlcmFnZSc6ICcweDA4NjAwMDAwMDAwMDAzOUMnLFxuICAgIH1cbiAgfTtcblxuICAvLyBRdWlja3BsYXkuXG4gIHN0YXRzWyd0b3BfaGVyb2VzJ10gPSB7IHF1aWNrcGxheToge30gfTtcbiAgT2JqZWN0LmtleXModG9wSGVyb0NhdGVnb3JpZXMucXVpY2twbGF5KS5mb3JFYWNoKChrKSA9PiB7XG4gICAgY29uc3QgdG9wSGVyb2VzRWxzID0gJChgI3F1aWNrcGxheSBbZGF0YS1jYXRlZ29yeS1pZD1cIiR7dG9wSGVyb0NhdGVnb3JpZXMucXVpY2twbGF5W2tdfVwiXWApXG4gICAgICAuZmluZCgnLnByb2dyZXNzLWNhdGVnb3J5LWl0ZW0nKTtcbiAgICBsZXQgdG9wSGVyb2VzID0gW107XG4gICAgdG9wSGVyb2VzRWxzLmVhY2goZnVuY3Rpb24oaSwgZWwpIHtcbiAgICAgIGNvbnN0IHN0YXQgPSB7fTtcbiAgICAgIHN0YXQuaGVybyA9ICQodGhpcykuZmluZCgnLlByb2dyZXNzQmFyLXRpdGxlJykudGV4dCgpO1xuICAgICAgc3RhdC5pbWcgPSAkKHRoaXMpLmZpbmQoJy5Qcm9ncmVzc0Jhci10aHVtYicpLmF0dHIoJ3NyYycpO1xuICAgICAgc3RhdFtrXSA9ICQodGhpcykuZmluZCgnLlByb2dyZXNzQmFyLWRlc2NyaXB0aW9uJykudGV4dCgpO1xuICAgICAgdG9wSGVyb2VzLnB1c2goc3RhdCk7XG4gICAgfSk7XG4gICAgc3RhdHNbJ3RvcF9oZXJvZXMnXVsncXVpY2twbGF5J11ba10gPSB0b3BIZXJvZXM7XG4gIH0pO1xuXG4gIC8vIENvbXBldGl0aXZlLlxuICBzdGF0c1sndG9wX2hlcm9lcyddWydjb21wZXRpdGl2ZSddID0ge307XG4gIE9iamVjdC5rZXlzKHRvcEhlcm9DYXRlZ29yaWVzLmNvbXBldGl0aXZlKS5mb3JFYWNoKChrKSA9PiB7XG4gICAgY29uc3QgdG9wSGVyb2VzRWxzID0gJChgI2NvbXBldGl0aXZlIFtkYXRhLWNhdGVnb3J5LWlkPVwiJHt0b3BIZXJvQ2F0ZWdvcmllcy5jb21wZXRpdGl2ZVtrXX1cIl1gKVxuICAgICAgLmZpbmQoJy5wcm9ncmVzcy1jYXRlZ29yeS1pdGVtJyk7XG4gICAgbGV0IHRvcEhlcm9lcyA9IFtdO1xuICAgIHRvcEhlcm9lc0Vscy5lYWNoKGZ1bmN0aW9uKGksIGVsKSB7XG4gICAgICBjb25zdCBzdGF0ID0ge307XG4gICAgICBzdGF0Lmhlcm8gPSAkKHRoaXMpLmZpbmQoJy5Qcm9ncmVzc0Jhci10aXRsZScpLnRleHQoKTtcbiAgICAgIHN0YXQuaW1nID0gJCh0aGlzKS5maW5kKCcuUHJvZ3Jlc3NCYXItdGh1bWInKS5hdHRyKCdzcmMnKTtcbiAgICAgIHN0YXRba10gPSAkKHRoaXMpLmZpbmQoJy5Qcm9ncmVzc0Jhci1kZXNjcmlwdGlvbicpLnRleHQoKTtcbiAgICAgIHRvcEhlcm9lcy5wdXNoKHN0YXQpO1xuICAgIH0pO1xuICAgIHN0YXRzWyd0b3BfaGVyb2VzJ11bJ2NvbXBldGl0aXZlJ11ba10gPSB0b3BIZXJvZXM7XG4gIH0pO1xuXG4gIC8vXG4gIC8vIENhcmVlciBTdGF0c1xuICAvL1xuICBjb25zdCBzdGF0Q2F0ZWdvcmllcyA9IFtcbiAgICAnQ29tYmF0JyxcbiAgICAnTWF0Y2ggQXdhcmRzJyxcbiAgICAnQXNzaXN0cycsXG4gICAgJ0F2ZXJhZ2UnLFxuICAgICdNaXNjZWxsYW5lb3VzJyxcbiAgICAnQmVzdCcsXG4gICAgJ0dhbWUnXG4gIF07XG5cbiAgLy8gUXVpY2twbGF5IFN0YXRzLlxuICBzdGF0Q2F0ZWdvcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICBjb25zdCBlbHMgPSAkKGAjcXVpY2twbGF5IFtkYXRhLWNhdGVnb3J5LWlkPVwiMHgwMkUwMDAwMEZGRkZGRkZGXCJdIGg1OmNvbnRhaW5zKFwiJHtpdGVtfVwiKWApLmNsb3Nlc3QoJ3RhYmxlJykuZmluZCgndGJvZHkgdHInKTtcbiAgICBsZXQgc3RhdHNBcnIgPSBbXTtcbiAgICBlbHMuZWFjaChmdW5jdGlvbihpLCBlbCkge1xuICAgICAgbGV0IHN0YXQgPSB7fTtcbiAgICAgIHN0YXQudGl0bGUgPSAkKHRoaXMpLmZpbmQoJ3RkJykuZmlyc3QoKS50ZXh0KCk7XG4gICAgICBzdGF0LnZhbHVlID0gJCh0aGlzKS5maW5kKCd0ZCcpLm5leHQoKS50ZXh0KCk7XG4gICAgICBzdGF0c0Fyci5wdXNoKHN0YXQpO1xuICAgIH0pO1xuICAgIGl0ZW0gPSBpdGVtLnJlcGxhY2UoJyAnLCAnXycpLnRvTG93ZXJDYXNlKCk7XG4gICAgc3RhdHNbaXRlbV0gPSB7IHF1aWNrcGxheTogW10gfTtcbiAgICBzdGF0c1tpdGVtXVsncXVpY2twbGF5J10gPSBzdGF0c0FycjtcbiAgfSk7XG5cbiAgLy8gQ29tcGV0aXRpdmUgU3RhdHMuXG4gIHN0YXRDYXRlZ29yaWVzLmZvckVhY2goZnVuY3Rpb24oaXRlbSkge1xuICAgIGNvbnN0IGVscyA9ICQoYCNjb21wZXRpdGl2ZSBbZGF0YS1jYXRlZ29yeS1pZD1cIjB4MDJFMDAwMDBGRkZGRkZGRlwiXSBoNTpjb250YWlucyhcIiR7aXRlbX1cIilgKS5jbG9zZXN0KCd0YWJsZScpLmZpbmQoJ3Rib2R5IHRyJyk7XG4gICAgbGV0IHN0YXRzQXJyID0gW107XG4gICAgZWxzLmVhY2goZnVuY3Rpb24oaSwgZWwpIHtcbiAgICAgIGxldCBzdGF0ID0ge307XG4gICAgICBzdGF0LnRpdGxlID0gJCh0aGlzKS5maW5kKCd0ZCcpLmZpcnN0KCkudGV4dCgpO1xuICAgICAgc3RhdC52YWx1ZSA9ICQodGhpcykuZmluZCgndGQnKS5uZXh0KCkudGV4dCgpO1xuICAgICAgc3RhdHNBcnIucHVzaChzdGF0KTtcbiAgICB9KTtcbiAgICBpdGVtID0gaXRlbS5yZXBsYWNlKCcgJywgJ18nKS50b0xvd2VyQ2FzZSgpO1xuICAgIHN0YXRzW2l0ZW1dWydjb21wZXRpdGl2ZSddID0gW107XG4gICAgc3RhdHNbaXRlbV1bJ2NvbXBldGl0aXZlJ10gPSBzdGF0c0FycjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHsgc3RhdHMsIHBhcnNlZCB9KTtcbn1cblxuLy8gVHJhbnNmb3JtIHRoZSBkYXRhIGludG8gYSBqc29uIG9iamVjdCB3ZSBjYW4gc2VydmUuXG5mdW5jdGlvbiB0cmFuc2Zvcm0ocmVzdWx0cywgY2FsbGJhY2spIHtcbiAgY29uc3QgeyBwYXJzZUhUTUwgfSA9IHJlc3VsdHM7XG4gIGNvbnN0IHsgc3RhdHMsIHBhcnNlZCB9ID0gcGFyc2VIVE1MO1xuXG4gIGNvbnN0IGVuZG9yc2VtZW50ID0ge1xuICAgIHNwb3J0c21hbnNoaXA6IHsgdmFsdWU6IHBhcnNlZC5zcG9ydHNtYW5zaGlwVmFsdWUsIHJhdGU6IHBhcnNlRmxvYXQoKHBhcnNlZC5zcG9ydHNtYW5zaGlwVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgc2hvdGNhbGxlcjogeyB2YWx1ZTogcGFyc2VkLnNob3RjYWxsZXJWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnNob3RjYWxsZXJWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICB0ZWFtbWF0ZTogeyB2YWx1ZTogcGFyc2VkLnRlYW1tYXRlVmFsdWUsIHJhdGU6IHBhcnNlRmxvYXQoKHBhcnNlZC50ZWFtbWF0ZVZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIGxldmVsOiBwYXJzZUludChwYXJzZWQuZW5kb3JzZW1lbnRMZXZlbCksXG4gICAgZnJhbWU6IHBhcnNlZC5lbmRvcnNlbWVudEZyYW1lLFxuICB9O1xuICBlbmRvcnNlbWVudC5pY29uID0gY3JlYXRlRW5kb3JzZW1lbnRTVkcoZW5kb3JzZW1lbnQpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgcHJlc3RpZ2UgbGV2ZWwuXG4gIGxldCBsZXZlbCA9IHBhcnNlZC5sZXZlbDtcbiAgaWYgKHBhcnNlZC5zdGFyICYmIHBhcnNlZC5yYW5rKSB7XG4gICAgY29uc3Qgc3RhcnNNYXRjaCA9IHBhdGguYmFzZW5hbWUocGFyc2VkLnN0YXIpLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpWzBdO1xuICAgIGNvbnN0IHJhbmtNYXRjaCA9IHBhdGguYmFzZW5hbWUocGFyc2VkLnJhbmspLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpWzBdO1xuICAgIGNvbnN0IHN0YXJzID0gc3RhcnNNYXRjaCA/IGdldFByZXN0aWdlU3RhcnMoc3RhcnNNYXRjaCkgOiAwO1xuICAgIGNvbnN0IHJhbmsgPSByYW5rTWF0Y2ggPyBnZXRQcmVzdGlnZUxldmVsKHJhbmtNYXRjaCkgOiAwO1xuICAgIGNvbnN0IHByZXN0aWdlID0gcGFyc2VJbnQoc3RhcnMpICsgcGFyc2VJbnQocmFuayk7XG4gICAgbGV2ZWwgPSBwYXJzZUludChwYXJzZWQubGV2ZWwpICsgKHBhcnNlSW50KHByZXN0aWdlKSAqIDEwMCk7XG4gIH1cblxuICBjb25zdCBqc29uID0ge1xuICAgIHVzZXJuYW1lOiBwYXJzZWQudXNlcixcbiAgICBsZXZlbDogcGFyc2VJbnQobGV2ZWwpLFxuICAgIHBvcnRyYWl0OiBwYXJzZWQucG9ydHJhaXQsXG4gICAgZW5kb3JzZW1lbnQ6IGVuZG9yc2VtZW50LFxuICAgIHByaXZhdGU6IHBhcnNlZC5wZXJtaXNzaW9uID09PSAnUHJpdmF0ZSBQcm9maWxlJyxcbiAgICBzdGF0czogc3RhdHNcbiAgfVxuXG4gIHJldHVybiBjYWxsYmFjayhudWxsLCBqc29uKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24ocGxhdGZvcm0sIHJlZ2lvbiwgdGFnLCBjYWxsYmFjaykge1xuICBhc3luYy5hdXRvKHtcbiAgICBnZXRIVE1MOiBhc3luYy5hcHBseShnZXRIVE1MLCBwbGF0Zm9ybSwgcmVnaW9uLCB0YWcpLFxuICAgIHBhcnNlSFRNTDogWydnZXRIVE1MJywgYXN5bmMuYXBwbHkocGFyc2VIVE1MKV0sXG4gICAgdHJhbnNmb3JtOiBbJ2dldEhUTUwnLCAncGFyc2VIVE1MJywgYXN5bmMuYXBwbHkodHJhbnNmb3JtKV0sXG4gIH0sIGZ1bmN0aW9uKGVyciwgcmVzdWx0cykge1xuICAgIGlmIChlcnIpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjayhlcnIpO1xuICAgIH1cbiAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgcmVzdWx0cy50cmFuc2Zvcm0pO1xuICB9KTtcbn0iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YXRzLmpzIl0sIm5hbWVzIjpbIk1BWF9SRVRSSUVTIiwidXJsIiwicGxhdGZvcm0iLCJvcHRpb25zIiwidXJpIiwiZW5jb2RlVVJJIiwiZW5jb2RpbmciLCIkIiwiY2hlZXJpbyIsInJlc3VsdHMiLCJpc0ZvdW5kIiwiY2FsbGJhY2siLCJwYXJzZWQiLCJ1c2VyIiwibGV2ZWwiLCJwb3J0cmFpdCIsInBlcm1pc3Npb24iLCJlbmRvcnNlbWVudExldmVsIiwiZW5kb3JzZW1lbnRGcmFtZUVsIiwic3BvcnRzbWFuc2hpcFZhbHVlIiwic2hvdGNhbGxlclZhbHVlIiwidGVhbW1hdGVWYWx1ZSIsInN0YXJFbCIsInJhbmtFbCIsInN0YXRzIiwidG9wSGVyb0NhdGVnb3JpZXMiLCJxdWlja3BsYXkiLCJjb21wZXRpdGl2ZSIsIk9iamVjdCIsInRvcEhlcm9lc0VscyIsInRvcEhlcm9lcyIsInN0YXQiLCJzdGF0Q2F0ZWdvcmllcyIsImVscyIsInN0YXRzQXJyIiwiaXRlbSIsInBhcnNlSFRNTCIsImVuZG9yc2VtZW50Iiwic3BvcnRzbWFuc2hpcCIsInZhbHVlIiwicmF0ZSIsInBhcnNlRmxvYXQiLCJzaG90Y2FsbGVyIiwidGVhbW1hdGUiLCJwYXJzZUludCIsImZyYW1lIiwiZW5kb3JzZW1lbnRGcmFtZSIsInN0YXJzTWF0Y2giLCJwYXRoIiwicmFua01hdGNoIiwic3RhcnMiLCJyYW5rIiwicHJlc3RpZ2UiLCJqc29uIiwidXNlcm5hbWUiLCJhc3luYyIsImdldEhUTUwiLCJ0cmFuc2Zvcm0iXSwibWFwcGluZ3MiOiJ5eTJCQUlBO2dPQUpBLEdBQUEsQ0FBQSxLQUFBLDBCQUFBLHNCQUFBLENBQUEsT0FBQSxDQUFBLE1BQUEsQ0FBQSxDQUFBLENBQUEsQ0FDQSxHQUFBLENBQUEsTUFBQSwwQkFBQSxzQkFBQSxDQUFBLE9BQUEsQ0FBQSxPQUFBLENBQUEsQ0FBQSxDQUFBLENBQ0EsR0FBQSxDQUFBLFFBQUEsMEJBQUEsc0JBQUEsQ0FBQSxPQUFBLENBQUEs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UyxDQUFFLENBQUEsU0FBQSxDQUFBLFdBQUEsQ0FBeUJGLE1BQUFBLENBQUFBLFNBQUFBLENBQUFBLENBQUFBLEtBQUFBLENBQXpCLFNBQXlCQSxDQUF6QixDQUhGLENBQVhBLENBSUcsU0FBQSxHQUFBLENBQUEsT0FBQSxDQUF1QixtREFDeEIsR0FBQSxHQUFBLENBQVMsc0RBQ1AsTUFBTzVDLENBQUFBLFFBQVEsQ0FBZixHQUFlLENBQWYsQ0FDRCxDQUZELGtDQUR3Qix5QkFJeEIsTUFBT0EsQ0FBQUEsUUFBUSxDQUFBLElBQUEsQ0FBT0YsT0FBTyxDQUE3QixTQUFlLENBQWYsQ0FSRjhDLENBQUFBLEVBVUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHsgZ2V0UHJlc3RpZ2VMZXZlbCwgZ2V0UHJlc3RpZ2VTdGFycywgcmV0cnlSZXF1ZXN0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVFbmRvcnNlbWVudFNWRyB9IGZyb20gJy4vc3ZnJztcblxuY29uc3QgTUFYX1JFVFJJRVMgPSAzO1xuXG4vLyBHZXQgSFRNTCBmcm9tIHBsYXlvdmVyd2F0Y2ggY2FyZWVyIHBhZ2UuXG5mdW5jdGlvbiBnZXRIVE1MKHBsYXRmb3JtLCByZWdpb24sIHRhZywgY2FsbGJhY2spIHtcbiAgY29uc3QgdXJsID0gcGxhdGZvcm0gPT09ICdwYydcbiAgICA/IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3JlZ2lvbn0vJHt0YWd9L2BcbiAgICA6IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3RhZ30vYDtcblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHVyaTogZW5jb2RlVVJJKHVybCksXG4gICAgZW5jb2Rpbmc6ICd1dGY4J1xuICB9XG4gIHJldHVybiByZXRyeVJlcXVlc3Qob3B0aW9ucywgTUFYX1JFVFJJRVMsIGNhbGxiYWNrKTtcbn1cblxuLy8gQmVnaW4gaHRtbCBwYXJzaW5nLlxuZnVuY3Rpb24gcGFyc2VIVE1MKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0ICQgPSBjaGVlcmlvLmxvYWQocmVzdWx0cy5nZXRIVE1MKTtcblxuICAvLyBDaGVjayBpZiBwcm9maWxlIGV4aXN0cy5cbiAgY29uc3QgaXNGb3VuZCA9ICQoJy5jb250ZW50LWJveCBoMScpLnRleHQoKSAhPT0gJ1Byb2ZpbGUgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLmhlYWRlci1tYXN0aGVhZCcpLnRleHQoKSxcbiAgICBsZXZlbDogJCgnLnBsYXllci1sZXZlbCBkaXYnKS5maXJzdCgpLnRleHQoKSxcbiAgICBwb3J0cmFpdDogJCgnLnBsYXllci1wb3J0cmFpdCcpLmF0dHIoJ3NyYycpLFxuICAgIHBlcm1pc3Npb246ICQoJy5tYXN0aGVhZC1wZXJtaXNzaW9uLWxldmVsLXRleHQnKS50ZXh0KCksXG4gICAgZW5kb3JzZW1lbnRMZXZlbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tdG9vbHRpcCBkaXYnKS5sYXN0KCkudGV4dCgpLFxuICAgIGVuZG9yc2VtZW50RnJhbWVFbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24nKS5hdHRyKCdzdHlsZScpLFxuICAgIHNwb3J0c21hbnNoaXBWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS1zcG9ydHNtYW5zaGlwJykuZGF0YSgndmFsdWUnKSxcbiAgICBzaG90Y2FsbGVyVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tc2hvdGNhbGxlcicpLmRhdGEoJ3ZhbHVlJyksXG4gICAgdGVhbW1hdGVWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS10ZWFtbWF0ZScpLmRhdGEoJ3ZhbHVlJyksXG4gICAgc3RhckVsOiAkKCcucGxheWVyLXJhbmsnKS5odG1sKCksXG4gICAgcmFua0VsOiAkKCcucGxheWVyLWxldmVsJykuaHRtbCgpLFxuICB9XG5cbiAgaWYgKHBhcnNlZC5lbmRvcnNlbWVudEZyYW1lRWwpIHtcbiAgICBwYXJzZWQuZW5kb3JzZW1lbnRGcmFtZSA9ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uJykuYXR0cignc3R5bGUnKS5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5zdGFyRWwgIT09IG51bGwpIHtcbiAgICBwYXJzZWQuc3RhciA9ICQoJy5wbGF5ZXItbGV2ZWwgLnBsYXllci1yYW5rJykuYXR0cignc3R5bGUnKS5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5yYW5rRWwgIT09IG51bGwpIHtcbiAgICBwYXJzZWQucmFuayA9ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cblxuICBjb25zdCBzdGF0cyA9IHt9O1xuXG4gIC8vIFRvcCBIZXJvZXMuXG4gIGNvbnN0IHRvcEhlcm9DYXRlZ29yaWVzID0ge1xuICAgIHF1aWNrcGxheToge1xuICAgICAgJ3BsYXllZCc6ICcweDA4NjAwMDAwMDAwMDAwMjEnLFxuICAgICAgJ2dhbWVzX3dvbic6ICcweDA4NjAwMDAwMDAwMDAwMzknLFxuICAgICAgJ3dlYXBvbl9hY2N1cmFjeSc6ICcweDA4NjAwMDAwMDAwMDAwMkYnLFxuICAgICAgJ2VsaW1pbmF0aW9uc19wZXJfbGlmZSc6ICcweDA4NjAwMDAwMDAwMDAzRDInLFxuICAgICAgJ211bHRpa2lsbF9iZXN0JzogJzB4MDg2MDAwMDAwMDAwMDM0NicsXG4gICAgICAnb2JqZWN0aXZlX2tpbGxzX2F2ZXJhZ2UnOiAnMHgwODYwMDAwMDAwMDAwMzlDJyxcbiAgICB9LFxuICAgIGNvbXBldGl0aXZlOiB7XG4gICAgICAncGxheWVkJzogJzB4MDg2MDAwMDAwMDAwMDAyMScsXG4gICAgICAnZ2FtZXNfd29uJzogJzB4MDg2MDAwMDAwMDAwMDAzOScsXG4gICAgICAnd2luX3JhdGUnOiAnMHgwODYwMDAwMDAwMDAwM0QxJyxcbiAgICAgICd3ZWFwb25fYWNjdXJhY3knOiAnMHgwODYwMDAwMDAwMDAwMDJGJyxcbiAgICAgICdlbGltaW5hdGlvbnNfcGVyX2xpZmUnOiAnMHgwODYwMDAwMDAwMDAwM0QyJyxcbiAgICAgICdtdWx0aWtpbGxfYmVzdCc6ICcweDA4NjAwMDAwMDAwMDAzNDYnLFxuICAgICAgJ29iamVjdGl2ZV9raWxsc19hdmVyYWdlJzogJzB4MDg2MDAwMDAwMDAwMDM5QycsXG4gICAgfVxuICB9O1xuXG4gIC8vIFF1aWNrcGxheS5cbiAgc3RhdHNbJ3RvcF9oZXJvZXMnXSA9IHsgcXVpY2twbGF5OiB7fSB9O1xuICBPYmplY3Qua2V5cyh0b3BIZXJvQ2F0ZWdvcmllcy5xdWlja3BsYXkpLmZvckVhY2goKGspID0+IHtcbiAgICBjb25zdCB0b3BIZXJvZXNFbHMgPSAkKGAjcXVpY2twbGF5IFtkYXRhLWNhdGVnb3J5LWlkPVwiJHt0b3BIZXJvQ2F0ZWdvcmllcy5xdWlja3BsYXlba119XCJdYClcbiAgICAgIC5maW5kKCcucHJvZ3Jlc3MtY2F0ZWdvcnktaXRlbScpO1xuICAgIGxldCB0b3BIZXJvZXMgPSBbXTtcbiAgICB0b3BIZXJvZXNFbHMuZWFjaChmdW5jdGlvbihpLCBlbCkge1xuICAgICAgY29uc3Qgc3RhdCA9IHt9O1xuICAgICAgc3RhdC5oZXJvID0gJCh0aGlzKS5maW5kKCcuUHJvZ3Jlc3NCYXItdGl0bGUnKS50ZXh0KCk7XG4gICAgICBzdGF0LmltZyA9ICQodGhpcykuZmluZCgnLlByb2dyZXNzQmFyLXRodW1iJykuYXR0cignc3JjJyk7XG4gICAgICBzdGF0W2tdID0gJCh0aGlzKS5maW5kKCcuUHJvZ3Jlc3NCYXItZGVzY3JpcHRpb24nKS50ZXh0KCk7XG4gICAgICB0b3BIZXJvZXMucHVzaChzdGF0KTtcbiAgICB9KTtcbiAgICBzdGF0c1sndG9wX2hlcm9lcyddWydxdWlja3BsYXknXVtrXSA9IHRvcEhlcm9lcztcbiAgfSk7XG5cbiAgLy8gQ29tcGV0aXRpdmUuXG4gIHN0YXRzWyd0b3BfaGVyb2VzJ11bJ2NvbXBldGl0aXZlJ10gPSB7fTtcbiAgT2JqZWN0LmtleXModG9wSGVyb0NhdGVnb3JpZXMuY29tcGV0aXRpdmUpLmZvckVhY2goKGspID0+IHtcbiAgICBjb25zdCB0b3BIZXJvZXNFbHMgPSAkKGAjY29tcGV0aXRpdmUgW2RhdGEtY2F0ZWdvcnktaWQ9XCIke3RvcEhlcm9DYXRlZ29yaWVzLmNvbXBldGl0aXZlW2tdfVwiXWApXG4gICAgICAuZmluZCgnLnByb2dyZXNzLWNhdGVnb3J5LWl0ZW0nKTtcbiAgICBsZXQgdG9wSGVyb2VzID0gW107XG4gICAgdG9wSGVyb2VzRWxzLmVhY2goZnVuY3Rpb24oaSwgZWwpIHtcbiAgICAgIGNvbnN0IHN0YXQgPSB7fTtcbiAgICAgIHN0YXQuaGVybyA9ICQodGhpcykuZmluZCgnLlByb2dyZXNzQmFyLXRpdGxlJykudGV4dCgpO1xuICAgICAgc3RhdC5pbWcgPSAkKHRoaXMpLmZpbmQoJy5Qcm9ncmVzc0Jhci10aHVtYicpLmF0dHIoJ3NyYycpO1xuICAgICAgc3RhdFtrXSA9ICQodGhpcykuZmluZCgnLlByb2dyZXNzQmFyLWRlc2NyaXB0aW9uJykudGV4dCgpO1xuICAgICAgdG9wSGVyb2VzLnB1c2goc3RhdCk7XG4gICAgfSk7XG4gICAgc3RhdHNbJ3RvcF9oZXJvZXMnXVsnY29tcGV0aXRpdmUnXVtrXSA9IHRvcEhlcm9lcztcbiAgfSk7XG5cbiAgLy9cbiAgLy8gQ2FyZWVyIFN0YXRzXG4gIC8vXG4gIGNvbnN0IHN0YXRDYXRlZ29yaWVzID0gW1xuICAgICdDb21iYXQnLFxuICAgICdNYXRjaCBBd2FyZHMnLFxuICAgICdBc3Npc3RzJyxcbiAgICAnQXZlcmFnZScsXG4gICAgJ01pc2NlbGxhbmVvdXMnLFxuICAgICdCZXN0JyxcbiAgICAnR2FtZSdcbiAgXTtcblxuICAvLyBRdWlja3BsYXkgU3RhdHMuXG4gIHN0YXRDYXRlZ29yaWVzLmZvckVhY2goZnVuY3Rpb24oaXRlbSkge1xuICAgIGNvbnN0IGVscyA9ICQoYCNxdWlja3BsYXkgW2RhdGEtY2F0ZWdvcnktaWQ9XCIweDAyRTAwMDAwRkZGRkZGRkZcIl0gaDU6Y29udGFpbnMoXCIke2l0ZW19XCIpYCkuY2xvc2VzdCgndGFibGUnKS5maW5kKCd0Ym9keSB0cicpO1xuICAgIGxldCBzdGF0c0FyciA9IFtdO1xuICAgIGVscy5lYWNoKGZ1bmN0aW9uKGksIGVsKSB7XG4gICAgICBsZXQgc3RhdCA9IHt9O1xuICAgICAgc3RhdC50aXRsZSA9ICQodGhpcykuZmluZCgndGQnKS5maXJzdCgpLnRleHQoKTtcbiAgICAgIHN0YXQudmFsdWUgPSAkKHRoaXMpLmZpbmQoJ3RkJykubmV4dCgpLnRleHQoKTtcbiAgICAgIHN0YXRzQXJyLnB1c2goc3RhdCk7XG4gICAgfSk7XG4gICAgaXRlbSA9IGl0ZW0ucmVwbGFjZSgnICcsICdfJykudG9Mb3dlckNhc2UoKTtcbiAgICBzdGF0c1tpdGVtXSA9IHsgcXVpY2twbGF5OiBbXSB9O1xuICAgIHN0YXRzW2l0ZW1dWydxdWlja3BsYXknXSA9IHN0YXRzQXJyO1xuICB9KTtcblxuICAvLyBDb21wZXRpdGl2ZSBTdGF0cy5cbiAgc3RhdENhdGVnb3JpZXMuZm9yRWFjaChmdW5jdGlvbihpdGVtKSB7XG4gICAgY29uc3QgZWxzID0gJChgI2NvbXBldGl0aXZlIFtkYXRhLWNhdGVnb3J5LWlkPVwiMHgwMkUwMDAwMEZGRkZGRkZGXCJdIGg1OmNvbnRhaW5zKFwiJHtpdGVtfVwiKWApLmNsb3Nlc3QoJ3RhYmxlJykuZmluZCgndGJvZHkgdHInKTtcbiAgICBsZXQgc3RhdHNBcnIgPSBbXTtcbiAgICBlbHMuZWFjaChmdW5jdGlvbihpLCBlbCkge1xuICAgICAgbGV0IHN0YXQgPSB7fTtcbiAgICAgIHN0YXQudGl0bGUgPSAkKHRoaXMpLmZpbmQoJ3RkJykuZmlyc3QoKS50ZXh0KCk7XG4gICAgICBzdGF0LnZhbHVlID0gJCh0aGlzKS5maW5kKCd0ZCcpLm5leHQoKS50ZXh0KCk7XG4gICAgICBzdGF0c0Fyci5wdXNoKHN0YXQpO1xuICAgIH0pO1xuICAgIGl0ZW0gPSBpdGVtLnJlcGxhY2UoJyAnLCAnXycpLnRvTG93ZXJDYXNlKCk7XG4gICAgc3RhdHNbaXRlbV1bJ2NvbXBldGl0aXZlJ10gPSBbXTtcbiAgICBzdGF0c1tpdGVtXVsnY29tcGV0aXRpdmUnXSA9IHN0YXRzQXJyO1xuICB9KTtcblxuICByZXR1cm4gY2FsbGJhY2sobnVsbCwgeyBzdGF0cywgcGFyc2VkIH0pO1xufVxuXG4vLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byBhIGpzb24gb2JqZWN0IHdlIGNhbiBzZXJ2ZS5cbmZ1bmN0aW9uIHRyYW5zZm9ybShyZXN1bHRzLCBjYWxsYmFjaykge1xuICBjb25zdCB7IHBhcnNlSFRNTCB9ID0gcmVzdWx0cztcbiAgY29uc3QgeyBzdGF0cywgcGFyc2VkIH0gPSBwYXJzZUhUTUw7XG5cbiAgY29uc3QgZW5kb3JzZW1lbnQgPSB7XG4gICAgc3BvcnRzbWFuc2hpcDogeyB2YWx1ZTogcGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICBzaG90Y2FsbGVyOiB7IHZhbHVlOiBwYXJzZWQuc2hvdGNhbGxlclZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQuc2hvdGNhbGxlclZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIHRlYW1tYXRlOiB7IHZhbHVlOiBwYXJzZWQudGVhbW1hdGVWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnRlYW1tYXRlVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgbGV2ZWw6IHBhcnNlSW50KHBhcnNlZC5lbmRvcnNlbWVudExldmVsKSxcbiAgICBmcmFtZTogcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUsXG4gIH07XG4gIGVuZG9yc2VtZW50Lmljb24gPSBjcmVhdGVFbmRvcnNlbWVudFNWRyhlbmRvcnNlbWVudCk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBwcmVzdGlnZSBsZXZlbC5cbiAgbGV0IGxldmVsID0gcGFyc2VkLmxldmVsO1xuICBpZiAocGFyc2VkLnN0YXIgJiYgcGFyc2VkLnJhbmspIHtcbiAgICBjb25zdCBzdGFyc01hdGNoID0gcGF0aC5iYXNlbmFtZShwYXJzZWQuc3Rhcikuc3BsaXQoJy4nKS5zbGljZSgwLCAtMSlbMF07XG4gICAgY29uc3QgcmFua01hdGNoID0gcGF0aC5iYXNlbmFtZShwYXJzZWQucmFuaykuc3BsaXQoJy4nKS5zbGljZSgwLCAtMSlbMF07XG4gICAgY29uc3Qgc3RhcnMgPSBzdGFyc01hdGNoID8gZ2V0UHJlc3RpZ2VTdGFycyhzdGFyc01hdGNoKSA6IDA7XG4gICAgY29uc3QgcmFuayA9IHJhbmtNYXRjaCA/IGdldFByZXN0aWdlTGV2ZWwocmFua01hdGNoKSA6IDA7XG4gICAgY29uc3QgcHJlc3RpZ2UgPSBwYXJzZUludChzdGFycykgKyBwYXJzZUludChyYW5rKTtcbiAgICBsZXZlbCA9IHBhcnNlSW50KHBhcnNlZC5sZXZlbCkgKyAocGFyc2VJbnQocHJlc3RpZ2UpICogMTAwKTtcbiAgfVxuXG4gIGNvbnN0IGpzb24gPSB7XG4gICAgdXNlcm5hbWU6IHBhcnNlZC51c2VyLFxuICAgIGxldmVsOiBwYXJzZUludChsZXZlbCksXG4gICAgcG9ydHJhaXQ6IHBhcnNlZC5wb3J0cmFpdCxcbiAgICBlbmRvcnNlbWVudDogZW5kb3JzZW1lbnQsXG4gICAgcHJpdmF0ZTogcGFyc2VkLnBlcm1pc3Npb24gPT09ICdQcml2YXRlIFByb2ZpbGUnLFxuICAgIHN0YXRzOiBzdGF0c1xuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIn0=