MediaWiki:Gadget-Collapsible.js:修订间差异

MediaWiki系统消息页面
添加的内容 删除的内容
(Git commit 66b7666f: fix(navframe): follow #1272 (#1275))
(Git commit 1f13f1ae: chore(Collapsible): minify (#1316))
 
第391行: 第391行:
_iterator9.f();
_iterator9.f();
}
}
};
//! src/Collapsible/modules/addHook.ts
var addHook = () => {
mw.hook("wikipage.content").add(($content) => {
navFrame($content);
const $collapsibles = generateTargetElements($content);
if (!$collapsibles.length) {
return;
}
makeCollapsible($collapsibles);
});
};
};
//! src/Collapsible/Collapsible.ts
//! src/Collapsible/Collapsible.ts
/*!
/*!
* 为元素添加“隐藏”和“显示”的按钮。
* @description 为元素添加“隐藏”和“显示”的按钮。
*
*
* 用法说明:
* 用法说明:
第436行: 第425行:
* 繁简转换,但是其默认值是可以正常根据界面语言繁简转换的。
* 繁简转换,但是其默认值是可以正常根据界面语言繁简转换的。
*/
*/
mw.hook("wikipage.content").add(($content) => {
addHook();
navFrame($content);
const $collapsibles = generateTargetElements($content);
if (!$collapsibles.length) {
return;
}
makeCollapsible($collapsibles);
});


})();
})();
第442行: 第438行:
/* </nowiki> */
/* </nowiki> */


