liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
1
{"remainingRequest":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\utils\\index.js","dependencies":[{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\utils\\index.js","mtime":1675221397124},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\babel.config.js","mtime":1675221397043},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1678842086986},{"path":"F:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiRjovV29ya3NwYWNlcy9hcmQvUnVvWWktVnVlLW1hc3Rlci1wZy9SdW9ZaS1WdWUtbWFzdGVyL3J1b3lpLXVpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZyb20uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zZXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5tYXRjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5kb3QtYWxsLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnN0aWNreS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKaW1wb3J0IHsgcGFyc2VUaW1lIH0gZnJvbSAnLi9ydW95aSc7CgovKioNCiAqIOihqOagvOaXtumXtOagvOW8j+WMlg0KICovCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREYXRlKGNlbGxWYWx1ZSkgewogIGlmIChjZWxsVmFsdWUgPT0gbnVsbCB8fCBjZWxsVmFsdWUgPT0gIiIpIHJldHVybiAiIjsKICB2YXIgZGF0ZSA9IG5ldyBEYXRlKGNlbGxWYWx1ZSk7CiAgdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7CiAgdmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMTsKICB2YXIgZGF5ID0gZGF0ZS5nZXREYXRlKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0RGF0ZSgpIDogZGF0ZS5nZXREYXRlKCk7CiAgdmFyIGhvdXJzID0gZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldEhvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCk7CiAgdmFyIG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gJzAnICsgZGF0ZS5nZXRNaW51dGVzKCkgOiBkYXRlLmdldE1pbnV0ZXMoKTsKICB2YXIgc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldFNlY29uZHMoKSA6IGRhdGUuZ2V0U2Vjb25kcygpOwogIHJldHVybiB5ZWFyICsgJy0nICsgbW9udGggKyAnLScgKyBkYXkgKyAnICcgKyBob3VycyArICc6JyArIG1pbnV0ZXMgKyAnOicgKyBzZWNvbmRzOwp9CgovKioNCiAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lDQogKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9uDQogKiBAcmV0dXJucyB7c3RyaW5nfQ0KICovCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lKHRpbWUsIG9wdGlvbikgewogIGlmICgoJycgKyB0aW1lKS5sZW5ndGggPT09IDEwKSB7CiAgICB0aW1lID0gcGFyc2VJbnQodGltZSkgKiAxMDAwOwogIH0gZWxzZSB7CiAgICB0aW1lID0gK3RpbWU7CiAgfQogIHZhciBkID0gbmV3IERhdGUodGltZSk7CiAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgdmFyIGRpZmYgPSAobm93IC0gZCkgLyAxMDAwOwogIGlmIChkaWZmIDwgMzApIHsKICAgIHJldHVybiAn5Yia5YiaJzsKICB9IGVsc2UgaWYgKGRpZmYgPCAzNjAwKSB7CiAgICAvLyBsZXNzIDEgaG91cgogICAgcmV0dXJuIE1hdGguY2VpbChkaWZmIC8gNjApICsgJ+WIhumSn+WJjSc7CiAgfSBlbHNlIGlmIChkaWZmIDwgMzYwMCAqIDI0KSB7CiAgICByZXR1cm4gTWF0aC5jZWlsKGRpZmYgLyAzNjAwKSArICflsI/ml7bliY0nOwogIH0gZWxzZSBpZiAoZGlmZiA8IDM2MDAgKiAyNCAqIDIpIHsKICAgIHJldHVybiAnMeWkqeWJjSc7CiAgfQogIGlmIChvcHRpb24pIHsKICAgIHJldHVybiBwYXJzZVRpbWUodGltZSwgb3B0aW9uKTsKICB9IGVsc2UgewogICAgcmV0dXJuIGQuZ2V0TW9udGgoKSArIDEgKyAn5pyIJyArIGQuZ2V0RGF0ZSgpICsgJ+aXpScgKyBkLmdldEhvdXJzKCkgKyAn5pe2JyArIGQuZ2V0TWludXRlcygpICsgJ+WIhic7CiAgfQp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwNCiAqIEByZXR1cm5zIHtPYmplY3R9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5T2JqZWN0KHVybCkgewogIHVybCA9IHVybCA9PSBudWxsID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiB1cmw7CiAgdmFyIHNlYXJjaCA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCc/JykgKyAxKTsKICB2YXIgb2JqID0ge307CiAgdmFyIHJlZyA9IC8oW14/Jj1dKyk9KFtePyY9XSopL2c7CiAgc2VhcmNoLnJlcGxhY2UocmVnLCBmdW5jdGlvbiAocnMsICQxLCAkMikgewogICAgdmFyIG5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQoJDEpOwogICAgdmFyIHZhbCA9IGRlY29kZVVSSUNvbXBvbmVudCgkMik7CiAgICB2YWwgPSBTdHJpbmcodmFsKTsKICAgIG9ialtuYW1lXSA9IHZhbDsKICAgIHJldHVybiByczsKICB9KTsKICByZXR1cm4gb2JqOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCB2YWx1ZQ0KICogQHJldHVybnMge251bWJlcn0gb3V0cHV0IHZhbHVlDQogKi8KZXhwb3J0IGZ1bmN0aW9uIGJ5dGVMZW5ndGgoc3RyKSB7CiAgLy8gcmV0dXJucyB0aGUgYnl0ZSBsZW5ndGggb2YgYW4gdXRmOCBzdHJpbmcKICB2YXIgcyA9IHN0ci5sZW5ndGg7CiAgZm9yICh2YXIgaSA9IHN0ci5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewogICAgdmFyIGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTsKICAgIGlmIChjb2RlID4gMHg3ZiAmJiBjb2RlIDw9IDB4N2ZmKSBzKys7ZWxzZSBpZiAoY29kZSA+IDB4N2ZmICYmIGNvZGUgPD0gMHhmZmZmKSBzICs9IDI7CiAgICBpZiAoY29kZSA+PSAweERDMDAgJiYgY29kZSA8PSAweERGRkYpIGktLTsKICB9CiAgcmV0dXJuIHM7Cn0KCi8qKg0KICogQHBhcmFtIHtBcnJheX0gYWN0dWFsDQogKiBAcmV0dXJucyB7QXJyYXl9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQXJyYXkoYWN0dWFsKSB7CiAgdmFyIG5ld0FycmF5ID0gW107CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3R1YWwubGVuZ3RoOyBpKyspIHsKICAgIGlmIChhY3R1YWxbaV0pIHsKICAgICAgbmV3QXJyYXkucHVzaChhY3R1YWxbaV0pOwogICAgfQogIH0KICByZXR1cm4gbmV3QXJyYXk7Cn0KCi8qKg0KICogQHBhcmFtIHtPYmplY3R9IGpzb24NCiAqIEByZXR1cm5zIHtBcnJheX0NCiAqLwpleHBvcnQgZnVuY3Rpb24gcGFyYW0oanNvbikgewogIGlmICghanNvbikgcmV0dXJuICcnOwogIHJldHVybiBjbGVhbkFycmF5KE9iamVjdC5rZXlzKGpzb24pLm1hcChmdW5jdGlvbiAoa2V5KSB7CiAgICBpZiAoanNvbltrZXldID09PSB1bmRlZmluZWQpIHJldHVybiAnJzsKICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoa2V5KSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChqc29uW2tleV0pOwogIH0pKS5qb2luKCcmJyk7Cn0KCi8qKg0KICogQHBhcmFtIHtzdHJpbmd9IHVybA0KICogQHJldHVybnMge09iamVjdH0NCiAqLwpleHBvcnQgZnVuY3Rpb24gcGFyYW0yT2JqKHVybCkgewogIHZhciBzZWFyY2ggPSBkZWNvZGVVUklDb21wb25lbnQodXJsLnNwbGl0KCc/JylbMV0pLnJlcGxhY2UoL1wrL2csICcgJyk7CiAgaWYgKCFzZWFyY2gpIHsKICAgIHJldHVybiB7fTsKICB9CiAgdmFyIG9iaiA9IHt9OwogIHZhciBzZWFyY2hBcnIgPSBzZWFyY2guc3BsaXQoJyYnKTsKICBzZWFyY2hBcnIuZm9yRWFjaChmdW5jdGlvbiAodikgewogICAgdmFyIGluZGV4ID0gdi5pbmRleE9mKCc9Jyk7CiAgICBpZiAoaW5kZXggIT09IC0xKSB7CiAgICAgIHZhciBuYW1lID0gdi5zdWJzdHJpbmcoMCwgaW5kZXgpOwogICAgICB2YXIgdmFsID0gdi5zdWJzdHJpbmcoaW5kZXggKyAxLCB2Lmxlbmd0aCk7CiAgICAgIG9ialtuYW1lXSA9IHZhbDsKICAgIH0KICB9KTsKICByZXR1cm4gb2JqOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSB2YWwNCiAqIEByZXR1cm5zIHtzdHJpbmd9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGh0bWwyVGV4dCh2YWwpIHsKICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgZGl2LmlubmVySFRNTCA9IHZhbDsKICByZXR1cm4gZGl2LnRleHRDb250ZW50IHx8IGRpdi5pbm5lclRleHQ7Cn0KCi8qKg0KICogTWVyZ2VzIHR3byBvYmplY3RzLCBnaXZpbmcgdGhlIGxhc3Qgb25lIHByZWNlZGVuY2UNCiAqIEBwYXJhbSB7T2JqZWN0fSB0YXJnZXQNCiAqIEBwYXJhbSB7KE9iamVjdHxBcnJheSl9IHNvdXJjZQ0KICogQHJldHVybnMge09iamVjdH0NCiAqLwpleHBvcnQgZnVuY3Rpb24gb2JqZWN0TWVyZ2UodGFyZ2V0LCBzb3VyY2UpIHsKICBpZiAoX3R5cGVvZih0YXJnZXQpICE9PSAnb2JqZWN0JykgewogICAgdGFyZ2V0ID0ge307CiAgfQogIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHsKICAgIHJldHVybiBzb3VyY2Uuc2xpY2UoKTsKICB9CiAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wZXJ0eSkgewogICAgdmFyIHNvdXJjZVByb3BlcnR5ID0gc291cmNlW3Byb3BlcnR5XTsKICAgIGlmIChfdHlwZW9mKHNvdXJjZVByb3BlcnR5KSA9PT0gJ29iamVjdCcpIHsKICAgICAgdGFyZ2V0W3Byb3BlcnR5XSA9IG9iamVjdE1lcmdlKHRhcmdldFtwcm9wZXJ0eV0sIHNvdXJjZVByb3BlcnR5KTsKICAgIH0gZWxzZSB7CiAgICAgIHRhcmdldFtwcm9wZXJ0eV0gPSBzb3VyY2VQcm9wZXJ0eTsKICAgIH0KICB9KTsKICByZXR1cm4gdGFyZ2V0Owp9CgovKioNCiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQNCiAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWUNCiAqLwpleHBvcnQgZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7CiAgaWYgKCFlbGVtZW50IHx8ICFjbGFzc05hbWUpIHsKICAgIHJldHVybjsKICB9CiAgdmFyIGNsYXNzU3RyaW5nID0gZWxlbWVudC5jbGFzc05hbWU7CiAgdmFyIG5hbWVJbmRleCA9IGNsYXNzU3RyaW5nLmluZGV4T2YoY2xhc3NOYW1lKTsKICBpZiAobmFtZUluZGV4ID09PSAtMSkgewogICAgY2xhc3NTdHJpbmcgKz0gJycgKyBjbGFzc05hbWU7CiAgfSBlbHNlIHsKICAgIGNsYXNzU3RyaW5nID0gY2xhc3NTdHJpbmcuc3Vic3RyKDAsIG5hbWVJbmRleCkgKyBjbGFzc1N0cmluZy5zdWJzdHIobmFtZUluZGV4ICsgY2xhc3NOYW1lLmxlbmd0aCk7CiAgfQogIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NTdHJpbmc7Cn0KCi8qKg0KICogQHBhcmFtIHtzdHJpbmd9IHR5cGUNCiAqIEByZXR1cm5zIHtEYXRlfQ0KICovCmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lKHR5cGUpIHsKICBpZiAodHlwZSA9PT0gJ3N0YXJ0JykgewogICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gMzYwMCAqIDEwMDAgKiAyNCAqIDkwOwogIH0gZWxzZSB7CiAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKSk7CiAgfQp9CgovKioNCiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMNCiAqIEBwYXJhbSB7bnVtYmVyfSB3YWl0DQogKiBAcGFyYW0ge2Jvb2xlYW59IGltbWVkaWF0ZQ0KICogQHJldHVybiB7Kn0NCiAqLwpleHBvcnQgZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7CiAgdmFyIHRpbWVvdXQsIGFyZ3MsIGNvbnRleHQsIHRpbWVzdGFtcCwgcmVzdWx0OwogIHZhciBsYXRlciA9IGZ1bmN0aW9uIGxhdGVyKCkgewogICAgLy8g5o2u5LiK5LiA5qyh6Kem5Y+R5pe26Ze06Ze06ZqUCiAgICB2YXIgbGFzdCA9ICtuZXcgRGF0ZSgpIC0gdGltZXN0YW1wOwoKICAgIC8vIOS4iuasoeiiq+WMheijheWHveaVsOiiq+iwg+eUqOaXtumXtOmXtOmalCBsYXN0IOWwj+S6juiuvuWumuaXtumXtOmXtOmalCB3YWl0CiAgICBpZiAobGFzdCA8IHdhaXQgJiYgbGFzdCA+IDApIHsKICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQgLSBsYXN0KTsKICAgIH0gZWxzZSB7CiAgICAgIHRpbWVvdXQgPSBudWxsOwogICAgICAvLyDlpoLmnpzorr7lrprkuLppbW1lZGlhdGU9PT10cnVl77yM5Zug5Li65byA5aeL6L6555WM5bey57uP6LCD55So6L+H5LqG5q2k5aSE5peg6ZyA6LCD55SoCiAgICAgIGlmICghaW1tZWRpYXRlKSB7CiAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTsKICAgICAgICBpZiAoIXRpbWVvdXQpIGNvbnRleHQgPSBhcmdzID0gbnVsbDsKICAgICAgfQogICAgfQogIH07CiAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykgewogICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldOwogICAgfQogICAgY29udGV4dCA9IHRoaXM7CiAgICB0aW1lc3RhbXAgPSArbmV3IERhdGUoKTsKICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OwogICAgLy8g5aaC5p6c5bu25pe25LiN5a2Y5Zyo77yM6YeN5paw6K6+5a6a5bu25pe2CiAgICBpZiAoIXRpbWVvdXQpIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGxhdGVyLCB3YWl0KTsKICAgIGlmIChjYWxsTm93KSB7CiAgICAgIHJlc3VsdCA9IGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7CiAgICAgIGNvbnRleHQgPSBhcmdzID0gbnVsbDsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfTsKfQoKLyoqDQogKiBUaGlzIGlzIGp1c3QgYSBzaW1wbGUgdmVyc2lvbiBvZiBkZWVwIGNvcHkNCiAqIEhhcyBhIGxvdCBvZiBlZGdlIGNhc2VzIGJ1Zw0KICogSWYgeW91IHdhbnQgdG8gdXNlIGEgcGVyZmVjdCBkZWVwIGNvcHksIHVzZSBsb2Rhc2gncyBfLmNsb25lRGVlcA0KICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZQ0KICogQHJldHVybnMge09iamVjdH0NCiAqLwpleHBvcnQgZnVuY3Rpb24gZGVlcENsb25lKHNvdXJjZSkgewogIGlmICghc291cmNlICYmIF90eXBlb2Yoc291cmNlKSAhPT0gJ29iamVjdCcpIHsKICAgIHRocm93IG5ldyBFcnJvcignZXJyb3IgYXJndW1lbnRzJywgJ2RlZXBDbG9uZScpOwogIH0KICB2YXIgdGFyZ2V0T2JqID0gc291cmNlLmNvbnN0cnVjdG9yID09PSBBcnJheSA/IFtdIDoge307CiAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXlzKSB7CiAgICBpZiAoc291cmNlW2tleXNdICYmIF90eXBlb2Yoc291cmNlW2tleXNdKSA9PT0gJ29iamVjdCcpIHsKICAgICAgdGFyZ2V0T2JqW2tleXNdID0gZGVlcENsb25lKHNvdXJjZVtrZXlzXSk7CiAgICB9IGVsc2UgewogICAgICB0YXJnZXRPYmpba2V5c10gPSBzb3VyY2Vba2V5c107CiAgICB9CiAgfSk7CiAgcmV0dXJuIHRhcmdldE9iajsKfQoKLyoqDQogKiBAcGFyYW0ge0FycmF5fSBhcnINCiAqIEByZXR1cm5zIHtBcnJheX0NCiAqLwpleHBvcnQgZnVuY3Rpb24gdW5pcXVlQXJyKGFycikgewogIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoYXJyKSk7Cn0KCi8qKg0KICogQHJldHVybnMge3N0cmluZ30NCiAqLwpleHBvcnQgZnVuY3Rpb24gY3JlYXRlVW5pcXVlU3RyaW5nKCkgewogIHZhciB0aW1lc3RhbXAgPSArbmV3IERhdGUoKSArICcnOwogIHZhciByYW5kb21OdW0gPSBwYXJzZUludCgoMSArIE1hdGgucmFuZG9tKCkpICogNjU1MzYpICsgJyc7CiAgcmV0dXJuICgrKHJhbmRvbU51bSArIHRpbWVzdGFtcCkpLnRvU3RyaW5nKDMyKTsKfQoKLyoqDQogKiBDaGVjayBpZiBhbiBlbGVtZW50IGhhcyBhIGNsYXNzDQogKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbG0NCiAqIEBwYXJhbSB7c3RyaW5nfSBjbHMNCiAqIEByZXR1cm5zIHtib29sZWFufQ0KICovCmV4cG9ydCBmdW5jdGlvbiBoYXNDbGFzcyhlbGUsIGNscykgewogIHJldHVybiAhIWVsZS5jbGFzc05hbWUubWF0Y2gobmV3IFJlZ0V4cCgnKFxcc3xeKScgKyBjbHMgKyAnKFxcc3wkKScpKTsKfQoKLyoqDQogKiBBZGQgY2xhc3MgdG8gZWxlbWVudA0KICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxtDQogKiBAcGFyYW0ge3N0cmluZ30gY2xzDQogKi8KZXhwb3J0IGZ1bmN0aW9uIGFkZENsYXNzKGVsZSwgY2xzKSB7CiAgaWYgKCFoYXNDbGFzcyhlbGUsIGNscykpIGVsZS5jbGFzc05hbWUgKz0gJyAnICsgY2xzOwp9CgovKioNCiAqIFJlbW92ZSBjbGFzcyBmcm9tIGVsZW1lbnQNCiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsbQ0KICogQHBhcmFtIHtzdHJpbmd9IGNscw0KICovCmV4cG9ydCBmdW5jdGlvbiByZW1vdmVDbGFzcyhlbGUsIGNscykgewogIGlmIChoYXNDbGFzcyhlbGUsIGNscykpIHsKICAgIHZhciByZWcgPSBuZXcgUmVnRXhwKCcoXFxzfF4pJyArIGNscyArICcoXFxzfCQpJyk7CiAgICBlbGUuY2xhc3NOYW1lID0gZWxlLmNsYXNzTmFtZS5yZXBsYWNlKHJlZywgJyAnKTsKICB9Cn0KZXhwb3J0IGZ1bmN0aW9uIG1ha2VNYXAoc3RyLCBleHBlY3RzTG93ZXJDYXNlKSB7CiAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgdmFyIGxpc3QgPSBzdHIuc3BsaXQoJywnKTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHsKICAgIG1hcFtsaXN0W2ldXSA9IHRydWU7CiAgfQogIHJldHVybiBleHBlY3RzTG93ZXJDYXNlID8gZnVuY3Rpb24gKHZhbCkgewogICAgcmV0dXJuIG1hcFt2YWwudG9Mb3dlckNhc2UoKV07CiAgfSA6IGZ1bmN0aW9uICh2YWwpIHsKICAgIHJldHVybiBtYXBbdmFsXTsKICB9Owp9CmV4cG9ydCB2YXIgZXhwb3J0RGVmYXVsdCA9ICdleHBvcnQgZGVmYXVsdCAnOwpleHBvcnQgdmFyIGJlYXV0aWZpZXJDb25mID0gewogIGh0bWw6IHsKICAgIGluZGVudF9zaXplOiAnMicsCiAgICBpbmRlbnRfY2hhcjogJyAnLAogICAgbWF4X3ByZXNlcnZlX25ld2xpbmVzOiAnLTEnLAogICAgcHJlc2VydmVfbmV3bGluZXM6IGZhbHNlLAogICAga2VlcF9hcnJheV9pbmRlbnRhdGlvbjogZmFsc2UsCiAgICBicmVha19jaGFpbmVkX21ldGhvZHM6IGZhbHNlLAogICAgaW5kZW50X3NjcmlwdHM6ICdzZXBhcmF0ZScsCiAgICBicmFjZV9zdHlsZTogJ2VuZC1leHBhbmQnLAogICAgc3BhY2VfYmVmb3JlX2NvbmRpdGlvbmFsOiB0cnVlLAogICAgdW5lc2NhcGVfc3RyaW5nczogZmFsc2UsCiAgICBqc2xpbnRfaGFwcHk6IGZhbHNlLAogICAgZW5kX3dpdGhfbmV3bGluZTogdHJ1ZSwKICAgIHdyYXBfbGluZV9sZW5ndGg6ICcxMTAnLAogICAgaW5kZW50X2lubmVyX2h0bWw6IHRydWUsCiAgICBjb21tYV9maXJzdDogZmFsc2UsCiAgICBlNHg6IHRydWUsCiAgICBpbmRlbnRfZW1wdHlfbGluZXM6IHRydWUKICB9LAogIGpzOiB7CiAgICBpbmRlbnRfc2l6ZTogJzInLAogICAgaW5kZW50X2NoYXI6ICcgJywKICAgIG1heF9wcmVzZXJ2ZV9uZXdsaW5lczogJy0xJywKICAgIHByZXNlcnZlX25ld2xpbmVzOiBmYWxzZSwKICAgIGtlZXBfYXJyYXlfaW5kZW50YXRpb246IGZhbHNlLAogICAgYnJlYWtfY2hhaW5lZF9tZXRob2RzOiBmYWxzZSwKICAgIGluZGVudF9zY3JpcHRzOiAnbm9ybWFsJywKICAgIGJyYWNlX3N0eWxlOiAnZW5kLWV4cGFuZCcsCiAgICBzcGFjZV9iZWZvcmVfY29uZGl0aW9uYWw6IHRydWUsCiAgICB1bmVzY2FwZV9zdHJpbmdzOiBmYWxzZSwKICAgIGpzbGludF9oYXBweTogdHJ1ZSwKICAgIGVuZF93aXRoX25ld2xpbmU6IHRydWUsCiAgICB3cmFwX2xpbmVfbGVuZ3RoOiAnMTEwJywKICAgIGluZGVudF9pbm5lcl9odG1sOiB0cnVlLAogICAgY29tbWFfZmlyc3Q6IGZhbHNlLAogICAgZTR4OiB0cnVlLAogICAgaW5kZW50X2VtcHR5X2xpbmVzOiB0cnVlCiAgfQp9OwoKLy8g6aaW5a2X5q+N5aSn5bCPCmV4cG9ydCBmdW5jdGlvbiB0aXRsZUNhc2Uoc3RyKSB7CiAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oIHxeKVthLXpdL2csIGZ1bmN0aW9uIChMKSB7CiAgICByZXR1cm4gTC50b1VwcGVyQ2FzZSgpOwogIH0pOwp9CgovLyDkuIvliJLovazpqbzls7AKZXhwb3J0IGZ1bmN0aW9uIGNhbWVsQ2FzZShzdHIpIHsKICByZXR1cm4gc3RyLnJlcGxhY2UoL19bYS16XS9nLCBmdW5jdGlvbiAoc3RyMSkgewogICAgcmV0dXJuIHN0cjEuc3Vic3RyKC0xKS50b1VwcGVyQ2FzZSgpOwogIH0pOwp9CmV4cG9ydCBmdW5jdGlvbiBpc051bWJlclN0cihzdHIpIHsKICByZXR1cm4gL15bKy1dPygwfChbMS05XVxkKikpKFwuXGQrKT8kL2cudGVzdChzdHIpOwp9"},null]}