{"version":3,"sources":["qiquan.js"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","0","problem","options","defaultOptions","id","DATA","problem_data","isRandom","len","pType","callback","this","$","extend","undefined","length","html","$wrap","tag","_answerIndex","shuffle","a","concat","sort","b","Math","random","parseInt","title","optionLen","j","option","scores","bind","that","on","removeAttr","eq","addClass","siblings","removeClass","attr","totalScore","scoreArr","each","_score","find","data","parseFloat","push","showModel","isScore","score","targetScore","content","link","$html","append","css","position","top","left","height","width","z-index","margin-top","margin-left","remove","onClose","location","href","reload","21","answer","jQuery","slide","titCell","mainCell","effect","pnLoop","endFun","index","total"],"mappings":"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","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 21);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nfunction shuffle(a) {\r\n return a.concat().sort(function(a, b) {\r\n return Math.random() - 0.5;\r\n });\r\n }\r\n\r\n\r\n function problem(options){\r\n //callback,isRandom,pType,\r\n var defaultOptions = {\r\n id:\"problem_wrap\",//题目dom id\r\n DATA:problem_data,//题目数据\r\n isRandom:false,//是否随机\r\n len:20,//随机题目数量\r\n pType:'', //题目类型\r\n callback:null//回调\r\n }\r\n\r\n this.options = $.extend({},defaultOptions,options);\r\n console.log(this.options)\r\n if(typeof this.options.DATA == undefined || !this.options.DATA.length){\r\n return false\r\n }\r\n\r\n var html = '
';\r\n\r\n\r\n this.$wrap.html(html);\r\n\r\n\r\n\r\n this.bind(this.callback);\r\n }\r\n\r\n problem.prototype = {\r\n bind:function(callback){\r\n var that = this;\r\n \r\n $('.problem_list', that.$wrap).on('change','.active input',function(){\r\n console.log(123)\r\n $('.btn_next', that.$wrap ).removeAttr('disabled')\r\n $('.btn_result',that.$wrap ).removeAttr('disabled')\r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_prev',function(){\r\n that._answerIndex --;\r\n $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n if(that._answerIndex <=0){\r\n $('.btn_prev', that.$wrap ).attr('disabled',\"disabled\")\r\n }\r\n $('.btn_next',that.$wrap ).removeAttr('disabled');\r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_next',function(){\r\n that._answerIndex ++;\r\n\r\n if(that._answerIndex + 1 === that.len){\r\n if(that.pType === 'myd'){\r\n $('.btn_wrap', that.$wrap ).html('') \r\n }else{\r\n $('.btn_wrap', that.$wrap ).html('')\r\n }\r\n }\r\n\r\n if( that._answerIndex + 1 > that.len ){\r\n return;\r\n }\r\n $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n if(!$('.problem_list .active input:radio:checked',that.$wrap).length){\r\n $('.btn_next',that.$wrap ).attr('disabled',\"disabled\");\r\n }\r\n $('.btn_prev', that.$wrap ).removeAttr('disabled');\r\n \r\n })\r\n\r\n $('.btn_wrap', that.$wrap ).on('click','.btn_result',function(){\r\n var totalScore = 0;\r\n var scoreArr = [];\r\n $('.problem_list .item',that.$wrap).each(function(){\r\n var _score = $(this).find(\"input[type='radio']:checked\").data('score');\r\n _score = parseFloat(_score);\r\n scoreArr.push(_score)\r\n totalScore += _score;\r\n })\r\n\r\n console.log(totalScore)\r\n\r\n callback && callback(that,totalScore,scoreArr)\r\n \r\n })\r\n },\r\n showModel:function(option){\r\n var that = this;\r\n // var winHeight = $(window).outerHeight();\r\n // var windWidth = $(window).outerWidth();\r\n var html = '
';\r\n html += '
';\r\n html += '
' +\r\n '
' +\r\n '
';\r\n if(!option.isScore){\r\n html+='

' + option.content + '

';\r\n }else{\r\n if(option.score >= option.targetScore){\r\n html+='
评测成功

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n }else{\r\n html+='
评测失败

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n }\r\n }\r\n if(that.pType === 'myd'){\r\n html += '
'\r\n }else{\r\n html += '
'\r\n if(option.link){\r\n html += ''\r\n }\r\n }\r\n html += '
';\r\n\r\n var $html = $(html)\r\n\r\n $('body').append($html);\r\n\r\n $html.css({\r\n \"position\": \"fixed\",\r\n \"top\": \"0\",\r\n \"left\":\"0\",\r\n \"height\":'100%',\r\n \"width\": '100%',\r\n \"z-index\":\"9999\"\r\n })\r\n\r\n $('.comfirm_container', this.html).css({\r\n \"position\": \"absolute\",\r\n \"top\": \"50%\",\r\n \"left\": \"50%\",\r\n \"height\":'342px',\r\n \"width\": '500px',\r\n \"margin-top\": '-171px',\r\n \"margin-left\":'-250px'\r\n })\r\n\r\n $html.on('click', '.icon_close', function () {\r\n $html.remove();\r\n option.onClose && option.onClose();\r\n })\r\n $html.on('click', '.btn_close', function () {\r\n $html.remove();\r\n option.onClose && option.onClose();\r\n })\r\n\r\n $html.on('click', '.btn_again', function () {\r\n $html.remove();\r\n return new problem(that.options);\r\n })\r\n\r\n $html.on('click', '.btn_tomoni', function () {\r\n location.href = option.link;\r\n })\r\n },\r\n reload:function(){\r\n return new problem(this.options);\r\n }\r\n }\r\n\r\n module.exports = problem;\r\n\r\n// module.exports = {\r\n// load:function(options){\r\n// //callback,isRandom,pType,\r\n// var defaultOptions = {\r\n// id:\"problem_wrap\",//题目dom id\r\n// DATA:problem_data,//题目数据\r\n// isRandom:false,//是否随机\r\n// len:20,//随机题目数量\r\n// pType:'', //题目类型\r\n// callback:null//回调\r\n// }\r\n\r\n// this.options = $.extend({},defaultOptions,options);\r\n// console.log(this.options)\r\n// if(typeof this.options.DATA == undefined || !this.options.DATA.length){\r\n// return false\r\n// }\r\n \r\n// var html = '
';\r\n\r\n\r\n// this.$wrap.html(html);\r\n\r\n \r\n\r\n// this.bind(this.callback);\r\n\r\n \r\n// },\r\n// bind:function(callback){\r\n// var that = this;\r\n \r\n// $('.problem_list', that.$wrap).on('change','.active input',function(){\r\n// console.log(123)\r\n// $('.btn_next', that.$wrap ).removeAttr('disabled')\r\n// $('.btn_result',that.$wrap ).removeAttr('disabled')\r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_prev',function(){\r\n// that._answerIndex --;\r\n// $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n// if(that._answerIndex <=0){\r\n// $('.btn_prev', that.$wrap ).attr('disabled',\"disabled\")\r\n// }\r\n// $('.btn_next',that.$wrap ).removeAttr('disabled');\r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_next',function(){\r\n// that._answerIndex ++;\r\n\r\n// if(that._answerIndex + 1 === that.len){\r\n// if(that.pType === 'myd'){\r\n// $('.btn_wrap', that.$wrap ).html('') \r\n// }else{\r\n// $('.btn_wrap', that.$wrap ).html('')\r\n// }\r\n// }\r\n\r\n// if( that._answerIndex + 1 > that.len ){\r\n// return;\r\n// }\r\n// $('.problem_list>li',that.$wrap ).eq(that._answerIndex).addClass('active').siblings().removeClass('active');\r\n// if(!$('.problem_list .active input:radio:checked',that.$wrap).length){\r\n// $('.btn_next',that.$wrap ).attr('disabled',\"disabled\");\r\n// }\r\n// $('.btn_prev', that.$wrap ).removeAttr('disabled');\r\n \r\n// })\r\n\r\n// $('.btn_wrap', that.$wrap ).on('click','.btn_result',function(){\r\n// var totalScore = 0;\r\n// var scoreArr = [];\r\n// $('.problem_list .item',that.$wrap).each(function(){\r\n// var _score = $(this).find(\"input[type='radio']:checked\").data('score');\r\n// _score = parseFloat(_score);\r\n// scoreArr.push(_score)\r\n// totalScore += _score;\r\n// })\r\n\r\n// console.log(totalScore)\r\n\r\n// callback && callback(that,totalScore,scoreArr)\r\n \r\n// })\r\n// },\r\n// showModel:function(option){\r\n// var that = this;\r\n// var winHeight = $(window).outerHeight();\r\n// var windWidth = $(window).outerWidth();\r\n// var html = '
';\r\n// html += '
';\r\n// html += '
' +\r\n// '
' +\r\n// '
';\r\n// if(!option.isScore){\r\n// html+='

' + option.content + '

';\r\n// }else{\r\n// if(option.score >= option.targetScore){\r\n// html+='
评测成功

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n// }else{\r\n// html+='
评测失败

你的得分:'+option.score+'分  目标分数:'+option.targetScore+'

';\r\n// }\r\n// }\r\n// if(that.pType === 'myd'){\r\n// html += '
'\r\n// }else{\r\n// html += '
'\r\n// }\r\n// html += '
';\r\n\r\n// var $html = $(html)\r\n\r\n// $('body').append($html);\r\n\r\n// $html.css({\r\n// \"position\": \"fixed\",\r\n// \"top\": \"0\",\r\n// \"left\":\"0\",\r\n// \"height\":'100%',\r\n// \"width\": '100%',\r\n// \"z-index\":\"9999\"\r\n// })\r\n\r\n// $('.comfirm_container', this.html).css({\r\n// \"position\": \"absolute\",\r\n// \"top\": \"50%\",\r\n// \"left\": \"50%\",\r\n// \"height\":'342px',\r\n// \"width\": '500px',\r\n// \"margin-top\": '-171px',\r\n// \"margin-left\":'-250px'\r\n// })\r\n\r\n// $html.on('click', '.icon_close', function () {\r\n// $html.remove();\r\n// option.onClose && option.onClose();\r\n// })\r\n// $html.on('click', '.btn_close', function () {\r\n// $html.remove();\r\n// option.onClose && option.onClose();\r\n// })\r\n\r\n// $html.on('click', '.btn_again', function () {\r\n// $html.remove();\r\n// that.load(that.callback,that.isRandom,that.pType);\r\n// })\r\n\r\n// $html.on('click', '.btn_tomoni', function () {\r\n// location.href = option.link;\r\n// })\r\n// }\r\n// }\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar answer = __webpack_require__(0);\r\n\r\n$(function(){\r\n jQuery(\"#kh-slide\").slide({\r\n titCell: \".hd ul\",\r\n mainCell: \".bd ul\",\r\n effect: \"leftLoop\",\r\n pnLoop:false,\r\n endFun:function(index,total,c){\r\n if(index + 1 === total){\r\n $('.tomoni').css(\"visibility\",\"visible\")\r\n }else{\r\n $('.tomoni').css(\"visibility\",\"hidden\")\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n new answer({\r\n isRandom:true,\r\n callback:function(that,totalScore,scoreArr){\r\n that.showModel({\r\n isScore:true,\r\n score:totalScore,\r\n targetScore:70,\r\n link:'/MoNiJiaoYi/QiQuan?type=3'\r\n })\r\n }\r\n })\r\n\r\n \r\n // answer.load(function(that,totalScore,scoreArr){\r\n // that.showModel({\r\n // isScore:true,\r\n // score:totalScore,\r\n // targetScore:70,\r\n // link:'/MoNiJiaoYi/QiQuan?type=3'\r\n // })\r\n \r\n // },true);\r\n})\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgYTgyOGU1MTkwYzY1NjZlNjU3NGI/ODllMCoqKioqKioiLCJ3ZWJwYWNrOi8vLy4vanMvbW9kdWxlcy9wcm9ibGVtL2luZGV4LmpzPzA2ZTAqIiwid2VicGFjazovLy8uL2pzL3FpcXVhbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLG1EQUEyQyxjQUFjOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUEyQiwwQkFBMEIsRUFBRTtBQUN2RCx5Q0FBaUMsZUFBZTtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4REFBc0QsK0RBQStEOztBQUVySDtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7O0FDaEVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLFdBQVc7QUFDakM7O0FBRUE7O0FBRUE7QUFDQSx3REFBd0Q7QUFDeEQsMEJBQTBCLFlBQVk7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7OztBQUdBOzs7O0FBSUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FB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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7O0FBRVosUUFBUTtBQUNSLENBQUMsQyIsImZpbGUiOiJxaXF1YW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmkgPSBmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH07XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDIxKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCBhODI4ZTUxOTBjNjU2NmU2NTc0YiIsImZ1bmN0aW9uIHNodWZmbGUoYSkge1xyXG4gICAgcmV0dXJuIGEuY29uY2F0KCkuc29ydChmdW5jdGlvbihhLCBiKSB7XHJcbiAgICAgIHJldHVybiBNYXRoLnJhbmRvbSgpIC0gMC41O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZnVuY3Rpb24gcHJvYmxlbShvcHRpb25zKXtcclxuICAgICAgICAvL2NhbGxiYWNrLGlzUmFuZG9tLHBUeXBlLFxyXG4gICAgICAgIHZhciBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgaWQ6XCJwcm9ibGVtX3dyYXBcIiwvL+mimOebrmRvbSBpZFxyXG4gICAgICAgICAgICBEQVRBOnByb2JsZW1fZGF0YSwvL+mimOebruaVsOaNrlxyXG4gICAgICAgICAgICBpc1JhbmRvbTpmYWxzZSwvL+aYr+WQpumaj+aculxyXG4gICAgICAgICAgICBsZW46MjAsLy/pmo/mnLrpopjnm67mlbDph49cclxuICAgICAgICAgICAgcFR5cGU6JycsIC8v6aKY55uu57G75Z6LXHJcbiAgICAgICAgICAgIGNhbGxiYWNrOm51bGwvL+Wbnuiwg1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sZGVmYXVsdE9wdGlvbnMsb3B0aW9ucyk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5vcHRpb25zKVxyXG4gICAgICAgIGlmKHR5cGVvZiB0aGlzLm9wdGlvbnMuREFUQSA9PSB1bmRlZmluZWQgfHwgIXRoaXMub3B0aW9ucy5EQVRBLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGh0bWwgPSAnPHVsIGNsYXNzPVwicHJvYmxlbV9saXN0XCIgPic7XHJcbiAgICAgICAgdGhpcy4kd3JhcCA9ICQoJyMnK3RoaXMub3B0aW9ucy5pZClcclxuICAgICAgICB0aGlzLkRBVEEgPSB0aGlzLm9wdGlvbnMuREFUQTtcclxuICAgICAgICB0aGlzLmxlbiA9IHRoaXMuREFUQS5sZW5ndGg7Ly/popjnm67mlbBcclxuXHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IHRoaXMub3B0aW9ucy5jYWxsYmFjaztcclxuICAgICAgICB0aGlzLmlzUmFuZG9tID0gdGhpcy5vcHRpb25zLmlzUmFuZG9tO1xyXG4gICAgICAgIHRoaXMucFR5cGUgPSB0aGlzLm9wdGlvbnMucFR5cGU7XHJcbiAgICAgICAgdGhpcy50YWcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fYW5zd2VySW5kZXggPSAwO1xyXG5cclxuICAgICAgICBpZih0aGlzLmlzUmFuZG9tKXtcclxuICAgICAgICAgICAgdGhpcy5sZW49dGhpcy5vcHRpb25zLmxlbiB8fCB0aGlzLkRBVEEubGVuZ3RoO1xyXG4gICAgICAgICAgICB0aGlzLkRBVEEgPSBzaHVmZmxlKHRoaXMuREFUQSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcih2YXIgaSA9IDA7aTx0aGlzLmxlbjtpKyspe1xyXG4gICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gaSA9PT0gMCA/ICdhY3RpdmUnIDogXCJcIjtcclxuXHJcbiAgICAgICAgICAgIGh0bWwgKz0gJzxsaSBjbGFzcz1cIml0ZW0gJytjbGFzc05hbWUrJ1wiPjxkaXYgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwib3JkZXJcIj48Yj4nKyhwYXJzZUludChpKSsxKSsnPC9iPi8nK3RoaXMubGVuKyfjgIE8L3NwYW4+PHNwYW4gY2xhc3M9XCJ0aXRcIj4nK3RoaXMuREFUQVtpXS50aXRsZSsnPC9zcGFuPjwvZGl2Pic7XHJcblxyXG4gICAgICAgICAgICBodG1sICs9ICc8dWwgY2xhc3M9XCJzZWxlY3RfbGlzdFwiPic7XHJcbiAgICAgICAgICAgIHZhciBvcHRpb25MZW4gPSB0aGlzLkRBVEFbaV0ub3B0aW9ucy5sZW5ndGg7Ly/nrZTmoYjmlbBcclxuICAgICAgICAgICAgZm9yKHZhciBqID0gMDtqPG9wdGlvbkxlbjtqKyspe1xyXG4gICAgICAgICAgICAgICAgdmFyIG9wdGlvbiA9ICB0aGlzLkRBVEFbaV0ub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaT48c3BhbiBjbGFzcz1cInJhZGlvLXdyYXBcIj48aW5wdXQgdHlwZT1cInJhZGlvXCIgZGF0YS1zY29yZT1cIicrdGhpcy5EQVRBW2ldLnNjb3Jlc1tqXSsnXCIgbmFtZT1cIicrdGhpcy5vcHRpb25zLmlkK2krJ1wiIHZhbHVlPVwiJytqKydcIiBpZD1cIicrdGhpcy5vcHRpb25zLmlkK2krJycraisnXCI+PHNwYW4gY2xhc3M9XCJyYWRpby1pbm5lclwiPjwvc3Bhbj48L3NwYW4+PGxhYmVsIGZvcj1cIicrdGhpcy5vcHRpb25zLmlkK2krJycraisnXCI+JytvcHRpb25bal0rJzwvbGFiZWw+PC9saT4nXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGh0bWwgKz0gJzwvdWw+PC9saT4nXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBodG1sICs9JzwvdWw+PGRpdiBjbGFzcz1cImJ0bl93cmFwXCIgPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX3ByZXZcIiBkaXNhYmxlZD1cImRpc2FibGVkXCI+5LiK5LiA6aKYPC9idXR0b24+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fbmV4dCBcIiBkaXNhYmxlZD1cImRpc2FibGVkXCI+5LiL5LiA6aKYPC9idXR0b24+PC9kaXY+JztcclxuXHJcblxyXG4gICAgICAgIHRoaXMuJHdyYXAuaHRtbChodG1sKTtcclxuXHJcblxyXG5cclxuICAgICAgICB0aGlzLmJpbmQodGhpcy5jYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBwcm9ibGVtLnByb3RvdHlwZSA9IHtcclxuICAgIGJpbmQ6ZnVuY3Rpb24oY2FsbGJhY2spe1xyXG4gICAgICAgIHZhciB0aGF0ID0gdGhpcztcclxuICAgICAgICBcclxuICAgICAgICAkKCcucHJvYmxlbV9saXN0JywgdGhhdC4kd3JhcCkub24oJ2NoYW5nZScsJy5hY3RpdmUgaW5wdXQnLGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKDEyMylcclxuICAgICAgICAgICAgJCgnLmJ0bl9uZXh0JywgdGhhdC4kd3JhcCApLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJylcclxuICAgICAgICAgICAgJCgnLmJ0bl9yZXN1bHQnLHRoYXQuJHdyYXAgKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLm9uKCdjbGljaycsJy5idG5fcHJldicsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgdGhhdC5fYW5zd2VySW5kZXggLS07XHJcbiAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3Q+bGknLHRoYXQuJHdyYXAgKS5lcSh0aGF0Ll9hbnN3ZXJJbmRleCkuYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgICAgICBpZih0aGF0Ll9hbnN3ZXJJbmRleCA8PTApe1xyXG4gICAgICAgICAgICAgICAgJCgnLmJ0bl9wcmV2JywgdGhhdC4kd3JhcCApLmF0dHIoJ2Rpc2FibGVkJyxcImRpc2FibGVkXCIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCgnLmJ0bl9uZXh0Jyx0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkub24oJ2NsaWNrJywnLmJ0bl9uZXh0JyxmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICB0aGF0Ll9hbnN3ZXJJbmRleCArKztcclxuXHJcbiAgICAgICAgICAgIGlmKHRoYXQuX2Fuc3dlckluZGV4ICsgMSA9PT0gdGhhdC5sZW4pe1xyXG4gICAgICAgICAgICAgICAgaWYodGhhdC5wVHlwZSA9PT0gJ215ZCcpe1xyXG4gICAgICAgICAgICAgICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5odG1sKCc8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9yZXN1bHRcIiBkaXNhYmxlZD1cImRpc2FibGVkXCI+5o+Q5LqkPC9idXR0b24+JykgXHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkuaHRtbCgnPGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fcmVzdWx0XCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPuafpeeci+a1i+ivhOe7k+aenDwvYnV0dG9uPicpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmKCB0aGF0Ll9hbnN3ZXJJbmRleCArIDEgPiB0aGF0LmxlbiApe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3Q+bGknLHRoYXQuJHdyYXAgKS5lcSh0aGF0Ll9hbnN3ZXJJbmRleCkuYWRkQ2xhc3MoJ2FjdGl2ZScpLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgICAgICBpZighJCgnLnByb2JsZW1fbGlzdCAuYWN0aXZlIGlucHV0OnJhZGlvOmNoZWNrZWQnLHRoYXQuJHdyYXApLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAkKCcuYnRuX25leHQnLHRoYXQuJHdyYXAgKS5hdHRyKCdkaXNhYmxlZCcsXCJkaXNhYmxlZFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkKCcuYnRuX3ByZXYnLCB0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgICAgICAgICBcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkub24oJ2NsaWNrJywnLmJ0bl9yZXN1bHQnLGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHZhciB0b3RhbFNjb3JlID0gMDtcclxuICAgICAgICAgICAgdmFyIHNjb3JlQXJyID0gW107XHJcbiAgICAgICAgICAgICQoJy5wcm9ibGVtX2xpc3QgLml0ZW0nLHRoYXQuJHdyYXApLmVhY2goZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgICAgdmFyIF9zY29yZSA9ICQodGhpcykuZmluZChcImlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZFwiKS5kYXRhKCdzY29yZScpO1xyXG4gICAgICAgICAgICAgICBfc2NvcmUgPSBwYXJzZUZsb2F0KF9zY29yZSk7XHJcbiAgICAgICAgICAgICAgIHNjb3JlQXJyLnB1c2goX3Njb3JlKVxyXG4gICAgICAgICAgICAgICB0b3RhbFNjb3JlICs9IF9zY29yZTtcclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRvdGFsU2NvcmUpXHJcblxyXG4gICAgICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayh0aGF0LHRvdGFsU2NvcmUsc2NvcmVBcnIpXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgc2hvd01vZGVsOmZ1bmN0aW9uKG9wdGlvbil7XHJcbiAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xyXG4gICAgICAgIC8vIHZhciB3aW5IZWlnaHQgPSAkKHdpbmRvdykub3V0ZXJIZWlnaHQoKTtcclxuICAgICAgICAvLyB2YXIgd2luZFdpZHRoID0gJCh3aW5kb3cpLm91dGVyV2lkdGgoKTtcclxuICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPVwiY29tZmlybV9tb2RlbFwiPic7XHJcbiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz1cImNvbWZpcm1fbWFza1wiIHN0eWxlPVwid2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTowLjU7XCI+PC9kaXY+JztcclxuICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz1cImNvbWZpcm1fY29udGFpbmVyXCI+JyArXHJcbiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cImNvbWZpcm1faGVhZGVyXCI+PGRpdiBjbGFzcz1cImNvbmZpcm1fbW9yZVwiPjxpIGNsYXNzPVwiaWNvbl9jbG9zZVwiPjwvaT48L2Rpdj48L2Rpdj4nICtcclxuICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPVwiY29uZmlybV9jb250ZW50XCI+JztcclxuICAgICAgICAgICAgICAgIGlmKCFvcHRpb24uaXNTY29yZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbCs9JzxkaXYgY2xhc3M9XCJjb25maXJtX3N1Y1wiPjwvZGl2PjxwPicgKyBvcHRpb24uY29udGVudCArICc8L3A+JztcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG9wdGlvbi5zY29yZSA+PSBvcHRpb24udGFyZ2V0U2NvcmUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBodG1sKz0nPGRpdiBjbGFzcz1cImNvbmZpcm1fc3VjXCI+PC9kaXY+PGRpdiBjbGFzcz1cInNjb3JlX3Jlc1wiPuivhOa1i+aIkOWKnzwvZGl2PjxwIGNsYXNzPVwic2NvcmVfY29uXCI+5L2g55qE5b6X5YiGOjxzcGFuPicrb3B0aW9uLnNjb3JlKyc8L3NwYW4+5YiGJm5ic3A7Jm5ic3A755uu5qCH5YiG5pWwOjxzcGFuPicrb3B0aW9uLnRhcmdldFNjb3JlKyc8L3NwYW4+5YiGPC9wPic7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwrPSc8ZGl2IGNsYXNzPVwiY29uZmlybV9mYWlsXCI+PC9kaXY+PGRpdiBjbGFzcz1cInNjb3JlX3Jlc1wiPuivhOa1i+Wksei0pTwvZGl2PjxwIGNsYXNzPVwic2NvcmVfY29uXCI+5L2g55qE5b6X5YiGOjxzcGFuPicrb3B0aW9uLnNjb3JlKyc8L3NwYW4+5YiGJm5ic3A7Jm5ic3A755uu5qCH5YiG5pWwOjxzcGFuPicrb3B0aW9uLnRhcmdldFNjb3JlKyc8L3NwYW4+5YiGPC9wPic7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGF0LnBUeXBlID09PSAnbXlkJyl7XHJcbiAgICAgICAgICAgICAgICBodG1sICs9ICc8L2Rpdj48ZGl2IGNsYXNzPVwiY29uZmlybV9mb290IGJ0bl93cmFwXCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fY2xvc2VcIj7lhbPpl608L2J1dHRvbj4nXHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgaHRtbCArPSAnPC9kaXY+PGRpdiBjbGFzcz1cImNvbmZpcm1fZm9vdCBidG5fd3JhcFwiPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX2FnYWluXCI+6YeN5paw6K+E5rWLPC9idXR0b24+J1xyXG4gICAgICAgICAgICAgICAgaWYob3B0aW9uLmxpbmspe1xyXG4gICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxidXR0b24gY2xhc3M9XCJidG4gYnRuX3RvbW9uaVwiPuWOu+aooeaLn+S6pOaYkzwvYnV0dG9uPidcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIGh0bWwgKz0gJzwvZGl2PjwvZGl2PjwvZGl2Pic7XHJcblxyXG4gICAgICAgIHZhciAkaHRtbCA9ICQoaHRtbClcclxuXHJcbiAgICAgICAgJCgnYm9keScpLmFwcGVuZCgkaHRtbCk7XHJcblxyXG4gICAgICAgICRodG1sLmNzcyh7XHJcbiAgICAgICAgICAgIFwicG9zaXRpb25cIjogXCJmaXhlZFwiLFxyXG4gICAgICAgICAgICBcInRvcFwiOiBcIjBcIixcclxuICAgICAgICAgICAgXCJsZWZ0XCI6XCIwXCIsXHJcbiAgICAgICAgICAgIFwiaGVpZ2h0XCI6JzEwMCUnLFxyXG4gICAgICAgICAgICBcIndpZHRoXCI6ICcxMDAlJyxcclxuICAgICAgICAgICAgXCJ6LWluZGV4XCI6XCI5OTk5XCJcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkKCcuY29tZmlybV9jb250YWluZXInLCB0aGlzLmh0bWwpLmNzcyh7XHJcbiAgICAgICAgICAgIFwicG9zaXRpb25cIjogXCJhYnNvbHV0ZVwiLFxyXG4gICAgICAgICAgICBcInRvcFwiOiBcIjUwJVwiLFxyXG4gICAgICAgICAgICBcImxlZnRcIjogXCI1MCVcIixcclxuICAgICAgICAgICAgXCJoZWlnaHRcIjonMzQycHgnLFxyXG4gICAgICAgICAgICBcIndpZHRoXCI6ICc1MDBweCcsXHJcbiAgICAgICAgICAgIFwibWFyZ2luLXRvcFwiOiAnLTE3MXB4JyxcclxuICAgICAgICAgICAgXCJtYXJnaW4tbGVmdFwiOictMjUwcHgnXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5pY29uX2Nsb3NlJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgb3B0aW9uLm9uQ2xvc2UgJiYgb3B0aW9uLm9uQ2xvc2UoKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgICRodG1sLm9uKCdjbGljaycsICcuYnRuX2Nsb3NlJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgb3B0aW9uLm9uQ2xvc2UgJiYgb3B0aW9uLm9uQ2xvc2UoKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAkaHRtbC5vbignY2xpY2snLCAnLmJ0bl9hZ2FpbicsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgJGh0bWwucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgcHJvYmxlbSh0aGF0Lm9wdGlvbnMpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgICRodG1sLm9uKCdjbGljaycsICcuYnRuX3RvbW9uaScsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgbG9jYXRpb24uaHJlZiA9IG9wdGlvbi5saW5rO1xyXG4gICAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgcmVsb2FkOmZ1bmN0aW9uKCl7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBwcm9ibGVtKHRoaXMub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb2R1bGUuZXhwb3J0cyAgPSAgcHJvYmxlbTtcclxuXHJcbi8vIG1vZHVsZS5leHBvcnRzICA9IHtcclxuLy8gICAgIGxvYWQ6ZnVuY3Rpb24ob3B0aW9ucyl7XHJcbi8vICAgICAgICAgLy9jYWxsYmFjayxpc1JhbmRvbSxwVHlwZSxcclxuLy8gICAgICAgICB2YXIgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbi8vICAgICAgICAgICAgIGlkOlwicHJvYmxlbV93cmFwXCIsLy/popjnm65kb20gaWRcclxuLy8gICAgICAgICAgICAgREFUQTpwcm9ibGVtX2RhdGEsLy/popjnm67mlbDmja5cclxuLy8gICAgICAgICAgICAgaXNSYW5kb206ZmFsc2UsLy/mmK/lkKbpmo/mnLpcclxuLy8gICAgICAgICAgICAgbGVuOjIwLC8v6ZqP5py66aKY55uu5pWw6YePXHJcbi8vICAgICAgICAgICAgIHBUeXBlOicnLCAvL+mimOebruexu+Wei1xyXG4vLyAgICAgICAgICAgICBjYWxsYmFjazpudWxsLy/lm57osINcclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgIHRoaXMub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LGRlZmF1bHRPcHRpb25zLG9wdGlvbnMpO1xyXG4vLyAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMub3B0aW9ucylcclxuLy8gICAgICAgICBpZih0eXBlb2YgdGhpcy5vcHRpb25zLkRBVEEgPT0gdW5kZWZpbmVkIHx8ICF0aGlzLm9wdGlvbnMuREFUQS5sZW5ndGgpe1xyXG4vLyAgICAgICAgICAgICByZXR1cm4gZmFsc2VcclxuLy8gICAgICAgICB9XHJcbiAgICAgICBcclxuLy8gICAgICAgICB2YXIgaHRtbCA9ICc8dWwgY2xhc3M9XCJwcm9ibGVtX2xpc3RcIiA+JztcclxuLy8gICAgICAgICB0aGlzLiR3cmFwID0gJCgnIycrdGhpcy5vcHRpb25zLmlkKVxyXG4vLyAgICAgICAgIHRoaXMuREFUQSA9IHRoaXMub3B0aW9ucy5EQVRBO1xyXG4vLyAgICAgICAgIHRoaXMubGVuID0gdGhpcy5EQVRBLmxlbmd0aDsvL+mimOebruaVsFxyXG5cclxuLy8gICAgICAgICB0aGlzLmNhbGxiYWNrID0gdGhpcy5vcHRpb25zLmNhbGxiYWNrO1xyXG4vLyAgICAgICAgIHRoaXMuaXNSYW5kb20gPSB0aGlzLm9wdGlvbnMuaXNSYW5kb207XHJcbi8vICAgICAgICAgdGhpcy5wVHlwZSA9IHRoaXMub3B0aW9ucy5wVHlwZTtcclxuLy8gICAgICAgICB0aGlzLnRhZyA9IGZhbHNlO1xyXG5cclxuLy8gICAgICAgICB0aGlzLl9hbnN3ZXJJbmRleCA9IDA7XHJcblxyXG4vLyAgICAgICAgIGlmKHRoaXMuaXNSYW5kb20pe1xyXG4vLyAgICAgICAgICAgICB0aGlzLmxlbj10aGlzLm9wdGlvbnMubGVuIHx8IHRoaXMuREFUQS5sZW5ndGg7XHJcbi8vICAgICAgICAgICAgIHRoaXMuREFUQSA9IHNodWZmbGUodGhpcy5EQVRBKVxyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgZm9yKHZhciBpID0gMDtpPHRoaXMubGVuO2krKyl7XHJcbi8vICAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSBpID09PSAwID8gJ2FjdGl2ZScgOiBcIlwiO1xyXG5cclxuLy8gICAgICAgICAgICAgaHRtbCArPSAnPGxpIGNsYXNzPVwiaXRlbSAnK2NsYXNzTmFtZSsnXCI+PGRpdiBjbGFzcz1cInRpdGxlXCI+PHNwYW4gY2xhc3M9XCJvcmRlclwiPjxiPicrKHBhcnNlSW50KGkpKzEpKyc8L2I+LycrdGhpcy5sZW4rJ+OAgTwvc3Bhbj48c3BhbiBjbGFzcz1cInRpdFwiPicrdGhpcy5EQVRBW2ldLnRpdGxlKyc8L3NwYW4+PC9kaXY+JztcclxuXHJcbi8vICAgICAgICAgICAgIGh0bWwgKz0gJzx1bCBjbGFzcz1cInNlbGVjdF9saXN0XCI+JztcclxuLy8gICAgICAgICAgICAgdmFyIG9wdGlvbkxlbiA9IHRoaXMuREFUQVtpXS5vcHRpb25zLmxlbmd0aDsvL+etlOahiOaVsFxyXG4vLyAgICAgICAgICAgICBmb3IodmFyIGogPSAwO2o8b3B0aW9uTGVuO2orKyl7XHJcbi8vICAgICAgICAgICAgICAgICB2YXIgb3B0aW9uID0gIHRoaXMuREFUQVtpXS5vcHRpb25zO1xyXG4vLyAgICAgICAgICAgICAgICAgaHRtbCArPSAnPGxpPjxzcGFuIGNsYXNzPVwicmFkaW8td3JhcFwiPjxpbnB1dCB0eXBlPVwicmFkaW9cIiBkYXRhLXNjb3JlPVwiJyt0aGlzLkRBVEFbaV0uc2NvcmVzW2pdKydcIiBuYW1lPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnXCIgdmFsdWU9XCInK2orJ1wiIGlkPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnJytqKydcIj48c3BhbiBjbGFzcz1cInJhZGlvLWlubmVyXCI+PC9zcGFuPjwvc3Bhbj48bGFiZWwgZm9yPVwiJyt0aGlzLm9wdGlvbnMuaWQraSsnJytqKydcIj4nK29wdGlvbltqXSsnPC9sYWJlbD48L2xpPidcclxuLy8gICAgICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAgICAgaHRtbCArPSAnPC91bD48L2xpPidcclxuLy8gICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgIGh0bWwgKz0nPC91bD48ZGl2IGNsYXNzPVwiYnRuX3dyYXBcIiA+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fcHJldlwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7kuIrkuIDpopg8L2J1dHRvbj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9uZXh0IFwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7kuIvkuIDpopg8L2J1dHRvbj48L2Rpdj4nO1xyXG5cclxuXHJcbi8vICAgICAgICAgdGhpcy4kd3JhcC5odG1sKGh0bWwpO1xyXG5cclxuICAgICAgXHJcblxyXG4vLyAgICAgICAgIHRoaXMuYmluZCh0aGlzLmNhbGxiYWNrKTtcclxuXHJcbiAgICAgICBcclxuLy8gICAgIH0sXHJcbi8vICAgICBiaW5kOmZ1bmN0aW9uKGNhbGxiYWNrKXtcclxuLy8gICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XHJcbiAgICAgICAgXHJcbi8vICAgICAgICAgJCgnLnByb2JsZW1fbGlzdCcsIHRoYXQuJHdyYXApLm9uKCdjaGFuZ2UnLCcuYWN0aXZlIGlucHV0JyxmdW5jdGlvbigpe1xyXG4vLyAgICAgICAgICAgICBjb25zb2xlLmxvZygxMjMpXHJcbi8vICAgICAgICAgICAgICQoJy5idG5fbmV4dCcsIHRoYXQuJHdyYXAgKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpXHJcbi8vICAgICAgICAgICAgICQoJy5idG5fcmVzdWx0Jyx0aGF0LiR3cmFwICkucmVtb3ZlQXR0cignZGlzYWJsZWQnKVxyXG4vLyAgICAgICAgIH0pXHJcblxyXG4vLyAgICAgICAgICQoJy5idG5fd3JhcCcsIHRoYXQuJHdyYXAgKS5vbignY2xpY2snLCcuYnRuX3ByZXYnLGZ1bmN0aW9uKCl7XHJcbi8vICAgICAgICAgICAgIHRoYXQuX2Fuc3dlckluZGV4IC0tO1xyXG4vLyAgICAgICAgICAgICAkKCcucHJvYmxlbV9saXN0PmxpJyx0aGF0LiR3cmFwICkuZXEodGhhdC5fYW5zd2VySW5kZXgpLmFkZENsYXNzKCdhY3RpdmUnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcclxuLy8gICAgICAgICAgICAgaWYodGhhdC5fYW5zd2VySW5kZXggPD0wKXtcclxuLy8gICAgICAgICAgICAgICAgICQoJy5idG5fcHJldicsIHRoYXQuJHdyYXAgKS5hdHRyKCdkaXNhYmxlZCcsXCJkaXNhYmxlZFwiKVxyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgICQoJy5idG5fbmV4dCcsdGhhdC4kd3JhcCApLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJyk7XHJcbi8vICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLm9uKCdjbGljaycsJy5idG5fbmV4dCcsZnVuY3Rpb24oKXtcclxuLy8gICAgICAgICAgICAgdGhhdC5fYW5zd2VySW5kZXggKys7XHJcblxyXG4vLyAgICAgICAgICAgICBpZih0aGF0Ll9hbnN3ZXJJbmRleCArIDEgPT09IHRoYXQubGVuKXtcclxuLy8gICAgICAgICAgICAgICAgIGlmKHRoYXQucFR5cGUgPT09ICdteWQnKXtcclxuLy8gICAgICAgICAgICAgICAgICAgICAkKCcuYnRuX3dyYXAnLCB0aGF0LiR3cmFwICkuaHRtbCgnPGJ1dHRvbiBjbGFzcz1cImJ0biBidG5fcmVzdWx0XCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiPuaPkOS6pDwvYnV0dG9uPicpIFxyXG4vLyAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLmh0bWwoJzxidXR0b24gY2xhc3M9XCJidG4gYnRuX3Jlc3VsdFwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIj7mn6XnnIvmtYvor4Tnu5Pmnpw8L2J1dHRvbj4nKVxyXG4vLyAgICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICB9XHJcblxyXG4vLyAgICAgICAgICAgICBpZiggdGhhdC5fYW5zd2VySW5kZXggKyAxID4gdGhhdC5sZW4gKXtcclxuLy8gICAgICAgICAgICAgICAgIHJldHVybjtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICAkKCcucHJvYmxlbV9saXN0PmxpJyx0aGF0LiR3cmFwICkuZXEodGhhdC5fYW5zd2VySW5kZXgpLmFkZENsYXNzKCdhY3RpdmUnKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcclxuLy8gICAgICAgICAgICAgaWYoISQoJy5wcm9ibGVtX2xpc3QgLmFjdGl2ZSBpbnB1dDpyYWRpbzpjaGVja2VkJyx0aGF0LiR3cmFwKS5sZW5ndGgpe1xyXG4vLyAgICAgICAgICAgICAgICAgJCgnLmJ0bl9uZXh0Jyx0aGF0LiR3cmFwICkuYXR0cignZGlzYWJsZWQnLFwiZGlzYWJsZWRcIik7XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgJCgnLmJ0bl9wcmV2JywgdGhhdC4kd3JhcCApLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgICAgXHJcbi8vICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgJCgnLmJ0bl93cmFwJywgdGhhdC4kd3JhcCApLm9uKCdjbGljaycsJy5idG5fcmVzdWx0JyxmdW5jdGlvbigpe1xyXG4vLyAgICAgICAgICAgICB2YXIgdG90YWxTY29yZSA9IDA7XHJcbi8vICAgICAgICAgICAgIHZhciBzY29yZUFyciA9IFtdO1xyXG4vLyAgICAgICAgICAgICAkKCcucHJvYmxlbV9saXN0IC5pdGVtJyx0aGF0LiR3cmFwKS5lYWNoKGZ1bmN0aW9uKCl7XHJcbi8vICAgICAgICAgICAgICAgIHZhciBfc2NvcmUgPSAkKHRoaXMpLmZpbmQoXCJpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWRcIikuZGF0YSgnc2NvcmUnKTtcclxuLy8gICAgICAgICAgICAgICAgX3Njb3JlID0gcGFyc2VGbG9hdChfc2NvcmUpO1xyXG4vLyAgICAgICAgICAgICAgICBzY29yZUFyci5wdXNoKF9zY29yZSlcclxuLy8gICAgICAgICAgICAgICAgdG90YWxTY29yZSArPSBfc2NvcmU7XHJcbi8vICAgICAgICAgICAgIH0pXHJcblxyXG4vLyAgICAgICAgICAgICBjb25zb2xlLmxvZyh0b3RhbFNjb3JlKVxyXG5cclxuLy8gICAgICAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2sodGhhdCx0b3RhbFNjb3JlLHNjb3JlQXJyKVxyXG4gICAgICAgICAgICBcclxuLy8gICAgICAgICB9KVxyXG4vLyAgICAgfSxcclxuLy8gICAgIHNob3dNb2RlbDpmdW5jdGlvbihvcHRpb24pe1xyXG4vLyAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcclxuLy8gICAgICAgICB2YXIgd2luSGVpZ2h0ID0gJCh3aW5kb3cpLm91dGVySGVpZ2h0KCk7XHJcbi8vICAgICAgICAgdmFyIHdpbmRXaWR0aCA9ICQod2luZG93KS5vdXRlcldpZHRoKCk7XHJcbi8vICAgICAgICAgdmFyIGh0bWwgPSAnPGRpdiBjbGFzcz1cImNvbWZpcm1fbW9kZWxcIj4nO1xyXG4vLyAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9XCJjb21maXJtX21hc2tcIiBzdHlsZT1cIndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6MC41O1wiPjwvZGl2Pic7XHJcbi8vICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9XCJjb21maXJtX2NvbnRhaW5lclwiPicgK1xyXG4vLyAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCJjb21maXJtX2hlYWRlclwiPjxkaXYgY2xhc3M9XCJjb25maXJtX21vcmVcIj48aSBjbGFzcz1cImljb25fY2xvc2VcIj48L2k+PC9kaXY+PC9kaXY+JyArXHJcbi8vICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cImNvbmZpcm1fY29udGVudFwiPic7XHJcbi8vICAgICAgICAgICAgICAgICBpZighb3B0aW9uLmlzU2NvcmUpe1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIGh0bWwrPSc8ZGl2IGNsYXNzPVwiY29uZmlybV9zdWNcIj48L2Rpdj48cD4nICsgb3B0aW9uLmNvbnRlbnQgKyAnPC9wPic7XHJcbi8vICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuLy8gICAgICAgICAgICAgICAgICAgICBpZihvcHRpb24uc2NvcmUgPj0gb3B0aW9uLnRhcmdldFNjb3JlKXtcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCs9JzxkaXYgY2xhc3M9XCJjb25maXJtX3N1Y1wiPjwvZGl2PjxkaXYgY2xhc3M9XCJzY29yZV9yZXNcIj7or4TmtYvmiJDlip88L2Rpdj48cCBjbGFzcz1cInNjb3JlX2NvblwiPuS9oOeahOW+l+WIhjo8c3Bhbj4nK29wdGlvbi5zY29yZSsnPC9zcGFuPuWIhiZuYnNwOyZuYnNwO+ebruagh+WIhuaVsDo8c3Bhbj4nK29wdGlvbi50YXJnZXRTY29yZSsnPC9zcGFuPuWIhjwvcD4nO1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICBodG1sKz0nPGRpdiBjbGFzcz1cImNvbmZpcm1fZmFpbFwiPjwvZGl2PjxkaXYgY2xhc3M9XCJzY29yZV9yZXNcIj7or4TmtYvlpLHotKU8L2Rpdj48cCBjbGFzcz1cInNjb3JlX2NvblwiPuS9oOeahOW+l+WIhjo8c3Bhbj4nK29wdGlvbi5zY29yZSsnPC9zcGFuPuWIhiZuYnNwOyZuYnNwO+ebruagh+WIhuaVsDo8c3Bhbj4nK29wdGlvbi50YXJnZXRTY29yZSsnPC9zcGFuPuWIhjwvcD4nO1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgaWYodGhhdC5wVHlwZSA9PT0gJ215ZCcpe1xyXG4vLyAgICAgICAgICAgICAgICAgaHRtbCArPSAnPC9kaXY+PGRpdiBjbGFzcz1cImNvbmZpcm1fZm9vdCBidG5fd3JhcFwiPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX2Nsb3NlXCI+5YWz6ZetPC9idXR0b24+J1xyXG4vLyAgICAgICAgICAgICB9ZWxzZXtcclxuLy8gICAgICAgICAgICAgICAgIGh0bWwgKz0gJzwvZGl2PjxkaXYgY2xhc3M9XCJjb25maXJtX2Zvb3QgYnRuX3dyYXBcIj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bl9hZ2FpblwiPumHjeaWsOivhOa1izwvYnV0dG9uPjxidXR0b24gY2xhc3M9XCJidG4gYnRuX3RvbW9uaVwiPuWOu+aooeaLn+S6pOaYkzwvYnV0dG9uPidcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIGh0bWwgKz0gJzwvZGl2PjwvZGl2PjwvZGl2Pic7XHJcblxyXG4vLyAgICAgICAgIHZhciAkaHRtbCA9ICQoaHRtbClcclxuXHJcbi8vICAgICAgICAgJCgnYm9keScpLmFwcGVuZCgkaHRtbCk7XHJcblxyXG4vLyAgICAgICAgICRodG1sLmNzcyh7XHJcbi8vICAgICAgICAgICAgIFwicG9zaXRpb25cIjogXCJmaXhlZFwiLFxyXG4vLyAgICAgICAgICAgICBcInRvcFwiOiBcIjBcIixcclxuLy8gICAgICAgICAgICAgXCJsZWZ0XCI6XCIwXCIsXHJcbi8vICAgICAgICAgICAgIFwiaGVpZ2h0XCI6JzEwMCUnLFxyXG4vLyAgICAgICAgICAgICBcIndpZHRoXCI6ICcxMDAlJyxcclxuLy8gICAgICAgICAgICAgXCJ6LWluZGV4XCI6XCI5OTk5XCJcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkKCcuY29tZmlybV9jb250YWluZXInLCB0aGlzLmh0bWwpLmNzcyh7XHJcbi8vICAgICAgICAgICAgIFwicG9zaXRpb25cIjogXCJhYnNvbHV0ZVwiLFxyXG4vLyAgICAgICAgICAgICBcInRvcFwiOiBcIjUwJVwiLFxyXG4vLyAgICAgICAgICAgICBcImxlZnRcIjogXCI1MCVcIixcclxuLy8gICAgICAgICAgICAgXCJoZWlnaHRcIjonMzQycHgnLFxyXG4vLyAgICAgICAgICAgICBcIndpZHRoXCI6ICc1MDBweCcsXHJcbi8vICAgICAgICAgICAgIFwibWFyZ2luLXRvcFwiOiAnLTE3MXB4JyxcclxuLy8gICAgICAgICAgICAgXCJtYXJnaW4tbGVmdFwiOictMjUwcHgnXHJcbi8vICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5pY29uX2Nsb3NlJywgZnVuY3Rpb24gKCkge1xyXG4vLyAgICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuLy8gICAgICAgICAgICAgb3B0aW9uLm9uQ2xvc2UgJiYgb3B0aW9uLm9uQ2xvc2UoKTtcclxuLy8gICAgICAgICB9KVxyXG4vLyAgICAgICAgICRodG1sLm9uKCdjbGljaycsICcuYnRuX2Nsb3NlJywgZnVuY3Rpb24gKCkge1xyXG4vLyAgICAgICAgICAgICAkaHRtbC5yZW1vdmUoKTtcclxuLy8gICAgICAgICAgICAgb3B0aW9uLm9uQ2xvc2UgJiYgb3B0aW9uLm9uQ2xvc2UoKTtcclxuLy8gICAgICAgICB9KVxyXG5cclxuLy8gICAgICAgICAkaHRtbC5vbignY2xpY2snLCAnLmJ0bl9hZ2FpbicsIGZ1bmN0aW9uICgpIHtcclxuLy8gICAgICAgICAgICAgJGh0bWwucmVtb3ZlKCk7XHJcbi8vICAgICAgICAgICAgIHRoYXQubG9hZCh0aGF0LmNhbGxiYWNrLHRoYXQuaXNSYW5kb20sdGhhdC5wVHlwZSk7XHJcbi8vICAgICAgICAgfSlcclxuXHJcbi8vICAgICAgICAgJGh0bWwub24oJ2NsaWNrJywgJy5idG5fdG9tb25pJywgZnVuY3Rpb24gKCkge1xyXG4vLyAgICAgICAgICAgICBsb2NhdGlvbi5ocmVmID0gb3B0aW9uLmxpbms7XHJcbi8vICAgICAgICAgfSlcclxuLy8gICAgIH1cclxuLy8gfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vanMvbW9kdWxlcy9wcm9ibGVtL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMSA2IDcgOCAxMiAxMyIsInZhciBhbnN3ZXIgPSByZXF1aXJlKCcuL21vZHVsZXMvcHJvYmxlbScpO1xyXG5cclxuJChmdW5jdGlvbigpe1xyXG4gICAgalF1ZXJ5KFwiI2toLXNsaWRlXCIpLnNsaWRlKHtcclxuICAgICAgICB0aXRDZWxsOiBcIi5oZCB1bFwiLFxyXG4gICAgICAgIG1haW5DZWxsOiBcIi5iZCB1bFwiLFxyXG4gICAgICAgIGVmZmVjdDogXCJsZWZ0TG9vcFwiLFxyXG4gICAgICAgIHBuTG9vcDpmYWxzZSxcclxuICAgICAgICBlbmRGdW46ZnVuY3Rpb24oaW5kZXgsdG90YWwsYyl7XHJcbiAgICAgICAgICAgIGlmKGluZGV4ICsgMSA9PT0gdG90YWwpe1xyXG4gICAgICAgICAgICAgICAgJCgnLnRvbW9uaScpLmNzcyhcInZpc2liaWxpdHlcIixcInZpc2libGVcIilcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAkKCcudG9tb25pJykuY3NzKFwidmlzaWJpbGl0eVwiLFwiaGlkZGVuXCIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxuICAgIG5ldyBhbnN3ZXIoe1xyXG4gICAgICAgIGlzUmFuZG9tOnRydWUsXHJcbiAgICAgICAgY2FsbGJhY2s6ZnVuY3Rpb24odGhhdCx0b3RhbFNjb3JlLHNjb3JlQXJyKXtcclxuICAgICAgICAgICAgdGhhdC5zaG93TW9kZWwoe1xyXG4gICAgICAgICAgICAgICAgaXNTY29yZTp0cnVlLFxyXG4gICAgICAgICAgICAgICAgc2NvcmU6dG90YWxTY29yZSxcclxuICAgICAgICAgICAgICAgIHRhcmdldFNjb3JlOjcwLFxyXG4gICAgICAgICAgICAgICAgbGluazonL01vTmlKaWFvWWkvUWlRdWFuP3R5cGU9MydcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIFxyXG4gICAgLy8gYW5zd2VyLmxvYWQoZnVuY3Rpb24odGhhdCx0b3RhbFNjb3JlLHNjb3JlQXJyKXtcclxuICAgIC8vICAgICB0aGF0LnNob3dNb2RlbCh7XHJcbiAgICAvLyAgICAgICAgIGlzU2NvcmU6dHJ1ZSxcclxuICAgIC8vICAgICAgICAgc2NvcmU6dG90YWxTY29yZSxcclxuICAgIC8vICAgICAgICAgdGFyZ2V0U2NvcmU6NzAsXHJcbiAgICAvLyAgICAgICAgIGxpbms6Jy9Nb05pSmlhb1lpL1FpUXVhbj90eXBlPTMnXHJcbiAgICAvLyAgICAgfSlcclxuICAgIFxyXG4gICAgLy8gfSx0cnVlKTtcclxufSlcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2pzL3FpcXVhbi5qc1xuLy8gbW9kdWxlIGlkID0gMjFcbi8vIG1vZHVsZSBjaHVua3MgPSA3Il0sInNvdXJjZVJvb3QiOiIifQ=="]}