{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\utils\\index.js","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\utils\\index.js","mtime":1634007166891},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiRjovd29ya3NwYWNlL2djeS9SSy1odG1sL1JLLXByb2plY3QvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZiI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3BsaXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5mcm9tLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnNldC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLm1hdGNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0IHsgcGFyc2VUaW1lIH0gZnJvbSAnLi9ydW95aSc7Ci8qKgogKiDooajmoLzml7bpl7TmoLzlvI/ljJYKICovCgpleHBvcnQgZnVuY3Rpb24gZm9ybWF0RGF0ZShjZWxsVmFsdWUpIHsKICBpZiAoY2VsbFZhbHVlID09IG51bGwgfHwgY2VsbFZhbHVlID09ICIiKSByZXR1cm4gIiI7CiAgdmFyIGRhdGUgPSBuZXcgRGF0ZShjZWxsVmFsdWUpOwogIHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOwogIHZhciBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDE7CiAgdmFyIGRheSA9IGRhdGUuZ2V0RGF0ZSgpIDwgMTAgPyAnMCcgKyBkYXRlLmdldERhdGUoKSA6IGRhdGUuZ2V0RGF0ZSgpOwogIHZhciBob3VycyA9IGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRIb3VycygpIDogZGF0ZS5nZXRIb3VycygpOwogIHZhciBtaW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0TWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCk7CiAgdmFyIHNlY29uZHMgPSBkYXRlLmdldFNlY29uZHMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRTZWNvbmRzKCkgOiBkYXRlLmdldFNlY29uZHMoKTsKICByZXR1cm4geWVhciArICctJyArIG1vbnRoICsgJy0nICsgZGF5ICsgJyAnICsgaG91cnMgKyAnOicgKyBtaW51dGVzICsgJzonICsgc2Vjb25kczsKfQovKioKICogQHBhcmFtIHtudW1iZXJ9IHRpbWUKICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbgogKiBAcmV0dXJucyB7c3RyaW5nfQogKi8KCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lKHRpbWUsIG9wdGlvbikgewogIGlmICgoJycgKyB0aW1lKS5sZW5ndGggPT09IDEwKSB7CiAgICB0aW1lID0gcGFyc2VJbnQodGltZSkgKiAxMDAwOwogIH0gZWxzZSB7CiAgICB0aW1lID0gK3RpbWU7CiAgfQoKICB2YXIgZCA9IG5ldyBEYXRlKHRpbWUpOwogIHZhciBub3cgPSBEYXRlLm5vdygpOwogIHZhciBkaWZmID0gKG5vdyAtIGQpIC8gMTAwMDsKCiAgaWYgKGRpZmYgPCAzMCkgewogICAgcmV0dXJuICfliJrliJonOwogIH0gZWxzZSBpZiAoZGlmZiA8IDM2MDApIHsKICAgIC8vIGxlc3MgMSBob3VyCiAgICByZXR1cm4gTWF0aC5jZWlsKGRpZmYgLyA2MCkgKyAn5YiG6ZKf5YmNJzsKICB9IGVsc2UgaWYgKGRpZmYgPCAzNjAwICogMjQpIHsKICAgIHJldHVybiBNYXRoLmNlaWwoZGlmZiAvIDM2MDApICsgJ+Wwj+aXtuWJjSc7CiAgfSBlbHNlIGlmIChkaWZmIDwgMzYwMCAqIDI0ICogMikgewogICAgcmV0dXJuICcx5aSp5YmNJzsKICB9CgogIGlmIChvcHRpb24pIHsKICAgIHJldHVybiBwYXJzZVRpbWUodGltZSwgb3B0aW9uKTsKICB9IGVsc2UgewogICAgcmV0dXJuIGQuZ2V0TW9udGgoKSArIDEgKyAn5pyIJyArIGQuZ2V0RGF0ZSgpICsgJ+aXpScgKyBkLmdldEhvdXJzKCkgKyAn5pe2JyArIGQuZ2V0TWludXRlcygpICsgJ+WIhic7CiAgfQp9Ci8qKgogKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAqIEByZXR1cm5zIHtPYmplY3R9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5T2JqZWN0KHVybCkgewogIHVybCA9IHVybCA9PSBudWxsID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiB1cmw7CiAgdmFyIHNlYXJjaCA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCc/JykgKyAxKTsKICB2YXIgb2JqID0ge307CiAgdmFyIHJlZyA9IC8oW14/Jj1dKyk9KFtePyY9XSopL2c7CiAgc2VhcmNoLnJlcGxhY2UocmVnLCBmdW5jdGlvbiAocnMsICQxLCAkMikgewogICAgdmFyIG5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQoJDEpOwogICAgdmFyIHZhbCA9IGRlY29kZVVSSUNvbXBvbmVudCgkMik7CiAgICB2YWwgPSBTdHJpbmcodmFsKTsKICAgIG9ialtuYW1lXSA9IHZhbDsKICAgIHJldHVybiByczsKICB9KTsKICByZXR1cm4gb2JqOwp9Ci8qKgogKiBAcGFyYW0ge3N0cmluZ30gaW5wdXQgdmFsdWUKICogQHJldHVybnMge251bWJlcn0gb3V0cHV0IHZhbHVlCiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGJ5dGVMZW5ndGgoc3RyKSB7CiAgLy8gcmV0dXJucyB0aGUgYnl0ZSBsZW5ndGggb2YgYW4gdXRmOCBzdHJpbmcKICB2YXIgcyA9IHN0ci5sZW5ndGg7CgogIGZvciAodmFyIGkgPSBzdHIubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgIHZhciBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7CiAgICBpZiAoY29kZSA+IDB4N2YgJiYgY29kZSA8PSAweDdmZikgcysrO2Vsc2UgaWYgKGNvZGUgPiAweDdmZiAmJiBjb2RlIDw9IDB4ZmZmZikgcyArPSAyOwogICAgaWYgKGNvZGUgPj0gMHhEQzAwICYmIGNvZGUgPD0gMHhERkZGKSBpLS07CiAgfQoKICByZXR1cm4gczsKfQovKioKICogQHBhcmFtIHtBcnJheX0gYWN0dWFsCiAqIEByZXR1cm5zIHtBcnJheX0KICovCgpleHBvcnQgZnVuY3Rpb24gY2xlYW5BcnJheShhY3R1YWwpIHsKICB2YXIgbmV3QXJyYXkgPSBbXTsKCiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3R1YWwubGVuZ3RoOyBpKyspIHsKICAgIGlmIChhY3R1YWxbaV0pIHsKICAgICAgbmV3QXJyYXkucHVzaChhY3R1YWxbaV0pOwogICAgfQogIH0KCiAgcmV0dXJuIG5ld0FycmF5Owp9Ci8qKgogKiBAcGFyYW0ge09iamVjdH0ganNvbgogKiBAcmV0dXJucyB7QXJyYXl9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHBhcmFtKGpzb24pIHsKICBpZiAoIWpzb24pIHJldHVybiAnJzsKICByZXR1cm4gY2xlYW5BcnJheShPYmplY3Qua2V5cyhqc29uKS5tYXAoZnVuY3Rpb24gKGtleSkgewogICAgaWYgKGpzb25ba2V5XSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gJyc7CiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGtleSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQoanNvbltrZXldKTsKICB9KSkuam9pbignJicpOwp9Ci8qKgogKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAqIEByZXR1cm5zIHtPYmplY3R9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIHBhcmFtMk9iaih1cmwpIHsKICB2YXIgc2VhcmNoID0gZGVjb2RlVVJJQ29tcG9uZW50KHVybC5zcGxpdCgnPycpWzFdKS5yZXBsYWNlKC9cKy9nLCAnICcpOwoKICBpZiAoIXNlYXJjaCkgewogICAgcmV0dXJuIHt9OwogIH0KCiAgdmFyIG9iaiA9IHt9OwogIHZhciBzZWFyY2hBcnIgPSBzZWFyY2guc3BsaXQoJyYnKTsKICBzZWFyY2hBcnIuZm9yRWFjaChmdW5jdGlvbiAodikgewogICAgdmFyIGluZGV4ID0gdi5pbmRleE9mKCc9Jyk7CgogICAgaWYgKGluZGV4ICE9PSAtMSkgewogICAgICB2YXIgbmFtZSA9IHYuc3Vic3RyaW5nKDAsIGluZGV4KTsKICAgICAgdmFyIHZhbCA9IHYuc3Vic3RyaW5nKGluZGV4ICsgMSwgdi5sZW5ndGgpOwogICAgICBvYmpbbmFtZV0gPSB2YWw7CiAgICB9CiAgfSk7CiAgcmV0dXJuIG9iajsKfQovKioKICogQHBhcmFtIHtzdHJpbmd9IHZhbAogKiBAcmV0dXJucyB7c3RyaW5nfQogKi8KCmV4cG9ydCBmdW5jdGlvbiBodG1sMlRleHQodmFsKSB7CiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogIGRpdi5pbm5lckhUTUwgPSB2YWw7CiAgcmV0dXJuIGRpdi50ZXh0Q29udGVudCB8fCBkaXYuaW5uZXJUZXh0Owp9Ci8qKgogKiBNZXJnZXMgdHdvIG9iamVjdHMsIGdpdmluZyB0aGUgbGFzdCBvbmUgcHJlY2VkZW5jZQogKiBAcGFyYW0ge09iamVjdH0gdGFyZ2V0CiAqIEBwYXJhbSB7KE9iamVjdHxBcnJheSl9IHNvdXJjZQogKiBAcmV0dXJucyB7T2JqZWN0fQogKi8KCmV4cG9ydCBmdW5jdGlvbiBvYmplY3RNZXJnZSh0YXJnZXQsIHNvdXJjZSkgewogIGlmIChfdHlwZW9mKHRhcmdldCkgIT09ICdvYmplY3QnKSB7CiAgICB0YXJnZXQgPSB7fTsKICB9CgogIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHsKICAgIHJldHVybiBzb3VyY2Uuc2xpY2UoKTsKICB9CgogIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbiAocHJvcGVydHkpIHsKICAgIHZhciBzb3VyY2VQcm9wZXJ0eSA9IHNvdXJjZVtwcm9wZXJ0eV07CgogICAgaWYgKF90eXBlb2Yoc291cmNlUHJvcGVydHkpID09PSAnb2JqZWN0JykgewogICAgICB0YXJnZXRbcHJvcGVydHldID0gb2JqZWN0TWVyZ2UodGFyZ2V0W3Byb3BlcnR5XSwgc291cmNlUHJvcGVydHkpOwogICAgfSBlbHNlIHsKICAgICAgdGFyZ2V0W3Byb3BlcnR5XSA9IHNvdXJjZVByb3BlcnR5OwogICAgfQogIH0pOwogIHJldHVybiB0YXJnZXQ7Cn0KLyoqCiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQKICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZQogKi8KCmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVDbGFzcyhlbGVtZW50LCBjbGFzc05hbWUpIHsKICBpZiAoIWVsZW1lbnQgfHwgIWNsYXNzTmFtZSkgewogICAgcmV0dXJuOwogIH0KCiAgdmFyIGNsYXNzU3RyaW5nID0gZWxlbWVudC5jbGFzc05hbWU7CiAgdmFyIG5hbWVJbmRleCA9IGNsYXNzU3RyaW5nLmluZGV4T2YoY2xhc3NOYW1lKTsKCiAgaWYgKG5hbWVJbmRleCA9PT0gLTEpIHsKICAgIGNsYXNzU3RyaW5nICs9ICcnICsgY2xhc3NOYW1lOwogIH0gZWxzZSB7CiAgICBjbGFzc1N0cmluZyA9IGNsYXNzU3RyaW5nLnN1YnN0cigwLCBuYW1lSW5kZXgpICsgY2xhc3NTdHJpbmcuc3Vic3RyKG5hbWVJbmRleCArIGNsYXNzTmFtZS5sZW5ndGgpOwogIH0KCiAgZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc1N0cmluZzsKfQovKioKICogQHBhcmFtIHtzdHJpbmd9IHR5cGUKICogQHJldHVybnMge0RhdGV9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWUodHlwZSkgewogIGlmICh0eXBlID09PSAnc3RhcnQnKSB7CiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogOTA7CiAgfSBlbHNlIHsKICAgIHJldHVybiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpKTsKICB9Cn0KLyoqCiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMKICogQHBhcmFtIHtudW1iZXJ9IHdhaXQKICogQHBhcmFtIHtib29sZWFufSBpbW1lZGlhdGUKICogQHJldHVybiB7Kn0KICovCgpleHBvcnQgZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7CiAgdmFyIHRpbWVvdXQsIGFyZ3MsIGNvbnRleHQsIHRpbWVzdGFtcCwgcmVzdWx0OwoKICB2YXIgbGF0ZXIgPSBmdW5jdGlvbiBsYXRlcigpIHsKICAgIC8vIOaNruS4iuS4gOasoeinpuWPkeaXtumXtOmXtOmalAogICAgdmFyIGxhc3QgPSArbmV3IERhdGUoKSAtIHRpbWVzdGFtcDsgLy8g5LiK5qyh6KKr5YyF6KOF5Ye95pWw6KKr6LCD55So5pe26Ze06Ze06ZqUIGxhc3Qg5bCP5LqO6K6+5a6a5pe26Ze06Ze06ZqUIHdhaXQKCiAgICBpZiAobGFzdCA8IHdhaXQgJiYgbGFzdCA+IDApIHsKICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQgLSBsYXN0KTsKICAgIH0gZWxzZSB7CiAgICAgIHRpbWVvdXQgPSBudWxsOyAvLyDlpoLmnpzorr7lrprkuLppbW1lZGlhdGU9PT10cnVl77yM5Zug5Li65byA5aeL6L6555WM5bey57uP6LCD55So6L+H5LqG5q2k5aSE5peg6ZyA6LCD55SoCgogICAgICBpZiAoIWltbWVkaWF0ZSkgewogICAgICAgIHJlc3VsdCA9IGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7CiAgICAgICAgaWYgKCF0aW1lb3V0KSBjb250ZXh0ID0gYXJncyA9IG51bGw7CiAgICAgIH0KICAgIH0KICB9OwoKICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07CiAgICB9CgogICAgY29udGV4dCA9IHRoaXM7CiAgICB0aW1lc3RhbXAgPSArbmV3IERhdGUoKTsKICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OyAvLyDlpoLmnpzlu7bml7bkuI3lrZjlnKjvvIzph43mlrDorr7lrprlu7bml7YKCiAgICBpZiAoIXRpbWVvdXQpIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGxhdGVyLCB3YWl0KTsKCiAgICBpZiAoY2FsbE5vdykgewogICAgICByZXN1bHQgPSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpOwogICAgICBjb250ZXh0ID0gYXJncyA9IG51bGw7CiAgICB9CgogICAgcmV0dXJuIHJlc3VsdDsKICB9Owp9Ci8qKgogKiBUaGlzIGlzIGp1c3QgYSBzaW1wbGUgdmVyc2lvbiBvZiBkZWVwIGNvcHkKICogSGFzIGEgbG90IG9mIGVkZ2UgY2FzZXMgYnVnCiAqIElmIHlvdSB3YW50IHRvIHVzZSBhIHBlcmZlY3QgZGVlcCBjb3B5LCB1c2UgbG9kYXNoJ3MgXy5jbG9uZURlZXAKICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZQogKiBAcmV0dXJucyB7T2JqZWN0fQogKi8KCmV4cG9ydCBmdW5jdGlvbiBkZWVwQ2xvbmUoc291cmNlKSB7CiAgaWYgKCFzb3VyY2UgJiYgX3R5cGVvZihzb3VyY2UpICE9PSAnb2JqZWN0JykgewogICAgdGhyb3cgbmV3IEVycm9yKCdlcnJvciBhcmd1bWVudHMnLCAnZGVlcENsb25lJyk7CiAgfQoKICB2YXIgdGFyZ2V0T2JqID0gc291cmNlLmNvbnN0cnVjdG9yID09PSBBcnJheSA/IFtdIDoge307CiAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXlzKSB7CiAgICBpZiAoc291cmNlW2tleXNdICYmIF90eXBlb2Yoc291cmNlW2tleXNdKSA9PT0gJ29iamVjdCcpIHsKICAgICAgdGFyZ2V0T2JqW2tleXNdID0gZGVlcENsb25lKHNvdXJjZVtrZXlzXSk7CiAgICB9IGVsc2UgewogICAgICB0YXJnZXRPYmpba2V5c10gPSBzb3VyY2Vba2V5c107CiAgICB9CiAgfSk7CiAgcmV0dXJuIHRhcmdldE9iajsKfQovKioKICogQHBhcmFtIHtBcnJheX0gYXJyCiAqIEByZXR1cm5zIHtBcnJheX0KICovCgpleHBvcnQgZnVuY3Rpb24gdW5pcXVlQXJyKGFycikgewogIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoYXJyKSk7Cn0KLyoqCiAqIEByZXR1cm5zIHtzdHJpbmd9CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVuaXF1ZVN0cmluZygpIHsKICB2YXIgdGltZXN0YW1wID0gK25ldyBEYXRlKCkgKyAnJzsKICB2YXIgcmFuZG9tTnVtID0gcGFyc2VJbnQoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDY1NTM2KSArICcnOwogIHJldHVybiAoKyhyYW5kb21OdW0gKyB0aW1lc3RhbXApKS50b1N0cmluZygzMik7Cn0KLyoqCiAqIENoZWNrIGlmIGFuIGVsZW1lbnQgaGFzIGEgY2xhc3MKICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxtCiAqIEBwYXJhbSB7c3RyaW5nfSBjbHMKICogQHJldHVybnMge2Jvb2xlYW59CiAqLwoKZXhwb3J0IGZ1bmN0aW9uIGhhc0NsYXNzKGVsZSwgY2xzKSB7CiAgcmV0dXJuICEhZWxlLmNsYXNzTmFtZS5tYXRjaChuZXcgUmVnRXhwKCcoXFxzfF4pJyArIGNscyArICcoXFxzfCQpJykpOwp9Ci8qKgogKiBBZGQgY2xhc3MgdG8gZWxlbWVudAogKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbG0KICogQHBhcmFtIHtzdHJpbmd9IGNscwogKi8KCmV4cG9ydCBmdW5jdGlvbiBhZGRDbGFzcyhlbGUsIGNscykgewogIGlmICghaGFzQ2xhc3MoZWxlLCBjbHMpKSBlbGUuY2xhc3NOYW1lICs9ICcgJyArIGNsczsKfQovKioKICogUmVtb3ZlIGNsYXNzIGZyb20gZWxlbWVudAogKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbG0KICogQHBhcmFtIHtzdHJpbmd9IGNscwogKi8KCmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDbGFzcyhlbGUsIGNscykgewogIGlmIChoYXNDbGFzcyhlbGUsIGNscykpIHsKICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcoXFxzfF4pJyArIGNscyArICcoXFxzfCQpJyk7CiAgICBlbGUuY2xhc3NOYW1lID0gZWxlLmNsYXNzTmFtZS5yZXBsYWNlKHJlZywgJyAnKTsKICB9Cn0KZXhwb3J0IGZ1bmN0aW9uIG1ha2VNYXAoc3RyLCBleHBlY3RzTG93ZXJDYXNlKSB7CiAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgdmFyIGxpc3QgPSBzdHIuc3BsaXQoJywnKTsKCiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7CiAgICBtYXBbbGlzdFtpXV0gPSB0cnVlOwogIH0KCiAgcmV0dXJuIGV4cGVjdHNMb3dlckNhc2UgPyBmdW5jdGlvbiAodmFsKSB7CiAgICByZXR1cm4gbWFwW3ZhbC50b0xvd2VyQ2FzZSgpXTsKICB9IDogZnVuY3Rpb24gKHZhbCkgewogICAgcmV0dXJuIG1hcFt2YWxdOwogIH07Cn0KZXhwb3J0IHZhciBleHBvcnREZWZhdWx0ID0gJ2V4cG9ydCBkZWZhdWx0ICc7CmV4cG9ydCB2YXIgYmVhdXRpZmllckNvbmYgPSB7CiAgaHRtbDogewogICAgaW5kZW50X3NpemU6ICcyJywKICAgIGluZGVudF9jaGFyOiAnICcsCiAgICBtYXhfcHJlc2VydmVfbmV3bGluZXM6ICctMScsCiAgICBwcmVzZXJ2ZV9uZXdsaW5lczogZmFsc2UsCiAgICBrZWVwX2FycmF5X2luZGVudGF0aW9uOiBmYWxzZSwKICAgIGJyZWFrX2NoYWluZWRfbWV0aG9kczogZmFsc2UsCiAgICBpbmRlbnRfc2NyaXB0czogJ3NlcGFyYXRlJywKICAgIGJyYWNlX3N0eWxlOiAnZW5kLWV4cGFuZCcsCiAgICBzcGFjZV9iZWZvcmVfY29uZGl0aW9uYWw6IHRydWUsCiAgICB1bmVzY2FwZV9zdHJpbmdzOiBmYWxzZSwKICAgIGpzbGludF9oYXBweTogZmFsc2UsCiAgICBlbmRfd2l0aF9uZXdsaW5lOiB0cnVlLAogICAgd3JhcF9saW5lX2xlbmd0aDogJzExMCcsCiAgICBpbmRlbnRfaW5uZXJfaHRtbDogdHJ1ZSwKICAgIGNvbW1hX2ZpcnN0OiBmYWxzZSwKICAgIGU0eDogdHJ1ZSwKICAgIGluZGVudF9lbXB0eV9saW5lczogdHJ1ZQogIH0sCiAganM6IHsKICAgIGluZGVudF9zaXplOiAnMicsCiAgICBpbmRlbnRfY2hhcjogJyAnLAogICAgbWF4X3ByZXNlcnZlX25ld2xpbmVzOiAnLTEnLAogICAgcHJlc2VydmVfbmV3bGluZXM6IGZhbHNlLAogICAga2VlcF9hcnJheV9pbmRlbnRhdGlvbjogZmFsc2UsCiAgICBicmVha19jaGFpbmVkX21ldGhvZHM6IGZhbHNlLAogICAgaW5kZW50X3NjcmlwdHM6ICdub3JtYWwnLAogICAgYnJhY2Vfc3R5bGU6ICdlbmQtZXhwYW5kJywKICAgIHNwYWNlX2JlZm9yZV9jb25kaXRpb25hbDogdHJ1ZSwKICAgIHVuZXNjYXBlX3N0cmluZ3M6IGZhbHNlLAogICAganNsaW50X2hhcHB5OiB0cnVlLAogICAgZW5kX3dpdGhfbmV3bGluZTogdHJ1ZSwKICAgIHdyYXBfbGluZV9sZW5ndGg6ICcxMTAnLAogICAgaW5kZW50X2lubmVyX2h0bWw6IHRydWUsCiAgICBjb21tYV9maXJzdDogZmFsc2UsCiAgICBlNHg6IHRydWUsCiAgICBpbmRlbnRfZW1wdHlfbGluZXM6IHRydWUKICB9Cn07IC8vIOmmluWtl+avjeWkp+WwjwoKZXhwb3J0IGZ1bmN0aW9uIHRpdGxlQ2FzZShzdHIpIHsKICByZXR1cm4gc3RyLnJlcGxhY2UoLyggfF4pW2Etel0vZywgZnVuY3Rpb24gKEwpIHsKICAgIHJldHVybiBMLnRvVXBwZXJDYXNlKCk7CiAgfSk7Cn0gLy8g5LiL5YiS6L2s6am85bOwCgpleHBvcnQgZnVuY3Rpb24gY2FtZWxDYXNlKHN0cikgewogIHJldHVybiBzdHIucmVwbGFjZSgvLVthLXpdL2csIGZ1bmN0aW9uIChzdHIxKSB7CiAgICByZXR1cm4gc3RyMS5zdWJzdHIoLTEpLnRvVXBwZXJDYXNlKCk7CiAgfSk7Cn0KZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyU3RyKHN0cikgewogIHJldHVybiAvXlsrLV0/KDB8KFsxLTldXGQqKSkoXC5cZCspPyQvZy50ZXN0KHN0cik7Cn0="},null]}