//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvdXRpbC9nZW5lcmF0ZVRhcmdldEVsZW1lbnRzLnRzIiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL2FkZExpc3RlbmVyLnRzIiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL3V0aWwvaGlkZUVsZW1lbnQudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvdXRpbC9zaG93RWxlbWVudC50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy91dGlsL3RvZ2dsZUVsZW1lbnQudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvYWRkVG9nZ2xlci50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy91dGlsL2dlbmVyYXRlVG9nZ2xlckVsZW1lbnQudHN4IiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL3V0aWwvQ29sbGFwc2libGUubW9kdWxlLmxlc3MiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvaTE4bi50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy9tYWtlQ29sbGFwc2libGUudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvbmF2RnJhbWUudHMiLCAic3JjL0NvbGxhcHNpYmxlL0NvbGxhcHNpYmxlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBnZW5lcmF0ZVRhcmdldEVsZW1lbnRzID0gKCRjb250ZW50OiBKUXVlcnkpOiBKUXVlcnkgPT4ge1xuXHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgJGNvbnRlbnQuZmluZChcblx0XHQnLnBhcmVudC1jb2xsYXBzaWJsZSwgLnBhcmVudC1jb2xsYXBzaWJsZS11c2luZy1zbGlkZSwgLnBhcmVudC1jb2xsYXBzaWJsZS1uZXh0J1xuXHQpKSB7XG5cdFx0Y29uc3QgJHBhcmVudDogSlF1ZXJ5ID0gJChlbGVtZW50KS5wYXJlbnQoKTtcblx0XHRmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBlbGVtZW50LmNsYXNzTGlzdCkge1xuXHRcdFx0aWYgKGNsYXNzTmFtZS5zbGljZSgwLCAxOCkgPT09ICdwYXJlbnQtY29sbGFwc2libGUnKSB7XG5cdFx0XHRcdC8vIFRoZSBmb2xsb3dpbmcgY2xhc3NlcyBhcmUgdXNlZCBoZXJlOlxuXHRcdFx0XHQvLyAqIGNvbGxhcHNpYmxlXG5cdFx0XHRcdC8vICogY29sbGFwc2libGUtdXNpbmctc2xpZGVcblx0XHRcdFx0Ly8gKiBjb2xsYXBzaWJsZS1uZXh0XG5cdFx0XHRcdCRwYXJlbnQuYWRkQ2xhc3MoY2xhc3NOYW1lLnJlcGxhY2UoL15wYXJlbnQtLywgJycpKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQkY29udGVudC5maW5kKCcuY29sbGFwc2libGUtdXNpbmctc2xpZGUsIC5jb2xsYXBzaWJsZS1uZXh0JykuYWRkQ2xhc3MoJ2NvbGxhcHNpYmxlJyk7XG5cblx0Y29uc3QgJGNvbGxhcHNpYmxlczogSlF1ZXJ5ID0gJGNvbnRlbnQuZmluZCgnLmNvbGxhcHNpYmxlJyk7XG5cblx0cmV0dXJuICRjb2xsYXBzaWJsZXM7XG59O1xuXG5leHBvcnQge2dlbmVyYXRlVGFyZ2V0RWxlbWVudHN9O1xuIiwgImltcG9ydCB7Y2hlY2tBMTF5Q29uZmlybUtleX0gZnJvbSAnZXh0LmdhZGdldC5VdGlsJztcbmltcG9ydCB7dG9nZ2xlRWxlbWVudH0gZnJvbSAnLi91dGlsL3RvZ2dsZUVsZW1lbnQnO1xuXG5jb25zdCBhZGRMaXN0ZW5lciA9ICgkY29sbGFwc2libGU6IEpRdWVyeSwgJHRvZ2dsZXJMaW5rOiBKUXVlcnksIGhpZGVUZXh0OiBzdHJpbmcsIHNob3dUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcblx0Y29uc3QgZXZlbnRMaXN0ZW5lciA9IChldmVudDogSlF1ZXJ5LkNsaWNrRXZlbnQgfCBKUXVlcnkuS2V5RG93bkV2ZW50KTogdm9pZCA9PiB7XG5cdFx0aWYgKCFjaGVja0ExMXlDb25maXJtS2V5KGV2ZW50KSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cblx0XHR0b2dnbGVFbGVtZW50KCRjb2xsYXBzaWJsZSk7XG5cblx0XHRpZiAoJGNvbGxhcHNpYmxlLmhhc0NsYXNzKCdjb2xsYXBzZWQnKSkge1xuXHRcdFx0JHRvZ2dsZXJMaW5rLnRleHQoc2hvd1RleHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQkdG9nZ2xlckxpbmsudGV4dChoaWRlVGV4dCk7XG5cdFx0fVxuXHR9O1xuXG5cdCR0b2dnbGVyTGluay5vbignY2xpY2snLCBldmVudExpc3RlbmVyKTtcblx0JHRvZ2dsZXJMaW5rLm9uKCdrZXlkb3duJywgZXZlbnRMaXN0ZW5lcik7XG59O1xuXG5leHBvcnQge2FkZExpc3RlbmVyfTtcbiIsICIvLyDpmpDol4/mn5DkuKrlj6/mipjlj6DnmoTlhYPntKDjgIJcbmNvbnN0IGhpZGVFbGVtZW50ID0gKCRjb2xsYXBzaWJsZTogSlF1ZXJ5LCB0aW1lOiBudW1iZXIpOiB2b2lkID0+IHtcblx0Y29uc3QgdXNlU2xpZGU6IGJvb2xlYW4gPSAkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLXVzaW5nLXNsaWRlJyk7XG5cdGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLW5leHQnKSkge1xuXHRcdGNvbnN0ICRlbGVtZW50OiBKUXVlcnkgPSAkY29sbGFwc2libGUubmV4dCgpO1xuXG5cdFx0aWYgKHVzZVNsaWRlKSB7XG5cdFx0XHQkZWxlbWVudC5zbGlkZVVwKHRpbWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQkZWxlbWVudC5mYWRlT3V0KHRpbWUpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCAkZWxlbWVudHM6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5pcygndGFibGUnKVxuXHRcdFx0PyAkY29sbGFwc2libGUuY2hpbGRyZW4oKS5jaGlsZHJlbigndHInKVxuXHRcdFx0OiAoJGNvbGxhcHNpYmxlLmNvbnRlbnRzKCkgYXMgSlF1ZXJ5KTtcblxuXHRcdGZvciAoY29uc3QgZWxlbWVudCBvZiAkZWxlbWVudHMpIHtcblx0XHRcdGNvbnN0ICRlbGVtZW50OiBKUXVlcnkgPSAkKGVsZW1lbnQpO1xuXHRcdFx0aWYgKCRlbGVtZW50Lmhhc0NsYXNzKCdjb2xsYXBzaWJsZS1jYXNjYWRlJykpIHtcblx0XHRcdFx0aGlkZUVsZW1lbnQoJGVsZW1lbnQsIHRpbWUpO1xuXHRcdFx0fSBlbHNlIGlmICghJGVsZW1lbnQuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLWFsd2F5cy1zaG93JykpIHtcblx0XHRcdFx0aWYgKHVzZVNsaWRlKSB7XG5cdFx0XHRcdFx0JGVsZW1lbnQuc2xpZGVVcCh0aW1lKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQkZWxlbWVudC5mYWRlT3V0KHRpbWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59O1xuXG5leHBvcnQge2hpZGVFbGVtZW50fTtcbiIsICIvLyDmmL7npLrmn5DkuKrlj6/mipjlj6DnmoTlhYPntKDjgIJcbmNvbnN0IHNob3dFbGVtZW50ID0gKCRjb2xsYXBzaWJsZTogSlF1ZXJ5LCB0aW1lOiBudW1iZXIpOiB2b2lkID0+IHtcblx0Y29uc3QgdXNlU2xpZGU6IGJvb2xlYW4gPSAkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLXVzaW5nLXNsaWRlJyk7XG5cdGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLW5leHQnKSkge1xuXHRcdGNvbnN0ICRlbGVtZW50OiBKUXVlcnkgPSAkY29sbGFwc2libGUubmV4dCgpO1xuXG5cdFx0aWYgKHVzZVNsaWRlKSB7XG5cdFx0XHQkZWxlbWVudC5zbGlkZURvd24odGltZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRlbGVtZW50LmZhZGVJbih0aW1lKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29uc3QgJGVsZW1lbnRzOiBKUXVlcnkgPSAkY29sbGFwc2libGUuaXMoJ3RhYmxlJylcblx0XHRcdD8gJGNvbGxhcHNpYmxlLmNoaWxkcmVuKCkuY2hpbGRyZW4oJ3RyJylcblx0XHRcdDogKCRjb2xsYXBzaWJsZS5jb250ZW50cygpIGFzIEpRdWVyeSk7XG5cblx0XHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgJGVsZW1lbnRzKSB7XG5cdFx0XHRjb25zdCAkZWxlbWVudDogSlF1ZXJ5ID0gJChlbGVtZW50KTtcblx0XHRcdGlmICgkZWxlbWVudC5oYXNDbGFzcygnY29sbGFwc2libGUtY2FzY2FkZScpKSB7XG5cdFx0XHRcdHNob3dFbGVtZW50KCRlbGVtZW50LCB0aW1lKTtcblx0XHRcdH0gZWxzZSBpZiAoISRlbGVtZW50Lmhhc0NsYXNzKCdjb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpKSB7XG5cdFx0XHRcdGlmICh1c2VTbGlkZSkge1xuXHRcdFx0XHRcdCRlbGVtZW50LnNsaWRlRG93bih0aW1lKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQkZWxlbWVudC5mYWRlSW4odGltZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn07XG5cbmV4cG9ydCB7c2hvd0VsZW1lbnR9O1xuIiwgImltcG9ydCB7aGlkZUVsZW1lbnR9IGZyb20gJy4vaGlkZUVsZW1lbnQnO1xuaW1wb3J0IHtzaG93RWxlbWVudH0gZnJvbSAnLi9zaG93RWxlbWVudCc7XG5cbmNvbnN0IHRvZ2dsZUVsZW1lbnQgPSAoJGNvbGxhcHNpYmxlOiBKUXVlcnkpOiB2b2lkID0+IHtcblx0Y29uc3QgY29sbGFwc2VkOiBib29sZWFuID0gJGNvbGxhcHNpYmxlLmhhc0NsYXNzKCdjb2xsYXBzZWQnKTtcblx0Y29uc3QgZHVyYXRpb246IG51bWJlciA9IE51bWJlci5wYXJzZUludCgkY29sbGFwc2libGUuZGF0YSgnY29sbGFwc2UtZHVyYXRpb24nKSBhcyBzdHJpbmcsIDEwKSB8fCAyMDA7XG5cblx0aWYgKGNvbGxhcHNlZCkge1xuXHRcdHNob3dFbGVtZW50KCRjb2xsYXBzaWJsZSwgZHVyYXRpb24pO1xuXHRcdCRjb2xsYXBzaWJsZS5yZW1vdmVDbGFzcygnY29sbGFwc2VkJyk7XG5cdH0gZWxzZSB7XG5cdFx0aGlkZUVsZW1lbnQoJGNvbGxhcHNpYmxlLCBkdXJhdGlvbik7XG5cdFx0JGNvbGxhcHNpYmxlLmFkZENsYXNzKCdjb2xsYXBzZWQnKTtcblx0fVxufTtcblxuZXhwb3J0IHt0b2dnbGVFbGVtZW50fTtcbiIsICJjb25zdCBhZGRUb2dnbGVyID0gKCRjb2xsYXBzaWJsZTogSlF1ZXJ5LCAkdG9nZ2xlcjogSlF1ZXJ5KTogdm9pZCA9PiB7XG5cdGNvbnN0ICRhcHBlbmRIZXJlOiBKUXVlcnkgPSAkY29sbGFwc2libGVcblx0XHQuZmluZCgnLmNvbGxhcHNpYmxlLXRvZ2dsZS1hcHBlbmQtaGVyZScpXG5cdFx0Lm5vdCgnLmNvbGxhcHNpYmxlLXRvZ2dsZS1hcHBlbmRlZCcpO1xuXG5cdGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLW5leHQnKSkge1xuXHRcdC8vIOiLpeaciSBjb2xsYXBzaWJsZS1uZXh0IOexu++8jOmCo+S5iOiiq+aKmOWPoOeahOWFg+e0oOS4jeWcqOivpeWFg+e0oOWGhe+8jOatpOaXtuebtOaOpeWwhuaKmOWPoOaMiemSrua3u+WKoOWcqOacq+WwvuOAglxuXHRcdCRjb2xsYXBzaWJsZS5hcHBlbmQoJHRvZ2dsZXIpO1xuXHR9IGVsc2UgaWYgKCRhcHBlbmRIZXJlLmxlbmd0aCkge1xuXHRcdC8vIOW4puaciSBjb2xsYXBzaWJsZS10b2dnbGUtYXBwZW5kLWhlcmUg57G755qE5YWD57Sg77yM6Iul5a2Y5Zyo77yM5YiZ5peg6K665Y+v5oqY5Y+g5YWD57Sg5piv5LuA5LmI77yM5YiZ5by65Yi25bCG5oqY5Y+g5oyJ6ZKu5re75Yqg6Iez6K+l5YWD57Sg5Lit44CCXG5cdFx0JGFwcGVuZEhlcmUuYXBwZW5kKCR0b2dnbGVyKTtcblx0XHQkYXBwZW5kSGVyZS5hZGRDbGFzcygnY29sbGFwc2libGUtdG9nZ2xlLWFwcGVuZGVkJyk7XG5cdFx0JGFwcGVuZEhlcmUucGFyZW50c1VudGlsKCRjb2xsYXBzaWJsZSkuYWRkQ2xhc3MoJ2NvbGxhcHNpYmxlLWFsd2F5cy1zaG93Jyk7XG5cdH0gZWxzZSBpZiAoJGNvbGxhcHNpYmxlLmhhc0NsYXNzKCduYXZib3gnKSkge1xuXHRcdC8vIG5hdmJveCDlhYPntKDnmoTmipjlj6DmjInpkq7mt7vliqDoh7MgbmF2Ym94LXRpdGxlIOS4re+8jOS4lOivpSBuYXZib3gtdGl0bGUg5Lya6YG/5YWN6KKr5oqY5Y+g5b2x5ZON5Yiw44CCXG5cdFx0JGNvbGxhcHNpYmxlLmNoaWxkcmVuKCcubmF2Ym94LXRpdGxlJykuZmlyc3QoKS5hZGRDbGFzcygnY29sbGFwc2libGUtYWx3YXlzLXNob3cnKS5hcHBlbmQoJHRvZ2dsZXIpO1xuXHR9IGVsc2UgaWYgKCRjb2xsYXBzaWJsZS5oYXNDbGFzcygnTmF2RnJhbWUnKSkge1xuXHRcdC8vIE5hdkZyYW1lIOWFg+e0oOeahOaKmOWPoOaMiemSrua3u+WKoOiHs+WFtuWtkOWFg+e0oCBOYXZIZWFkIOS4re+8jOS4lOivpSBOYXZIZWFkIOS8mumBv+WFjeiiq+aKmOWPoOW9seWTjeWIsOOAglxuXHRcdCRjb2xsYXBzaWJsZS5jaGlsZHJlbignLk5hdkhlYWQnKS5maXJzdCgpLmFkZENsYXNzKCdjb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpLmFwcGVuZCgkdG9nZ2xlcik7XG5cdH0gZWxzZSBpZiAoJGNvbGxhcHNpYmxlLmlzKCd0YWJsZScpKSB7XG5cdFx0Ly8g5a+55LqOIHRhYmxlIOWvueixoe+8jOWwneivlea3u+WKoOWIsCBjYXB0aW9uIOS4re+8jOiLpSBjYXB0aW9uIOS4jeWtmOWcqO+8jOWImea3u+WKoOWIsOesrOS4gOihjOeahOacgOWQjuS4gOWIl++8jOW5tuWwhuesrOS4gOihjOiuvuS4uuWni+e7iOaYvuekuuOAglxuXHRcdGNvbnN0ICRjYXB0aW9uOiBKUXVlcnkgPSAkY29sbGFwc2libGUuY2hpbGRyZW4oJ2NhcHRpb24nKTtcblx0XHRpZiAoJGNhcHRpb24ubGVuZ3RoKSB7XG5cdFx0XHQvLyDmnIljYXB0aW9u55qE5oOF5Ya1XG5cdFx0XHQkY2FwdGlvbi5maXJzdCgpLmFwcGVuZCgkdG9nZ2xlcik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0ICR0cm93czogSlF1ZXJ5PEhUTUxUYWJsZVJvd0VsZW1lbnQ+ID0gJGNvbGxhcHNpYmxlLmNoaWxkcmVuKCkuY2hpbGRyZW4oJ3RyJyk7XG5cdFx0XHQkdHJvd3MuZmlyc3QoKS5hZGRDbGFzcygnY29sbGFwc2libGUtYWx3YXlzLXNob3cnKS5jaGlsZHJlbigpLmxhc3QoKS5hcHBlbmQoJHRvZ2dsZXIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHQvLyDlsJ3or5Xmn6Xmib7luKbmnIkgY29sbGFwc2libGUtYWx3YXlzLXNob3cg57G755qE5a2Q5YWD57Sg77yM6Iul5a2Y5Zyo5YiZ5bCG5oqY5Y+g5oyJ6ZKu5re75Yqg6Iez5YW25Lit44CCXG5cdFx0Ly8g5ZCm5YiZ77yM5re75Yqg6Iez5pW05Liq5Y+v5oqY5Y+g5YWD57Sg55qE5pyA5YmN6Z2i44CCXG5cdFx0Y29uc3QgJHRvVG9nZ2xlOiBKUXVlcnkgPSAkY29sbGFwc2libGUuY2hpbGRyZW4oJy5jb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpO1xuXHRcdGlmICgkdG9Ub2dnbGUubGVuZ3RoKSB7XG5cdFx0XHQkdG9Ub2dnbGUuZmlyc3QoKS5hcHBlbmQoJHRvZ2dsZXIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQkY29sbGFwc2libGUucHJlcGVuZCgkdG9nZ2xlcik7XG5cdFx0XHQkdG9nZ2xlci5hZGRDbGFzcygnY29sbGFwc2libGUtYWx3YXlzLXNob3cnKTtcblx0XHR9XG5cdH1cbn07XG5cbmV4cG9ydCB7YWRkVG9nZ2xlcn07XG4iLCAiaW1wb3J0IFJlYWN0IGZyb20gJ2V4dC5nYWRnZXQuUmVhY3QnO1xuaW1wb3J0IHt0b2dnbGVyfSBmcm9tICcuL0NvbGxhcHNpYmxlLm1vZHVsZS5sZXNzJztcblxuY29uc3QgZ2VuZXJhdGVUb2dnbGVyRWxlbWVudCA9ICgkY29sbGFwc2libGU6IEpRdWVyeSwgaGlkZVRleHQ6IHN0cmluZywgc2hvd1RleHQ6IHN0cmluZyk6IEpRdWVyeSA9PiB7XG5cdGNvbnN0ICR0b2dnbGVyID0gJChcblx0XHQ8c3BhbiBjbGFzc05hbWU9e1t0b2dnbGVyLCAnbm9wcmludCddfT5cblx0XHRcdHsnWyd9XG5cdFx0XHQ8YSByb2xlPVwiYnV0dG9uXCIgdGFiSW5kZXg9ezB9PlxuXHRcdFx0XHR7JGNvbGxhcHNpYmxlLmhhc0NsYXNzKCdjb2xsYXBzZWQnKSA/IHNob3dUZXh0IDogaGlkZVRleHR9XG5cdFx0XHQ8L2E+XG5cdFx0XHR7J10nfVxuXHRcdDwvc3Bhbj5cblx0KSBhcyBKUXVlcnk7XG5cblx0cmV0dXJuICR0b2dnbGVyO1xufTtcblxuZXhwb3J0IHtnZW5lcmF0ZVRvZ2dsZXJFbGVtZW50fTtcbiIsICJpbXBvcnQgXCJlc2J1aWxkLWNzcy1tb2R1bGVzLXBsdWdpbi1ucy1jc3M6c3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvdXRpbC9Db2xsYXBzaWJsZS5tb2R1bGUubGVzc1wiO1xuZXhwb3J0IGNvbnN0IHRvZ2dsZXIgPSBcIkNvbGxhcHNpYmxlLW1vZHVsZV9fdG9nZ2xlcl9rdk1HakdcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBcInRvZ2dsZXJcIjogdG9nZ2xlclxufTtcbiAgICAgICIsICJpbXBvcnQge2xvY2FsaXplfSBmcm9tICdleHQuZ2FkZ2V0LmkxOG4nO1xuXG5jb25zdCBnZXRJMThuTWVzc2FnZXMgPSAoKSA9PiB7XG5cdHJldHVybiB7XG5cdFx0Q29sbGFwc2U6IGxvY2FsaXplKHtcblx0XHRcdGVuOiAnY29sbGFwc2UnLFxuXHRcdFx0amE6ICfmipjjgornlbPjgb8nLFxuXHRcdFx0J3poLWhhbnMnOiAn5oqY5Y+gJyxcblx0XHRcdCd6aC1oYW50JzogJ+aKmOeWiicsXG5cdFx0fSksXG5cdFx0RXhwYW5kOiBsb2NhbGl6ZSh7XG5cdFx0XHRlbjogJ2V4cGFuZCcsXG5cdFx0XHRqYTogJ+WxlemWiycsXG5cdFx0XHQnemgtaGFucyc6ICflsZXlvIAnLFxuXHRcdFx0J3poLWhhbnQnOiAn5bGV6ZaLJyxcblx0XHR9KSxcblx0fTtcbn07XG5cbmNvbnN0IGkxOG5NZXNzYWdlcyA9IGdldEkxOG5NZXNzYWdlcygpO1xuXG5jb25zdCBnZXRNZXNzYWdlOiBHZXRNZXNzYWdlczx0eXBlb2YgaTE4bk1lc3NhZ2VzPiA9IChrZXkpID0+IHtcblx0cmV0dXJuIGkxOG5NZXNzYWdlc1trZXldIHx8IGtleTtcbn07XG5cbmV4cG9ydCB7Z2V0TWVzc2FnZX07XG4iLCAiaW1wb3J0IHthZGRMaXN0ZW5lcn0gZnJvbSAnLi9hZGRMaXN0ZW5lcic7XG5pbXBvcnQge2FkZFRvZ2dsZXJ9IGZyb20gJy4vYWRkVG9nZ2xlcic7XG5pbXBvcnQge2dlbmVyYXRlVG9nZ2xlckVsZW1lbnR9IGZyb20gJy4vdXRpbC9nZW5lcmF0ZVRvZ2dsZXJFbGVtZW50JztcbmltcG9ydCB7Z2V0TWVzc2FnZX0gZnJvbSAnLi9pMThuJztcbmltcG9ydCB7aGlkZUVsZW1lbnR9IGZyb20gJy4vdXRpbC9oaWRlRWxlbWVudCc7XG5cbmNvbnN0IG1ha2VDb2xsYXBzaWJsZSA9ICgkY29sbGFwc2libGVzOiBKUXVlcnkpOiB2b2lkID0+IHtcblx0Zm9yIChjb25zdCBlbGVtZW50IG9mICRjb2xsYXBzaWJsZXMpIHtcblx0XHRjb25zdCAkY29sbGFwc2libGU6IEpRdWVyeSA9ICQoZWxlbWVudCk7XG5cdFx0aWYgKCRjb2xsYXBzaWJsZS5kYXRhKCdtYWRlLWNvbGxhcHNpYmxlJykpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblxuXHRcdGNvbnN0IGhpZGVUZXh0OiBzdHJpbmcgPSAoJGNvbGxhcHNpYmxlLmRhdGEoJ2NvbGxhcHNldGV4dCcpIGFzIHN0cmluZykgfHwgZ2V0TWVzc2FnZSgnQ29sbGFwc2UnKTtcblx0XHRjb25zdCBzaG93VGV4dDogc3RyaW5nID0gKCRjb2xsYXBzaWJsZS5kYXRhKCdleHBhbmR0ZXh0JykgYXMgc3RyaW5nKSB8fCBnZXRNZXNzYWdlKCdFeHBhbmQnKTtcblxuXHRcdGNvbnN0ICR0b2dnbGVyOiBKUXVlcnkgPSBnZW5lcmF0ZVRvZ2dsZXJFbGVtZW50KCRjb2xsYXBzaWJsZSwgaGlkZVRleHQsIHNob3dUZXh0KTtcblx0XHRjb25zdCAkdG9nZ2xlckxpbms6IEpRdWVyeSA9ICR0b2dnbGVyLmZpbmQoJ2EnKTtcblxuXHRcdGFkZFRvZ2dsZXIoJGNvbGxhcHNpYmxlLCAkdG9nZ2xlcik7XG5cblx0XHQvLyDliJ3lp4vljJbpmpDol4/miYDmnInlhYPntKDvvIzor6Xov4fnqIvmsqHmnInliqjnlLvjgIJcblx0XHRpZiAoJGNvbGxhcHNpYmxlLmhhc0NsYXNzKCdjb2xsYXBzZWQnKSkge1xuXHRcdFx0aGlkZUVsZW1lbnQoJGNvbGxhcHNpYmxlLCAwKTtcblx0XHR9XG5cblx0XHRhZGRMaXN0ZW5lcigkY29sbGFwc2libGUsICR0b2dnbGVyTGluaywgaGlkZVRleHQsIHNob3dUZXh0KTtcblxuXHRcdCRjb2xsYXBzaWJsZS5kYXRhKCdtYWRlLWNvbGxhcHNpYmxlJywgdHJ1ZSk7XG5cdH1cbn07XG5cbmV4cG9ydCB7bWFrZUNvbGxhcHNpYmxlfTtcbiIsICJjb25zdCBuYXZGcmFtZSA9ICgkY29udGVudDogSlF1ZXJ5KTogdm9pZCA9PiB7XG5cdC8vIOWIoOmZpCBOYXZGcmFtZSDlhYPntKDoh6rluKbnmoTmipjlj6DjgIJcblx0Zm9yIChjb25zdCBlbGVtZW50IG9mICRjb250ZW50LmZpbmQ8SFRNTFNwYW5FbGVtZW50PignLk5hdlRvZ2dsZSwgLnRvZ2dsZVNob3csIC50b2dnbGVIaWRlLCAuTmF2RW5kJykpIHtcblx0XHRlbGVtZW50LnJlbW92ZSgpO1xuXHR9XG5cblx0Ly8g5Li6IE5hdkZyYW1lIOWFg+e0oOa3u+WKoCBjb2xsYXBzaWJsZeOAglxuXHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgJGNvbnRlbnQuZmluZDxIVE1MRGl2RWxlbWVudD4oJy5OYXZGcmFtZSwgLkJveG1lcmdlJykpIHtcblx0XHRpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2xsYXBzaWJsZScpKSB7XG5cdFx0XHRlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbGxhcHNpYmxlJyk7XG5cdFx0fVxuXG5cdFx0aWYgKCFlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnQm94bWVyZ2UnKSkge1xuXHRcdFx0ZWxlbWVudC5jbGFzc0xpc3QucmVwbGFjZSgnQm94bWVyZ2UnLCAnTmF2RnJhbWUnKTtcblx0XHR9XG5cdH1cblxuXHQvLyDlpoLmnpwgTmF2Q29udGVudCDmiJYgTmF2UGljIOWFg+e0oOiiq+makOiXj++8jOWImee7meeItuWFg+e0oCBOYXZGcmFtZSDmt7vliqAgY29sbGFwc2Vk44CCXG5cdGZvciAoY29uc3QgZWxlbWVudCBvZiAkY29udGVudC5maW5kPEhUTUxEaXZFbGVtZW50PignLk5hdkNvbnRlbnQsIC5OYXZQaWMnKSkge1xuXHRcdGlmIChlbGVtZW50LnN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0aWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCAmJiBlbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdOYXZGcmFtZScpKSB7XG5cdFx0XHRlbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY29sbGFwc2VkJyk7XG5cdFx0fVxuXHR9XG59O1xuXG5leHBvcnQge25hdkZyYW1lfTtcbiIsICIvKiFcbiAqIEBkZXNjcmlwdGlvbiDkuLrlhYPntKDmt7vliqDigJzpmpDol4/igJ3lkozigJzmmL7npLrigJ3nmoTmjInpkq7jgIJcbiAqXG4gKiDnlKjms5Xor7TmmI7vvJpcbiAqXG4gKiDluKbmnIkgY29sbGFwc2libGUg57G755qE5YWD57Sg6buY6K6k5Y+v5oqY5Y+g44CCXG4gKiAtIOWvueS6jiBuYXZib3jvvIzmipjlj6Dml7bkvJrkv53nlZnmoIfpopjmoI/vvIzlubblsIbmipjlj6DmjInpkq7mt7vliqDlnKjmoIfpopjmoI/kuK3jgIJcbiAqIC0g5a+55LqOIHRhYmxl77yM5oqY5Y+g5pe25Lya5L+d55WZIGNhcHRpb24g5oiW56ys5LiA6KGM77yM5bm25bCG5oqY5Y+g5oyJ6ZKu5re75Yqg5ZyoIGNhcHRpb24g5pyr5bC+XG4gKiAgIOaIluiAheesrOS4gOihjOacgOWQjuS4gOagvOacq+WwvuOAglxuICogLSDlr7nkuo7lhbbku5blhYPntKDvvIxcbiAqICAgLSDoi6XlhbblrZDlhYPntKDmnInluKbmnIkgY29sbGFwc2libGUtYWx3YXlzLXNob3cg57G777yM6YKj5LmI6Zmk5LqG6K+l5a2Q5YWD57Sg5LmL5aSW55qE5ZCE5LiqXG4gKiAgIOWtkOWFg+e0oOmDveS8mumaj+aKmOWPoOmakOiXj++8jOS4lOaKmOWPoOaMiemSrua3u+WKoOWcqOivpeWtkOWFg+e0oOacq+WwvuOAglxuICogICAtIOiLpeayoeacieWtkOWFg+e0oOW4puaciSBjb2xsYXBzaWJsZS1hbHdheXMtc2hvdyDnsbvvvIzpgqPkuYjmiYDmnInlrZDlhYPntKDpg73kvJrooqvmipjlj6DvvIxcbiAqICAg5oqY5Y+g5oyJ6ZKu5re75Yqg5Zyo5pW05LiqIGNvbGxhcHNpYmxlIOWFg+e0oOeahOW8gOWktO+8jOS4lOivpeaMiemSruS4jeS8mumaj+aKmOWPoOmakOiXj+OAglxuICogICAtIOiLpeWtkOWFg+e0oOW4puaciSBjb2xsYXBzaWJsZS1jYXNjYWRlIOexu++8jOmCo+S5iOW9k+aKmOWPoOaXtu+8jOivpeWFg+e0oOiHqui6q+S4jeaYr+makOiXj++8jFxuICogICDogIzmmK/pmpDol4/lhbbmiYDmnInnmoTlrZDlhYPntKDvvIzov5nkupvlrZDlhYPntKDlkIzmoLflj6/ku6Xlj5cgY29sbGFwc2libGUtYWx3YXlzLXNob3cg5ZKMXG4gKiAgIGNvbGxhcHNpYmxlLWNhc2NhZGUg57G755qE5b2x5ZON44CCXG4gKiAgIC0g5rOo5oSP5b+F6aG75piv5a2Q5YWD57Sg77yM55u05o6l55qE5paH5pys6IqC54K55LiN5Lya6ZqP5oqY5Y+g6ZqQ6JeP77yM5L6L5aaC77yaXG4gKiAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNpYmxlXCI+MTIzPHNwYW4+NDU2PC9zcGFuPjwvZGl2PlxuICogICDmipjlj6Dml7bvvIzigJw0NTbigJ3kvJrpmo/mipjlj6DpmpDol4/vvIzkvYbigJwxMjPigJ3kuI3kvJrjgIJcbiAqIC0g6Iul5bim5pyJIGNvbGxhcHNpYmxlLXVzaW5nLXNsaWRlIOexu++8jOmCo+S5iOaKmOWPoOaXtu+8jOS9v+eUqOa7keWKqOWKqOeUu+iAjOmdnua3oeWFpea3oeWHuueahFxuICogICDliqjnlLvjgILlu7rorq7lvZPlj6rmnInkuIDkuKrlhYPntKDkvJrooqvpmpDol4/ml7bvvIzmiY3liqDmraTnsbvjgIJcbiAqICAgLSDluKbmnIkgY29sbGFwc2libGUtdXNpbmctc2xpZGUg57G755qE5YWD57Sg5Lya6Ieq5Yqo5bim5pyJIGNvbGxhcHNpYmxlIOexu+OAglxuICogLSDoi6XluKbmnIkgY29sbGFwc2libGUtbmV4dCDnsbvvvIzpgqPkuYjlhbbmipjlj6DnmoTkuI3mmK/lhbboh6rouqvnmoTlrZDlhYPntKDvvIzogIzmmK/mipjlj6DntKfpmo9cbiAqICAg5YW25ZCO55qE5LiA5Liq5YWD57Sg44CCXG4gKiAgIC0g6L+Z56eN5oOF5Ya15LiL77yM5oqY5Y+g5oyJ6ZKu6buY6K6k6ZmE5Zyo6K+lIGNvbGxhcHNpYmxlLW5leHQg5YWD57Sg55qE5pyr5bC+44CCXG4gKiAgIC0g5bim5pyJIGNvbGxhcHNpYmxlLW5leHQg57G755qE5YWD57Sg5Lya6Ieq5Yqo5bim5pyJIGNvbGxhcHNpYmxlIOexu+OAglxuICogLSBkYXRhLWNvbGxhcHNlLWR1cmF0aW9uIOWxnuaAp+WPr+S7peiuvue9ruaKmOWPoOWKqOeUu+eahOaXtumVv++8jOm7mOiupOS4uiAyMDAg5q+r56eS44CCXG4gKiAtIOW4puaciSBjb2xsYXBzZWQg57G755qE5YWD57Sg5Yid5aeL5bCx5piv5bey5oqY5Y+g55qE44CCXG4gKiAtIGRhdGEtZXhwYW5kdGV4dCDlkowgZGF0YS1jb2xsYXBzZXRleHQg5Y+v55So5LqO5o6n5Yi25oqY5Y+g5oyJ6ZKu55qE5pi+56S65paH5a2X44CC5LiN5pSv5oyBXG4gKiAgIOe5geeugOi9rOaNou+8jOS9huaYr+WFtum7mOiupOWAvOaYr+WPr+S7peato+W4uOagueaNrueVjOmdouivreiogOe5geeugOi9rOaNoueahOOAglxuICovXG5pbXBvcnQge2dlbmVyYXRlVGFyZ2V0RWxlbWVudHN9IGZyb20gJy4vbW9kdWxlcy91dGlsL2dlbmVyYXRlVGFyZ2V0RWxlbWVudHMnO1xuaW1wb3J0IHttYWtlQ29sbGFwc2libGV9IGZyb20gJy4vbW9kdWxlcy9tYWtlQ29sbGFwc2libGUnO1xuaW1wb3J0IHtuYXZGcmFtZX0gZnJvbSAnLi9tb2R1bGVzL25hdkZyYW1lJztcblxubXcuaG9vaygnd2lraXBhZ2UuY29udGVudCcpLmFkZCgoJGNvbnRlbnQpOiB2b2lkID0+IHtcblx0Ly8gY29tcGF0aWJsZSB3aXRoIG9sZCBuYXZGcmFtZXMgKHNlZSB7e0hpZGVIfX0gYW5kIHt7SGlkZUZ9fSlcblx0bmF2RnJhbWUoJGNvbnRlbnQpO1xuXG5cdGNvbnN0ICRjb2xsYXBzaWJsZXM6IEpRdWVyeSA9IGdlbmVyYXRlVGFyZ2V0RWxlbWVudHMoJGNvbnRlbnQpO1xuXHRpZiAoISRjb2xsYXBzaWJsZXMubGVuZ3RoKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0bWFrZUNvbGxhcHNpYmxlKCRjb2xsYXBzaWJsZXMpO1xufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQU1BLHlCQUEwQkMsY0FBNkI7QUFBQSxNQUFBQyxhQUFBQywyQkFDdENGLFNBQVNHLEtBQzlCLGdGQUNELENBQUEsR0FBQUM7QUFBQSxNQUFBO0FBRkEsU0FB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UTtBQUVqQixRQUFNdUIsZ0JBQXdCeEIsdUJBQXVCQyxRQUFRO0FBQzdELE1BQUksQ0FBQ3VCLGNBQWM2QyxRQUFRO0FBQzFCO0VBQ0Q7QUFFQTBCLGtCQUFnQnZFLGFBQWE7QUFDOUIsQ0FBQzsiLAogICJuYW1lcyI6IFsiZ2VuZXJhdGVUYXJnZXRFbGVtZW50cyIsICIkY29udGVudCIsICJfaXRlcmF0b3IyIiwgIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwgImZpbmQiLCAiX3N0ZXAyIiwgInMiLCAibiIsICJkb25lIiwgImVsZW1lbnQiLCAidmFsdWUiLCAiJHBhcmVudCIsICIkIiwgInBhcmVudCIsICJfaXRlcmF0b3IzIiwgImNsYXNzTGlzdCIsICJfc3RlcDMiLCAiY2xhc3NOYW1lIiwgInNsaWNlIiwgImFkZENsYXNzIiwgInJlcGxhY2UiLCAiZXJyIiwgImUiLCAiZiIsICIkY29sbGFwc2libGVzIiwgImltcG9ydF9leHRfZ2FkZ2V0IiwgInJlcXVpcmUiLCAiaGlkZUVsZW1lbnQiLCAiJGNvbGxhcHNpYmxlIiwgInRpbWUiLCAidXNlU2xpZGUiLCAiaGFzQ2xhc3MiLCAiJGVsZW1lbnQiLCAibmV4dCIsICJzbGlkZVVwIiwgImZhZGVPdXQiLCAiJGVsZW1lbnRzIiwgImlzIiwgImNoaWxkcmVuIiwgImNvbnRlbnRzIiwgIl9pdGVyYXRvcjQiLCAiX3N0ZXA0IiwgInNob3dFbGVtZW50IiwgInNsaWRlRG93biIsICJmYWRlSW4iLCAiX2l0ZXJhdG9yNSIsICJfc3RlcDUiLCAidG9nZ2xlRWxlbWVudCIsICJjb2xsYXBzZWQiLCAiZHVyYXRpb24iLCAiTnVtYmVyIiwgInBhcnNlSW50IiwgImRhdGEiLCAicmVtb3ZlQ2xhc3MiLCAiYWRkTGlzdGVuZXIiLCAiJHRvZ2dsZXJMaW5rIiwgImhpZGVUZXh0IiwgInNob3dUZXh0IiwgImV2ZW50TGlzdGVuZXIiLCAiZXZlbnQiLCAiY2hlY2tBMTF5Q29uZmlybUtleSIsICJwcmV2ZW50RGVmYXVsdCIsICJ0ZXh0IiwgIm9uIiwgImFkZFRvZ2dsZXIiLCAiJHRvZ2dsZXIiLCAiJGFwcGVuZEhlcmUiLCAibm90IiwgImFwcGVuZCIsICJsZW5ndGgiLCAicGFyZW50c1VudGlsIiwgImZpcnN0IiwgIiRjYXB0aW9uIiwgIiR0cm93cyIsICJsYXN0IiwgIiR0b1RvZ2dsZSIsICJwcmVwZW5kIiwgImltcG9ydF9leHRfZ2FkZ2V0MiIsICJfX3RvRVNNIiwgInRvZ2dsZXIiLCAiZ2VuZXJhdGVUb2dnbGVyRWxlbWVudCIsICJkZWZhdWx0IiwgImNyZWF0ZUVsZW1lbnQiLCAicm9sZSIsICJ0YWJJbmRleCIsICJpbXBvcnRfZXh0X2dhZGdldDMiLCAiZ2V0STE4bk1lc3NhZ2VzIiwgIkNvbGxhcHNlIiwgImxvY2FsaXplIiwgImVuIiwgImphIiwgIkV4cGFuZCIsICJpMThuTWVzc2FnZXMiLCAiZ2V0TWVzc2FnZSIsICJrZXkiLCAibWFrZUNvbGxhcHNpYmxlIiwgIl9pdGVyYXRvcjYiLCAiX3N0ZXA2IiwgIm5hdkZyYW1lIiwgIl9pdGVyYXRvcjciLCAiX3N0ZXA3IiwgInJlbW92ZSIsICJfaXRlcmF0b3I4IiwgIl9zdGVwOCIsICJjb250YWlucyIsICJhZGQiLCAiX2l0ZXJhdG9yOSIsICJfc3RlcDkiLCAic3R5bGUiLCAiZGlzcGxheSIsICJwYXJlbnRFbGVtZW50IiwgIm13IiwgImhvb2siXQp9Cg==
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvdXRpbC9nZW5lcmF0ZVRhcmdldEVsZW1lbnRzLnRzIiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL2FkZExpc3RlbmVyLnRzIiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL3V0aWwvaGlkZUVsZW1lbnQudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvdXRpbC9zaG93RWxlbWVudC50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy91dGlsL3RvZ2dsZUVsZW1lbnQudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvYWRkVG9nZ2xlci50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy91dGlsL2dlbmVyYXRlVG9nZ2xlckVsZW1lbnQudHN4IiwgInNyYy9Db2xsYXBzaWJsZS9tb2R1bGVzL3V0aWwvQ29sbGFwc2libGUubW9kdWxlLmxlc3MiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvaTE4bi50cyIsICJzcmMvQ29sbGFwc2libGUvbW9kdWxlcy9tYWtlQ29sbGFwc2libGUudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvbmF2RnJhbWUudHMiLCAic3JjL0NvbGxhcHNpYmxlL21vZHVsZXMvYWRkSG9vay50cyIsICJzcmMvQ29sbGFwc2libGUvQ29sbGFwc2libGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IGdlbmVyYXRlVGFyZ2V0RWxlbWVudHMgPSAoJGNvbnRlbnQ6IEpRdWVyeSk6IEpRdWVyeSA9PiB7XG5cdGZvciAoY29uc3QgZWxlbWVudCBvZiAkY29udGVudC5maW5kKFxuXHRcdCcucGFyZW50LWNvbGxhcHNpYmxlLCAucGFyZW50LWNvbGxhcHNpYmxlLXVzaW5nLXNsaWRlLCAucGFyZW50LWNvbGxhcHNpYmxlLW5leHQnXG5cdCkpIHtcblx0XHRjb25zdCAkcGFyZW50OiBKUXVlcnkgPSAkKGVsZW1lbnQpLnBhcmVudCgpO1xuXHRcdGZvciAoY29uc3QgY2xhc3NOYW1lIG9mIGVsZW1lbnQuY2xhc3NMaXN0KSB7XG5cdFx0XHRpZiAoY2xhc3NOYW1lLnNsaWNlKDAsIDE4KSA9PT0gJ3BhcmVudC1jb2xsYXBzaWJsZScpIHtcblx0XHRcdFx0Ly8gVGhlIGZvbGxvd2luZyBjbGFzc2VzIGFyZSB1c2VkIGhlcmU6XG5cdFx0XHRcdC8vICogY29sbGFwc2libGVcblx0XHRcdFx0Ly8gKiBjb2xsYXBzaWJsZS11c2luZy1zbGlkZVxuXHRcdFx0XHQvLyAqIGNvbGxhcHNpYmxlLW5leHRcblx0XHRcdFx0JHBhcmVudC5hZGRDbGFzcyhjbGFzc05hbWUucmVwbGFjZSgvXnBhcmVudC0vLCAnJykpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCRjb250ZW50LmZpbmQoJy5jb2xsYXBzaWJsZS11c2luZy1zbGlkZSwgLmNvbGxhcHNpYmxlLW5leHQnKS5hZGRDbGFzcygnY29sbGFwc2libGUnKTtcblxuXHRjb25zdCAkY29sbGFwc2libGVzOiBKUXVlcnkgPSAkY29udGVudC5maW5kKCcuY29sbGFwc2libGUnKTtcblxuXHRyZXR1cm4gJGNvbGxhcHNpYmxlcztcbn07XG5cbmV4cG9ydCB7Z2VuZXJhdGVUYXJnZXRFbGVtZW50c307XG4iLCAiaW1wb3J0IHtjaGVja0ExMXlDb25maXJtS2V5fSBmcm9tICdleHQuZ2FkZ2V0LlV0aWwnO1xuaW1wb3J0IHt0b2dnbGVFbGVtZW50fSBmcm9tICcuL3V0aWwvdG9nZ2xlRWxlbWVudCc7XG5cbmNvbnN0IGFkZExpc3RlbmVyID0gKCRjb2xsYXBzaWJsZTogSlF1ZXJ5LCAkdG9nZ2xlckxpbms6IEpRdWVyeSwgaGlkZVRleHQ6IHN0cmluZywgc2hvd1RleHQ6IHN0cmluZyk6IHZvaWQgPT4ge1xuXHRjb25zdCBldmVudExpc3RlbmVyID0gKGV2ZW50OiBKUXVlcnkuQ2xpY2tFdmVudCB8IEpRdWVyeS5LZXlEb3duRXZlbnQpOiB2b2lkID0+IHtcblx0XHRpZiAoIWNoZWNrQTExeUNvbmZpcm1LZXkoZXZlbnQpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdHRvZ2dsZUVsZW1lbnQoJGNvbGxhcHNpYmxlKTtcblxuXHRcdGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNlZCcpKSB7XG5cdFx0XHQkdG9nZ2xlckxpbmsudGV4dChzaG93VGV4dCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCR0b2dnbGVyTGluay50ZXh0KGhpZGVUZXh0KTtcblx0XHR9XG5cdH07XG5cblx0JHRvZ2dsZXJMaW5rLm9uKCdjbGljaycsIGV2ZW50TGlzdGVuZXIpO1xuXHQkdG9nZ2xlckxpbmsub24oJ2tleWRvd24nLCBldmVudExpc3RlbmVyKTtcbn07XG5cbmV4cG9ydCB7YWRkTGlzdGVuZXJ9O1xuIiwgIi8vIOmakOiXj+afkOS4quWPr+aKmOWPoOeahOWFg+e0oOOAglxuY29uc3QgaGlkZUVsZW1lbnQgPSAoJGNvbGxhcHNpYmxlOiBKUXVlcnksIHRpbWU6IG51bWJlcik6IHZvaWQgPT4ge1xuXHRjb25zdCB1c2VTbGlkZTogYm9vbGVhbiA9ICRjb2xsYXBzaWJsZS5oYXNDbGFzcygnY29sbGFwc2libGUtdXNpbmctc2xpZGUnKTtcblx0aWYgKCRjb2xsYXBzaWJsZS5oYXNDbGFzcygnY29sbGFwc2libGUtbmV4dCcpKSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQ6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5uZXh0KCk7XG5cblx0XHRpZiAodXNlU2xpZGUpIHtcblx0XHRcdCRlbGVtZW50LnNsaWRlVXAodGltZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRlbGVtZW50LmZhZGVPdXQodGltZSk7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdGNvbnN0ICRlbGVtZW50czogSlF1ZXJ5ID0gJGNvbGxhcHNpYmxlLmlzKCd0YWJsZScpXG5cdFx0XHQ/ICRjb2xsYXBzaWJsZS5jaGlsZHJlbigpLmNoaWxkcmVuKCd0cicpXG5cdFx0XHQ6ICgkY29sbGFwc2libGUuY29udGVudHMoKSBhcyBKUXVlcnkpO1xuXG5cdFx0Zm9yIChjb25zdCBlbGVtZW50IG9mICRlbGVtZW50cykge1xuXHRcdFx0Y29uc3QgJGVsZW1lbnQ6IEpRdWVyeSA9ICQoZWxlbWVudCk7XG5cdFx0XHRpZiAoJGVsZW1lbnQuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLWNhc2NhZGUnKSkge1xuXHRcdFx0XHRoaWRlRWxlbWVudCgkZWxlbWVudCwgdGltZSk7XG5cdFx0XHR9IGVsc2UgaWYgKCEkZWxlbWVudC5oYXNDbGFzcygnY29sbGFwc2libGUtYWx3YXlzLXNob3cnKSkge1xuXHRcdFx0XHRpZiAodXNlU2xpZGUpIHtcblx0XHRcdFx0XHQkZWxlbWVudC5zbGlkZVVwKHRpbWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCRlbGVtZW50LmZhZGVPdXQodGltZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn07XG5cbmV4cG9ydCB7aGlkZUVsZW1lbnR9O1xuIiwgIi8vIOaYvuekuuafkOS4quWPr+aKmOWPoOeahOWFg+e0oOOAglxuY29uc3Qgc2hvd0VsZW1lbnQgPSAoJGNvbGxhcHNpYmxlOiBKUXVlcnksIHRpbWU6IG51bWJlcik6IHZvaWQgPT4ge1xuXHRjb25zdCB1c2VTbGlkZTogYm9vbGVhbiA9ICRjb2xsYXBzaWJsZS5oYXNDbGFzcygnY29sbGFwc2libGUtdXNpbmctc2xpZGUnKTtcblx0aWYgKCRjb2xsYXBzaWJsZS5oYXNDbGFzcygnY29sbGFwc2libGUtbmV4dCcpKSB7XG5cdFx0Y29uc3QgJGVsZW1lbnQ6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5uZXh0KCk7XG5cblx0XHRpZiAodXNlU2xpZGUpIHtcblx0XHRcdCRlbGVtZW50LnNsaWRlRG93bih0aW1lKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0JGVsZW1lbnQuZmFkZUluKHRpbWUpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCAkZWxlbWVudHM6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5pcygndGFibGUnKVxuXHRcdFx0PyAkY29sbGFwc2libGUuY2hpbGRyZW4oKS5jaGlsZHJlbigndHInKVxuXHRcdFx0OiAoJGNvbGxhcHNpYmxlLmNvbnRlbnRzKCkgYXMgSlF1ZXJ5KTtcblxuXHRcdGZvciAoY29uc3QgZWxlbWVudCBvZiAkZWxlbWVudHMpIHtcblx0XHRcdGNvbnN0ICRlbGVtZW50OiBKUXVlcnkgPSAkKGVsZW1lbnQpO1xuXHRcdFx0aWYgKCRlbGVtZW50Lmhhc0NsYXNzKCdjb2xsYXBzaWJsZS1jYXNjYWRlJykpIHtcblx0XHRcdFx0c2hvd0VsZW1lbnQoJGVsZW1lbnQsIHRpbWUpO1xuXHRcdFx0fSBlbHNlIGlmICghJGVsZW1lbnQuaGFzQ2xhc3MoJ2NvbGxhcHNpYmxlLWFsd2F5cy1zaG93JykpIHtcblx0XHRcdFx0aWYgKHVzZVNsaWRlKSB7XG5cdFx0XHRcdFx0JGVsZW1lbnQuc2xpZGVEb3duKHRpbWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCRlbGVtZW50LmZhZGVJbih0aW1lKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufTtcblxuZXhwb3J0IHtzaG93RWxlbWVudH07XG4iLCAiaW1wb3J0IHtoaWRlRWxlbWVudH0gZnJvbSAnLi9oaWRlRWxlbWVudCc7XG5pbXBvcnQge3Nob3dFbGVtZW50fSBmcm9tICcuL3Nob3dFbGVtZW50JztcblxuY29uc3QgdG9nZ2xlRWxlbWVudCA9ICgkY29sbGFwc2libGU6IEpRdWVyeSk6IHZvaWQgPT4ge1xuXHRjb25zdCBjb2xsYXBzZWQ6IGJvb2xlYW4gPSAkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNlZCcpO1xuXHRjb25zdCBkdXJhdGlvbjogbnVtYmVyID0gTnVtYmVyLnBhcnNlSW50KCRjb2xsYXBzaWJsZS5kYXRhKCdjb2xsYXBzZS1kdXJhdGlvbicpIGFzIHN0cmluZywgMTApIHx8IDIwMDtcblxuXHRpZiAoY29sbGFwc2VkKSB7XG5cdFx0c2hvd0VsZW1lbnQoJGNvbGxhcHNpYmxlLCBkdXJhdGlvbik7XG5cdFx0JGNvbGxhcHNpYmxlLnJlbW92ZUNsYXNzKCdjb2xsYXBzZWQnKTtcblx0fSBlbHNlIHtcblx0XHRoaWRlRWxlbWVudCgkY29sbGFwc2libGUsIGR1cmF0aW9uKTtcblx0XHQkY29sbGFwc2libGUuYWRkQ2xhc3MoJ2NvbGxhcHNlZCcpO1xuXHR9XG59O1xuXG5leHBvcnQge3RvZ2dsZUVsZW1lbnR9O1xuIiwgImNvbnN0IGFkZFRvZ2dsZXIgPSAoJGNvbGxhcHNpYmxlOiBKUXVlcnksICR0b2dnbGVyOiBKUXVlcnkpOiB2b2lkID0+IHtcblx0Y29uc3QgJGFwcGVuZEhlcmU6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZVxuXHRcdC5maW5kKCcuY29sbGFwc2libGUtdG9nZ2xlLWFwcGVuZC1oZXJlJylcblx0XHQubm90KCcuY29sbGFwc2libGUtdG9nZ2xlLWFwcGVuZGVkJyk7XG5cblx0aWYgKCRjb2xsYXBzaWJsZS5oYXNDbGFzcygnY29sbGFwc2libGUtbmV4dCcpKSB7XG5cdFx0Ly8g6Iul5pyJIGNvbGxhcHNpYmxlLW5leHQg57G777yM6YKj5LmI6KKr5oqY5Y+g55qE5YWD57Sg5LiN5Zyo6K+l5YWD57Sg5YaF77yM5q2k5pe255u05o6l5bCG5oqY5Y+g5oyJ6ZKu5re75Yqg5Zyo5pyr5bC+44CCXG5cdFx0JGNvbGxhcHNpYmxlLmFwcGVuZCgkdG9nZ2xlcik7XG5cdH0gZWxzZSBpZiAoJGFwcGVuZEhlcmUubGVuZ3RoKSB7XG5cdFx0Ly8g5bim5pyJIGNvbGxhcHNpYmxlLXRvZ2dsZS1hcHBlbmQtaGVyZSDnsbvnmoTlhYPntKDvvIzoi6XlrZjlnKjvvIzliJnml6Dorrrlj6/mipjlj6DlhYPntKDmmK/ku4DkuYjvvIzliJnlvLrliLblsIbmipjlj6DmjInpkq7mt7vliqDoh7Por6XlhYPntKDkuK3jgIJcblx0XHQkYXBwZW5kSGVyZS5hcHBlbmQoJHRvZ2dsZXIpO1xuXHRcdCRhcHBlbmRIZXJlLmFkZENsYXNzKCdjb2xsYXBzaWJsZS10b2dnbGUtYXBwZW5kZWQnKTtcblx0XHQkYXBwZW5kSGVyZS5wYXJlbnRzVW50aWwoJGNvbGxhcHNpYmxlKS5hZGRDbGFzcygnY29sbGFwc2libGUtYWx3YXlzLXNob3cnKTtcblx0fSBlbHNlIGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ25hdmJveCcpKSB7XG5cdFx0Ly8gbmF2Ym94IOWFg+e0oOeahOaKmOWPoOaMiemSrua3u+WKoOiHsyBuYXZib3gtdGl0bGUg5Lit77yM5LiU6K+lIG5hdmJveC10aXRsZSDkvJrpgb/lhY3ooqvmipjlj6DlvbHlk43liLDjgIJcblx0XHQkY29sbGFwc2libGUuY2hpbGRyZW4oJy5uYXZib3gtdGl0bGUnKS5maXJzdCgpLmFkZENsYXNzKCdjb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpLmFwcGVuZCgkdG9nZ2xlcik7XG5cdH0gZWxzZSBpZiAoJGNvbGxhcHNpYmxlLmhhc0NsYXNzKCdOYXZGcmFtZScpKSB7XG5cdFx0Ly8gTmF2RnJhbWUg5YWD57Sg55qE5oqY5Y+g5oyJ6ZKu5re75Yqg6Iez5YW25a2Q5YWD57SgIE5hdkhlYWQg5Lit77yM5LiU6K+lIE5hdkhlYWQg5Lya6YG/5YWN6KKr5oqY5Y+g5b2x5ZON5Yiw44CCXG5cdFx0JGNvbGxhcHNpYmxlLmNoaWxkcmVuKCcuTmF2SGVhZCcpLmZpcnN0KCkuYWRkQ2xhc3MoJ2NvbGxhcHNpYmxlLWFsd2F5cy1zaG93JykuYXBwZW5kKCR0b2dnbGVyKTtcblx0fSBlbHNlIGlmICgkY29sbGFwc2libGUuaXMoJ3RhYmxlJykpIHtcblx0XHQvLyDlr7nkuo4gdGFibGUg5a+56LGh77yM5bCd6K+V5re75Yqg5YiwIGNhcHRpb24g5Lit77yM6IulIGNhcHRpb24g5LiN5a2Y5Zyo77yM5YiZ5re75Yqg5Yiw56ys5LiA6KGM55qE5pyA5ZCO5LiA5YiX77yM5bm25bCG56ys5LiA6KGM6K6+5Li65aeL57uI5pi+56S644CCXG5cdFx0Y29uc3QgJGNhcHRpb246IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5jaGlsZHJlbignY2FwdGlvbicpO1xuXHRcdGlmICgkY2FwdGlvbi5sZW5ndGgpIHtcblx0XHRcdC8vIOaciWNhcHRpb27nmoTmg4XlhrVcblx0XHRcdCRjYXB0aW9uLmZpcnN0KCkuYXBwZW5kKCR0b2dnbGVyKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgJHRyb3dzOiBKUXVlcnk8SFRNTFRhYmxlUm93RWxlbWVudD4gPSAkY29sbGFwc2libGUuY2hpbGRyZW4oKS5jaGlsZHJlbigndHInKTtcblx0XHRcdCR0cm93cy5maXJzdCgpLmFkZENsYXNzKCdjb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpLmNoaWxkcmVuKCkubGFzdCgpLmFwcGVuZCgkdG9nZ2xlcik7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdC8vIOWwneivleafpeaJvuW4puaciSBjb2xsYXBzaWJsZS1hbHdheXMtc2hvdyDnsbvnmoTlrZDlhYPntKDvvIzoi6XlrZjlnKjliJnlsIbmipjlj6DmjInpkq7mt7vliqDoh7PlhbbkuK3jgIJcblx0XHQvLyDlkKbliJnvvIzmt7vliqDoh7PmlbTkuKrlj6/mipjlj6DlhYPntKDnmoTmnIDliY3pnaLjgIJcblx0XHRjb25zdCAkdG9Ub2dnbGU6IEpRdWVyeSA9ICRjb2xsYXBzaWJsZS5jaGlsZHJlbignLmNvbGxhcHNpYmxlLWFsd2F5cy1zaG93Jyk7XG5cdFx0aWYgKCR0b1RvZ2dsZS5sZW5ndGgpIHtcblx0XHRcdCR0b1RvZ2dsZS5maXJzdCgpLmFwcGVuZCgkdG9nZ2xlcik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdCRjb2xsYXBzaWJsZS5wcmVwZW5kKCR0b2dnbGVyKTtcblx0XHRcdCR0b2dnbGVyLmFkZENsYXNzKCdjb2xsYXBzaWJsZS1hbHdheXMtc2hvdycpO1xuXHRcdH1cblx0fVxufTtcblxuZXhwb3J0IHthZGRUb2dnbGVyfTtcbiIsICJpbXBvcnQgUmVhY3QgZnJvbSAnZXh0LmdhZGdldC5SZWFjdCc7XG5pbXBvcnQge3RvZ2dsZXJ9IGZyb20gJy4vQ29sbGFwc2libGUubW9kdWxlLmxlc3MnO1xuXG5jb25zdCBnZW5lcmF0ZVRvZ2dsZXJFbGVtZW50ID0gKCRjb2xsYXBzaWJsZTogSlF1ZXJ5LCBoaWRlVGV4dDogc3RyaW5nLCBzaG93VGV4dDogc3RyaW5nKTogSlF1ZXJ5ID0+IHtcblx0Y29uc3QgJHRvZ2dsZXIgPSAkKFxuXHRcdDxzcGFuIGNsYXNzTmFtZT17W3RvZ2dsZXIsICdub3ByaW50J119PlxuXHRcdFx0eydbJ31cblx0XHRcdDxhIHJvbGU9XCJidXR0b25cIiB0YWJJbmRleD17MH0+XG5cdFx0XHRcdHskY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNlZCcpID8gc2hvd1RleHQgOiBoaWRlVGV4dH1cblx0XHRcdDwvYT5cblx0XHRcdHsnXSd9XG5cdFx0PC9zcGFuPlxuXHQpIGFzIEpRdWVyeTtcblxuXHRyZXR1cm4gJHRvZ2dsZXI7XG59O1xuXG5leHBvcnQge2dlbmVyYXRlVG9nZ2xlckVsZW1lbnR9O1xuIiwgImltcG9ydCBcImVzYnVpbGQtY3NzLW1vZHVsZXMtcGx1Z2luLW5zLWNzczpzcmMvQ29sbGFwc2libGUvbW9kdWxlcy91dGlsL0NvbGxhcHNpYmxlLm1vZHVsZS5sZXNzXCI7XG5leHBvcnQgY29uc3QgdG9nZ2xlciA9IFwiQ29sbGFwc2libGUtbW9kdWxlX190b2dnbGVyX2t2TUdqR1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIFwidG9nZ2xlclwiOiB0b2dnbGVyXG59O1xuICAgICAgIiwgImltcG9ydCB7bG9jYWxpemV9IGZyb20gJ2V4dC5nYWRnZXQuaTE4bic7XG5cbmNvbnN0IGdldEkxOG5NZXNzYWdlcyA9ICgpID0+IHtcblx0cmV0dXJuIHtcblx0XHRDb2xsYXBzZTogbG9jYWxpemUoe1xuXHRcdFx0ZW46ICdjb2xsYXBzZScsXG5cdFx0XHRqYTogJ+aKmOOCiueVs+OBvycsXG5cdFx0XHQnemgtaGFucyc6ICfmipjlj6AnLFxuXHRcdFx0J3poLWhhbnQnOiAn5oqY55aKJyxcblx0XHR9KSxcblx0XHRFeHBhbmQ6IGxvY2FsaXplKHtcblx0XHRcdGVuOiAnZXhwYW5kJyxcblx0XHRcdGphOiAn5bGV6ZaLJyxcblx0XHRcdCd6aC1oYW5zJzogJ+WxleW8gCcsXG5cdFx0XHQnemgtaGFudCc6ICflsZXplosnLFxuXHRcdH0pLFxuXHR9O1xufTtcblxuY29uc3QgaTE4bk1lc3NhZ2VzID0gZ2V0STE4bk1lc3NhZ2VzKCk7XG5cbmNvbnN0IGdldE1lc3NhZ2U6IEdldE1lc3NhZ2VzPHR5cGVvZiBpMThuTWVzc2FnZXM+ID0gKGtleSkgPT4ge1xuXHRyZXR1cm4gaTE4bk1lc3NhZ2VzW2tleV0gfHwga2V5O1xufTtcblxuZXhwb3J0IHtnZXRNZXNzYWdlfTtcbiIsICJpbXBvcnQge2FkZExpc3RlbmVyfSBmcm9tICcuL2FkZExpc3RlbmVyJztcbmltcG9ydCB7YWRkVG9nZ2xlcn0gZnJvbSAnLi9hZGRUb2dnbGVyJztcbmltcG9ydCB7Z2VuZXJhdGVUb2dnbGVyRWxlbWVudH0gZnJvbSAnLi91dGlsL2dlbmVyYXRlVG9nZ2xlckVsZW1lbnQnO1xuaW1wb3J0IHtnZXRNZXNzYWdlfSBmcm9tICcuL2kxOG4nO1xuaW1wb3J0IHtoaWRlRWxlbWVudH0gZnJvbSAnLi91dGlsL2hpZGVFbGVtZW50JztcblxuY29uc3QgbWFrZUNvbGxhcHNpYmxlID0gKCRjb2xsYXBzaWJsZXM6IEpRdWVyeSk6IHZvaWQgPT4ge1xuXHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgJGNvbGxhcHNpYmxlcykge1xuXHRcdGNvbnN0ICRjb2xsYXBzaWJsZTogSlF1ZXJ5ID0gJChlbGVtZW50KTtcblx0XHRpZiAoJGNvbGxhcHNpYmxlLmRhdGEoJ21hZGUtY29sbGFwc2libGUnKSkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaGlkZVRleHQ6IHN0cmluZyA9ICgkY29sbGFwc2libGUuZGF0YSgnY29sbGFwc2V0ZXh0JykgYXMgc3RyaW5nKSB8fCBnZXRNZXNzYWdlKCdDb2xsYXBzZScpO1xuXHRcdGNvbnN0IHNob3dUZXh0OiBzdHJpbmcgPSAoJGNvbGxhcHNpYmxlLmRhdGEoJ2V4cGFuZHRleHQnKSBhcyBzdHJpbmcpIHx8IGdldE1lc3NhZ2UoJ0V4cGFuZCcpO1xuXG5cdFx0Y29uc3QgJHRvZ2dsZXI6IEpRdWVyeSA9IGdlbmVyYXRlVG9nZ2xlckVsZW1lbnQoJGNvbGxhcHNpYmxlLCBoaWRlVGV4dCwgc2hvd1RleHQpO1xuXHRcdGNvbnN0ICR0b2dnbGVyTGluazogSlF1ZXJ5ID0gJHRvZ2dsZXIuZmluZCgnYScpO1xuXG5cdFx0YWRkVG9nZ2xlcigkY29sbGFwc2libGUsICR0b2dnbGVyKTtcblxuXHRcdC8vIOWIneWni+WMlumakOiXj+aJgOacieWFg+e0oO+8jOivpei/h+eoi+ayoeacieWKqOeUu+OAglxuXHRcdGlmICgkY29sbGFwc2libGUuaGFzQ2xhc3MoJ2NvbGxhcHNlZCcpKSB7XG5cdFx0XHRoaWRlRWxlbWVudCgkY29sbGFwc2libGUsIDApO1xuXHRcdH1cblxuXHRcdGFkZExpc3RlbmVyKCRjb2xsYXBzaWJsZSwgJHRvZ2dsZXJMaW5rLCBoaWRlVGV4dCwgc2hvd1RleHQpO1xuXG5cdFx0JGNvbGxhcHNpYmxlLmRhdGEoJ21hZGUtY29sbGFwc2libGUnLCB0cnVlKTtcblx0fVxufTtcblxuZXhwb3J0IHttYWtlQ29sbGFwc2libGV9O1xuIiwgImNvbnN0IG5hdkZyYW1lID0gKCRjb250ZW50OiBKUXVlcnkpOiB2b2lkID0+IHtcblx0Ly8g5Yig6ZmkIE5hdkZyYW1lIOWFg+e0oOiHquW4pueahOaKmOWPoOOAglxuXHRmb3IgKGNvbnN0IGVsZW1lbnQgb2YgJGNvbnRlbnQuZmluZDxIVE1MU3BhbkVsZW1lbnQ+KCcuTmF2VG9nZ2xlLCAudG9nZ2xlU2hvdywgLnRvZ2dsZUhpZGUsIC5OYXZFbmQnKSkge1xuXHRcdGVsZW1lbnQucmVtb3ZlKCk7XG5cdH1cblxuXHQvLyDkuLogTmF2RnJhbWUg5YWD57Sg5re75YqgIGNvbGxhcHNpYmxl44CCXG5cdGZvciAoY29uc3QgZWxlbWVudCBvZiAkY29udGVudC5maW5kPEhUTUxEaXZFbGVtZW50PignLk5hdkZyYW1lLCAuQm94bWVyZ2UnKSkge1xuXHRcdGlmICghZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2NvbGxhcHNpYmxlJykpIHtcblx0XHRcdGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY29sbGFwc2libGUnKTtcblx0XHR9XG5cblx0XHRpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdCb3htZXJnZScpKSB7XG5cdFx0XHRlbGVtZW50LmNsYXNzTGlzdC5yZXBsYWNlKCdCb3htZXJnZScsICdOYXZGcmFtZScpO1xuXHRcdH1cblx0fVxuXG5cdC8vIOWmguaenCBOYXZDb250ZW50IOaIliBOYXZQaWMg5YWD57Sg6KKr6ZqQ6JeP77yM5YiZ57uZ54i25YWD57SgIE5hdkZyYW1lIOa3u+WKoCBjb2xsYXBzZWTjgIJcblx0Zm9yIChjb25zdCBlbGVtZW50IG9mICRjb250ZW50LmZpbmQ8SFRNTERpdkVsZW1lbnQ+KCcuTmF2Q29udGVudCwgLk5hdlBpYycpKSB7XG5cdFx0aWYgKGVsZW1lbnQuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnKSB7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIGVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ05hdkZyYW1lJykpIHtcblx0XHRcdGVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb2xsYXBzZWQnKTtcblx0XHR9XG5cdH1cbn07XG5cbmV4cG9ydCB7bmF2RnJhbWV9O1xuIiwgImltcG9ydCB7Z2VuZXJhdGVUYXJnZXRFbGVtZW50c30gZnJvbSAnLi91dGlsL2dlbmVyYXRlVGFyZ2V0RWxlbWVudHMnO1xuaW1wb3J0IHttYWtlQ29sbGFwc2libGV9IGZyb20gJy4vbWFrZUNvbGxhcHNpYmxlJztcbmltcG9ydCB7bmF2RnJhbWV9IGZyb20gJy4vbmF2RnJhbWUnO1xuXG5jb25zdCBhZGRIb29rID0gKCk6IHZvaWQgPT4ge1xuXHRtdy5ob29rKCd3aWtpcGFnZS5jb250ZW50JykuYWRkKCgkY29udGVudCk6IHZvaWQgPT4ge1xuXHRcdC8vIGNvbXBhdGlibGUgd2l0aCBvbGQgbmF2RnJhbWVzIChzZWUge3tIaWRlSH19IGFuZCB7e0hpZGVGfX0pXG5cdFx0bmF2RnJhbWUoJGNvbnRlbnQpO1xuXG5cdFx0Y29uc3QgJGNvbGxhcHNpYmxlczogSlF1ZXJ5ID0gZ2VuZXJhdGVUYXJnZXRFbGVtZW50cygkY29udGVudCk7XG5cdFx0aWYgKCEkY29sbGFwc2libGVzLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdG1ha2VDb2xsYXBzaWJsZSgkY29sbGFwc2libGVzKTtcblx0fSk7XG59O1xuXG5leHBvcnQge2FkZEhvb2t9O1xuIiwgIi8qIVxuICog5Li65YWD57Sg5re75Yqg4oCc6ZqQ6JeP4oCd5ZKM4oCc5pi+56S64oCd55qE5oyJ6ZKu44CCXG4gKlxuICog55So5rOV6K+05piO77yaXG4gKlxuICog5bim5pyJIGNvbGxhcHNpYmxlIOexu+eahOWFg+e0oOm7mOiupOWPr+aKmOWPoOOAglxuICogLSDlr7nkuo4gbmF2Ym9477yM5oqY5Y+g5pe25Lya5L+d55WZ5qCH6aKY5qCP77yM5bm25bCG5oqY5Y+g5oyJ6ZKu5re75Yqg5Zyo5qCH6aKY5qCP5Lit44CCXG4gKiAtIOWvueS6jiB0YWJsZe+8jOaKmOWPoOaXtuS8muS/neeVmSBjYXB0aW9uIOaIluesrOS4gOihjO+8jOW5tuWwhuaKmOWPoOaMiemSrua3u+WKoOWcqCBjYXB0aW9uIOacq+WwvlxuICogICDmiJbogIXnrKzkuIDooYzmnIDlkI7kuIDmoLzmnKvlsL7jgIJcbiAqIC0g5a+55LqO5YW25LuW5YWD57Sg77yMXG4gKiAgIC0g6Iul5YW25a2Q5YWD57Sg5pyJ5bim5pyJIGNvbGxhcHNpYmxlLWFsd2F5cy1zaG93IOexu++8jOmCo+S5iOmZpOS6huivpeWtkOWFg+e0oOS5i+WklueahOWQhOS4qlxuICogICDlrZDlhYPntKDpg73kvJrpmo/mipjlj6DpmpDol4/vvIzkuJTmipjlj6DmjInpkq7mt7vliqDlnKjor6XlrZDlhYPntKDmnKvlsL7jgIJcbiAqICAgLSDoi6XmsqHmnInlrZDlhYPntKDluKbmnIkgY29sbGFwc2libGUtYWx3YXlzLXNob3cg57G777yM6YKj5LmI5omA5pyJ5a2Q5YWD57Sg6YO95Lya6KKr5oqY5Y+g77yMXG4gKiAgIOaKmOWPoOaMiemSrua3u+WKoOWcqOaVtOS4qiBjb2xsYXBzaWJsZSDlhYPntKDnmoTlvIDlpLTvvIzkuJTor6XmjInpkq7kuI3kvJrpmo/mipjlj6DpmpDol4/jgIJcbiAqICAgLSDoi6XlrZDlhYPntKDluKbmnIkgY29sbGFwc2libGUtY2FzY2FkZSDnsbvvvIzpgqPkuYjlvZPmipjlj6Dml7bvvIzor6XlhYPntKDoh6rouqvkuI3mmK/pmpDol4/vvIxcbiAqICAg6ICM5piv6ZqQ6JeP5YW25omA5pyJ55qE5a2Q5YWD57Sg77yM6L+Z5Lqb5a2Q5YWD57Sg5ZCM5qC35Y+v5Lul5Y+XIGNvbGxhcHNpYmxlLWFsd2F5cy1zaG93IOWSjFxuICogICBjb2xsYXBzaWJsZS1jYXNjYWRlIOexu+eahOW9seWTjeOAglxuICogICAtIOazqOaEj+W/hemhu+aYr+WtkOWFg+e0oO+8jOebtOaOpeeahOaWh+acrOiKgueCueS4jeS8mumaj+aKmOWPoOmakOiXj++8jOS+i+Wmgu+8mlxuICogICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzaWJsZVwiPjEyMzxzcGFuPjQ1Njwvc3Bhbj48L2Rpdj5cbiAqICAg5oqY5Y+g5pe277yM4oCcNDU24oCd5Lya6ZqP5oqY5Y+g6ZqQ6JeP77yM5L2G4oCcMTIz4oCd5LiN5Lya44CCXG4gKiAtIOiLpeW4puaciSBjb2xsYXBzaWJsZS11c2luZy1zbGlkZSDnsbvvvIzpgqPkuYjmipjlj6Dml7bvvIzkvb/nlKjmu5HliqjliqjnlLvogIzpnZ7mt6HlhaXmt6Hlh7rnmoRcbiAqICAg5Yqo55S744CC5bu66K6u5b2T5Y+q5pyJ5LiA5Liq5YWD57Sg5Lya6KKr6ZqQ6JeP5pe277yM5omN5Yqg5q2k57G744CCXG4gKiAgIC0g5bim5pyJIGNvbGxhcHNpYmxlLXVzaW5nLXNsaWRlIOexu+eahOWFg+e0oOS8muiHquWKqOW4puaciSBjb2xsYXBzaWJsZSDnsbvjgIJcbiAqIC0g6Iul5bim5pyJIGNvbGxhcHNpYmxlLW5leHQg57G777yM6YKj5LmI5YW25oqY5Y+g55qE5LiN5piv5YW26Ieq6Lqr55qE5a2Q5YWD57Sg77yM6ICM5piv5oqY5Y+g57Sn6ZqPXG4gKiAgIOWFtuWQjueahOS4gOS4quWFg+e0oOOAglxuICogICAtIOi/meenjeaDheWGteS4i++8jOaKmOWPoOaMiemSrum7mOiupOmZhOWcqOivpSBjb2xsYXBzaWJsZS1uZXh0IOWFg+e0oOeahOacq+WwvuOAglxuICogICAtIOW4puaciSBjb2xsYXBzaWJsZS1uZXh0IOexu+eahOWFg+e0oOS8muiHquWKqOW4puaciSBjb2xsYXBzaWJsZSDnsbvjgIJcbiAqIC0gZGF0YS1jb2xsYXBzZS1kdXJhdGlvbiDlsZ7mgKflj6/ku6Xorr7nva7mipjlj6DliqjnlLvnmoTml7bplb/vvIzpu5jorqTkuLogMjAwIOavq+enkuOAglxuICogLSDluKbmnIkgY29sbGFwc2VkIOexu+eahOWFg+e0oOWIneWni+WwseaYr+W3suaKmOWPoOeahOOAglxuICogLSBkYXRhLWV4cGFuZHRleHQg5ZKMIGRhdGEtY29sbGFwc2V0ZXh0IOWPr+eUqOS6juaOp+WItuaKmOWPoOaMiemSrueahOaYvuekuuaWh+Wtl+OAguS4jeaUr+aMgVxuICogICDnuYHnroDovazmjaLvvIzkvYbmmK/lhbbpu5jorqTlgLzmmK/lj6/ku6XmraPluLjmoLnmja7nlYzpnaLor63oqIDnuYHnroDovazmjaLnmoTjgIJcbiAqL1xuaW1wb3J0IHthZGRIb29rfSBmcm9tICcuL21vZHVsZXMvYWRkSG9vayc7XG5cbmFkZEhvb2soKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QSxVQUFBO0FBQUFxRixlQUFBbkYsRUFBQTtFQUFBO0FBQ0Q7O0FDdkJBLElBQU13RixVQUFVQSxNQUFZO0FBQzNCQyxLQUFHQyxLQUFLLGtCQUFrQixFQUFFUixJQUFLeEcsY0FBbUI7QUFFbkRpRyxhQUFTakcsUUFBUTtBQUVqQixVQUFNdUIsZ0JBQXdCeEIsdUJBQXVCQyxRQUFRO0FBQzdELFFBQUksQ0FBQ3VCLGNBQWM2QyxRQUFRO0FBQzFCO0lBQ0Q7QUFFQTBCLG9CQUFnQnZFLGFBQWE7RUFDOUIsQ0FBQztBQUNGOztBQ2hCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0F1RixRQUFROyIsCiAgIm5hbWVzIjogWyJnZW5lcmF0ZVRhcmdldEVsZW1lbnRzIiwgIiRjb250ZW50IiwgIl9pdGVyYXRvcjIiLCAiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCAiZmluZCIsICJfc3RlcDIiLCAicyIsICJuIiwgImRvbmUiLCAiZWxlbWVudCIsICJ2YWx1ZSIsICIkcGFyZW50IiwgIiQiLCAicGFyZW50IiwgIl9pdGVyYXRvcjMiLCAiY2xhc3NMaXN0IiwgIl9zdGVwMyIsICJjbGFzc05hbWUiLCAic2xpY2UiLCAiYWRkQ2xhc3MiLCAicmVwbGFjZSIsICJlcnIiLCAiZSIsICJmIiwgIiRjb2xsYXBzaWJsZXMiLCAiaW1wb3J0X2V4dF9nYWRnZXQiLCAicmVxdWlyZSIsICJoaWRlRWxlbWVudCIsICIkY29sbGFwc2libGUiLCAidGltZSIsICJ1c2VTbGlkZSIsICJoYXNDbGFzcyIsICIkZWxlbWVudCIsICJuZXh0IiwgInNsaWRlVXAiLCAiZmFkZU91dCIsICIkZWxlbWVudHMiLCAiaXMiLCAiY2hpbGRyZW4iLCAiY29udGVudHMiLCAiX2l0ZXJhdG9yNCIsICJfc3RlcDQiLCAic2hvd0VsZW1lbnQiLCAic2xpZGVEb3duIiwgImZhZGVJbiIsICJfaXRlcmF0b3I1IiwgIl9zdGVwNSIsICJ0b2dnbGVFbGVtZW50IiwgImNvbGxhcHNlZCIsICJkdXJhdGlvbiIsICJOdW1iZXIiLCAicGFyc2VJbnQiLCAiZGF0YSIsICJyZW1vdmVDbGFzcyIsICJhZGRMaXN0ZW5lciIsICIkdG9nZ2xlckxpbmsiLCAiaGlkZVRleHQiLCAic2hvd1RleHQiLCAiZXZlbnRMaXN0ZW5lciIsICJldmVudCIsICJjaGVja0ExMXlDb25maXJtS2V5IiwgInByZXZlbnREZWZhdWx0IiwgInRleHQiLCAib24iLCAiYWRkVG9nZ2xlciIsICIkdG9nZ2xlciIsICIkYXBwZW5kSGVyZSIsICJub3QiLCAiYXBwZW5kIiwgImxlbmd0aCIsICJwYXJlbnRzVW50aWwiLCAiZmlyc3QiLCAiJGNhcHRpb24iLCAiJHRyb3dzIiwgImxhc3QiLCAiJHRvVG9nZ2xlIiwgInByZXBlbmQiLCAiaW1wb3J0X2V4dF9nYWRnZXQyIiwgIl9fdG9FU00iLCAidG9nZ2xlciIsICJnZW5lcmF0ZVRvZ2dsZXJFbGVtZW50IiwgImRlZmF1bHQiLCAiY3JlYXRlRWxlbWVudCIsICJyb2xlIiwgInRhYkluZGV4IiwgImltcG9ydF9leHRfZ2FkZ2V0MyIsICJnZXRJMThuTWVzc2FnZXMiLCAiQ29sbGFwc2UiLCAibG9jYWxpemUiLCAiZW4iLCAiamEiLCAiRXhwYW5kIiwgImkxOG5NZXNzYWdlcyIsICJnZXRNZXNzYWdlIiwgImtleSIsICJtYWtlQ29sbGFwc2libGUiLCAiX2l0ZXJhdG9yNiIsICJfc3RlcDYiLCAibmF2RnJhbWUiLCAiX2l0ZXJhdG9yNyIsICJfc3RlcDciLCAicmVtb3ZlIiwgIl9pdGVyYXRvcjgiLCAiX3N0ZXA4IiwgImNvbnRhaW5zIiwgImFkZCIsICJfaXRlcmF0b3I5IiwgIl9zdGVwOSIsICJzdHlsZSIsICJkaXNwbGF5IiwgInBhcmVudEVsZW1lbnQiLCAiYWRkSG9vayIsICJtdyIsICJob29rIl0KfQo=