| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- /******/ (function(modules) { // webpackBootstrap
- /******/ // install a JSONP callback for chunk loading
- /******/ function webpackJsonpCallback(data) {
- /******/ var chunkIds = data[0];
- /******/ var moreModules = data[1];
- /******/ var executeModules = data[2];
- /******/
- /******/ // add "moreModules" to the modules object,
- /******/ // then flag all "chunkIds" as loaded and fire callback
- /******/ var moduleId, chunkId, i = 0, resolves = [];
- /******/ for(;i < chunkIds.length; i++) {
- /******/ chunkId = chunkIds[i];
- /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
- /******/ resolves.push(installedChunks[chunkId][0]);
- /******/ }
- /******/ installedChunks[chunkId] = 0;
- /******/ }
- /******/ for(moduleId in moreModules) {
- /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
- /******/ modules[moduleId] = moreModules[moduleId];
- /******/ }
- /******/ }
- /******/ if(parentJsonpFunction) parentJsonpFunction(data);
- /******/
- /******/ while(resolves.length) {
- /******/ resolves.shift()();
- /******/ }
- /******/
- /******/ // add entry modules from loaded chunk to deferred list
- /******/ deferredModules.push.apply(deferredModules, executeModules || []);
- /******/
- /******/ // run deferred modules when all chunks ready
- /******/ return checkDeferredModules();
- /******/ };
- /******/ function checkDeferredModules() {
- /******/ var result;
- /******/ for(var i = 0; i < deferredModules.length; i++) {
- /******/ var deferredModule = deferredModules[i];
- /******/ var fulfilled = true;
- /******/ for(var j = 1; j < deferredModule.length; j++) {
- /******/ var depId = deferredModule[j];
- /******/ if(installedChunks[depId] !== 0) fulfilled = false;
- /******/ }
- /******/ if(fulfilled) {
- /******/ deferredModules.splice(i--, 1);
- /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
- /******/ }
- /******/ }
- /******/
- /******/ return result;
- /******/ }
- /******/
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // object to store loaded and loading chunks
- /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
- /******/ // Promise = chunk loading, 0 = chunk loaded
- /******/ var installedChunks = {
- /******/ "js/nologin": 0
- /******/ };
- /******/
- /******/ var deferredModules = [];
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "/";
- /******/
- /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
- /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
- /******/ jsonpArray.push = webpackJsonpCallback;
- /******/ jsonpArray = jsonpArray.slice();
- /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
- /******/ var parentJsonpFunction = oldJsonpFunction;
- /******/
- /******/
- /******/ // add entry module to deferred list
- /******/ deferredModules.push(["./src/client/js/nologin.jsx","js/commons","js/vendors"]);
- /******/ // run deferred modules when ready
- /******/ return checkDeferredModules();
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ "./config sync recursive ^\\.\\/env\\..*$":
- /*!***********************************!*\
- !*** ./config sync ^\.\/env\..*$ ***!
- \***********************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("var map = {\n\t\"./env.dev\": \"./config/env.dev.js\",\n\t\"./env.dev.js\": \"./config/env.dev.js\",\n\t\"./env.prod\": \"./config/env.prod.js\",\n\t\"./env.prod.js\": \"./config/env.prod.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./config sync recursive ^\\\\.\\\\/env\\\\..*$\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcgc3luYyByZWN1cnNpdmUgXlxcLlxcL2VudlxcLi4qJC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2NvbmZpZyBzeW5jIF5cXC5cXC9lbnZcXC4uKiQ/MjA4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgbWFwID0ge1xuXHRcIi4vZW52LmRldlwiOiBcIi4vY29uZmlnL2Vudi5kZXYuanNcIixcblx0XCIuL2Vudi5kZXYuanNcIjogXCIuL2NvbmZpZy9lbnYuZGV2LmpzXCIsXG5cdFwiLi9lbnYucHJvZFwiOiBcIi4vY29uZmlnL2Vudi5wcm9kLmpzXCIsXG5cdFwiLi9lbnYucHJvZC5qc1wiOiBcIi4vY29uZmlnL2Vudi5wcm9kLmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4vY29uZmlnIHN5bmMgcmVjdXJzaXZlIF5cXFxcLlxcXFwvZW52XFxcXC4uKiRcIjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config sync recursive ^\\.\\/env\\..*$\n");
- /***/ }),
- /***/ "./config/env.dev.js":
- /*!***************************!*\
- !*** ./config/env.dev.js ***!
- \***************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n NODE_ENV: 'development',\n FILE_UPLOAD: 'mongodb',\n // MONGO_GRIDFS_TOTAL_LIMIT: 10485760, // 10MB\n MATHJAX: 1,\n // NO_CDN: true,\n MONGO_URI: 'mongodb://mongo:27017/growi',\n // REDIS_URI: 'http://redis:6379',\n // NCHAN_URI: 'http://nchan',\n ELASTICSEARCH_URI: 'http://elasticsearch:9200/growi',\n HACKMD_URI: 'http://localhost:3010',\n HACKMD_URI_FOR_SERVER: 'http://hackmd:3000',\n // DRAWIO_URI: 'http://localhost:8080/?offline=1&https=0',\n // S2SMSG_PUBSUB_SERVER_TYPE: 'nchan',\n // PUBLISH_OPEN_API: true,\n // USER_UPPER_LIMIT: 0,\n // DEV_HTTPS: true,\n // FORCE_WIKI_MODE: 'private', // 'public', 'private', undefined\n // PROMSTER_ENABLED: true,\n // SLACK_SIGNING_SECRET: '',\n // SLACK_BOT_TOKEN: '',\n SALT_FOR_GTOP_TOKEN: 'proxy',\n SALT_FOR_PTOG_TOKEN: 'growi' // GROWI_CLOUD_URI: 'http://growi.cloud',\n // GROWI_APP_ID_FOR_GROWI_CLOUD: '012345',\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvZW52LmRldi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2NvbmZpZy9lbnYuZGV2LmpzPzQ3MTEiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7XG4gIE5PREVfRU5WOiAnZGV2ZWxvcG1lbnQnLFxuICBGSUxFX1VQTE9BRDogJ21vbmdvZGInLFxuICAvLyBNT05HT19HUklERlNfVE9UQUxfTElNSVQ6IDEwNDg1NzYwLCAgIC8vIDEwTUJcbiAgTUFUSEpBWDogMSxcbiAgLy8gTk9fQ0ROOiB0cnVlLFxuICBNT05HT19VUkk6ICdtb25nb2RiOi8vbW9uZ286MjcwMTcvZ3Jvd2knLFxuICAvLyBSRURJU19VUkk6ICdodHRwOi8vcmVkaXM6NjM3OScsXG4gIC8vIE5DSEFOX1VSSTogJ2h0dHA6Ly9uY2hhbicsXG4gIEVMQVNUSUNTRUFSQ0hfVVJJOiAnaHR0cDovL2VsYXN0aWNzZWFyY2g6OTIwMC9ncm93aScsXG4gIEhBQ0tNRF9VUkk6ICdodHRwOi8vbG9jYWxob3N0OjMwMTAnLFxuICBIQUNLTURfVVJJX0ZPUl9TRVJWRVI6ICdodHRwOi8vaGFja21kOjMwMDAnLFxuICAvLyBEUkFXSU9fVVJJOiAnaHR0cDovL2xvY2FsaG9zdDo4MDgwLz9vZmZsaW5lPTEmaHR0cHM9MCcsXG4gIC8vIFMyU01TR19QVUJTVUJfU0VSVkVSX1RZUEU6ICduY2hhbicsXG4gIC8vIFBVQkxJU0hfT1BFTl9BUEk6IHRydWUsXG4gIC8vIFVTRVJfVVBQRVJfTElNSVQ6IDAsXG4gIC8vIERFVl9IVFRQUzogdHJ1ZSxcbiAgLy8gRk9SQ0VfV0lLSV9NT0RFOiAncHJpdmF0ZScsIC8vICdwdWJsaWMnLCAncHJpdmF0ZScsIHVuZGVmaW5lZFxuICAvLyBQUk9NU1RFUl9FTkFCTEVEOiB0cnVlLFxuICAvLyBTTEFDS19TSUdOSU5HX1NFQ1JFVDogJycsXG4gIC8vIFNMQUNLX0JPVF9UT0tFTjogJycsXG4gIFNBTFRfRk9SX0dUT1BfVE9LRU46ICdwcm94eScsXG4gIFNBTFRfRk9SX1BUT0dfVE9LRU46ICdncm93aScsXG4gIC8vIEdST1dJX0NMT1VEX1VSSTogJ2h0dHA6Ly9ncm93aS5jbG91ZCcsXG4gIC8vIEdST1dJX0FQUF9JRF9GT1JfR1JPV0lfQ0xPVUQ6ICcwMTIzNDUnLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUF6QkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/env.dev.js\n");
- /***/ }),
- /***/ "./config/env.prod.js":
- /*!****************************!*\
- !*** ./config/env.prod.js ***!
- \****************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n NODE_ENV: 'production' // FORMAT_NODE_LOG: false, // default: true\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvZW52LnByb2QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvZW52LnByb2QuanM/MTFhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgTk9ERV9FTlY6ICdwcm9kdWN0aW9uJyxcbiAgLy8gRk9STUFUX05PREVfTE9HOiBmYWxzZSwgLy8gZGVmYXVsdDogdHJ1ZVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/env.prod.js\n");
- /***/ }),
- /***/ "./config/index.js":
- /*!*************************!*\
- !*** ./config/index.js ***!
- \*************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("function envShortName() {\n switch (\"development\") {\n case 'production':\n return 'prod';\n\n default:\n return 'dev';\n }\n}\n\nmodule.exports = {\n env: __webpack_require__(\"./config sync recursive ^\\\\.\\\\/env\\\\..*$\")(`./env.${envShortName()}`),\n logger: __webpack_require__(\"./config/logger sync recursive ^\\\\.\\\\/config\\\\..*$\")(`./config.${envShortName()}`)\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvaW5kZXguanM/YWNlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBlbnZTaG9ydE5hbWUoKSB7XG4gIHN3aXRjaCAocHJvY2Vzcy5lbnYuTk9ERV9FTlYpIHtcbiAgICBjYXNlICdwcm9kdWN0aW9uJzpcbiAgICAgIHJldHVybiAncHJvZCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnZGV2JztcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZW52OiByZXF1aXJlKGAuL2Vudi4ke2VudlNob3J0TmFtZSgpfWApLFxuICBsb2dnZXI6IHJlcXVpcmUoYC4vbG9nZ2VyL2NvbmZpZy4ke2VudlNob3J0TmFtZSgpfWApLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./config/index.js\n");
- /***/ }),
- /***/ "./config/logger sync recursive ^\\.\\/config\\..*$":
- /*!*********************************************!*\
- !*** ./config/logger sync ^\.\/config\..*$ ***!
- \*********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("var map = {\n\t\"./config.dev\": \"./config/logger/config.dev.js\",\n\t\"./config.dev.js\": \"./config/logger/config.dev.js\",\n\t\"./config.prod\": \"./config/logger/config.prod.js\",\n\t\"./config.prod.js\": \"./config/logger/config.prod.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./config/logger sync recursive ^\\\\.\\\\/config\\\\..*$\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyIHN5bmMgcmVjdXJzaXZlIF5cXC5cXC9jb25maWdcXC4uKiQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvbG9nZ2VyIHN5bmMgXlxcLlxcL2NvbmZpZ1xcLi4qJD9mMmY3Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBtYXAgPSB7XG5cdFwiLi9jb25maWcuZGV2XCI6IFwiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanNcIixcblx0XCIuL2NvbmZpZy5kZXYuanNcIjogXCIuL2NvbmZpZy9sb2dnZXIvY29uZmlnLmRldi5qc1wiLFxuXHRcIi4vY29uZmlnLnByb2RcIjogXCIuL2NvbmZpZy9sb2dnZXIvY29uZmlnLnByb2QuanNcIixcblx0XCIuL2NvbmZpZy5wcm9kLmpzXCI6IFwiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5wcm9kLmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4vY29uZmlnL2xvZ2dlciBzeW5jIHJlY3Vyc2l2ZSBeXFxcXC5cXFxcL2NvbmZpZ1xcXFwuLiokXCI7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./config/logger sync recursive ^\\.\\/config\\..*$\n");
- /***/ }),
- /***/ "./config/logger/config.dev.js":
- /*!*************************************!*\
- !*** ./config/logger/config.dev.js ***!
- \*************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n default: 'info',\n // 'express-session': 'debug',\n\n /*\n * configure level for server\n */\n // 'express:*': 'debug',\n // 'growi:*': 'debug',\n 'growi:crowi': 'debug',\n // 'growi:crow:dev': 'debug',\n 'growi:crowi:express-init': 'debug',\n 'growi:models:external-account': 'debug',\n // 'growi:routes:login': 'debug',\n 'growi:routes:login-passport': 'debug',\n 'growi:middleware:safe-redirect': 'debug',\n 'growi:service:PassportService': 'debug',\n 'growi:service:s2s-messaging:*': 'debug',\n // 'growi:service:socket-io': 'debug',\n // 'growi:service:ConfigManager': 'debug',\n // 'growi:service:mail': 'debug',\n 'growi:lib:search': 'debug',\n // 'growi:service:GlobalNotification': 'debug',\n // 'growi:lib:importer': 'debug',\n // 'growi:routes:page': 'debug',\n 'growi-plugin:*': 'debug',\n // 'growi:InterceptorManager': 'debug',\n\n /*\n * configure level for client\n */\n 'growi:cli:bootstrap': 'debug',\n 'growi:cli:app': 'debug',\n 'growi:services:*': 'debug' // 'growi:StaffCredit': 'debug',\n // 'growi:cli:StickyStretchableScroller': 'debug',\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanM/NTYzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgZGVmYXVsdDogJ2luZm8nLFxuXG4gIC8vICdleHByZXNzLXNlc3Npb24nOiAnZGVidWcnLFxuXG4gIC8qXG4gICAqIGNvbmZpZ3VyZSBsZXZlbCBmb3Igc2VydmVyXG4gICAqL1xuICAvLyAnZXhwcmVzczoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOionOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y3Jvd2knOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6Y3JvdzpkZXYnOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y3Jvd2k6ZXhwcmVzcy1pbml0JzogJ2RlYnVnJyxcbiAgJ2dyb3dpOm1vZGVsczpleHRlcm5hbC1hY2NvdW50JzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnJvdXRlczpsb2dpbic6ICdkZWJ1ZycsXG4gICdncm93aTpyb3V0ZXM6bG9naW4tcGFzc3BvcnQnOiAnZGVidWcnLFxuICAnZ3Jvd2k6bWlkZGxld2FyZTpzYWZlLXJlZGlyZWN0JzogJ2RlYnVnJyxcbiAgJ2dyb3dpOnNlcnZpY2U6UGFzc3BvcnRTZXJ2aWNlJzogJ2RlYnVnJyxcbiAgJ2dyb3dpOnNlcnZpY2U6czJzLW1lc3NhZ2luZzoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnNlcnZpY2U6c29ja2V0LWlvJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnNlcnZpY2U6Q29uZmlnTWFuYWdlcic6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpzZXJ2aWNlOm1haWwnOiAnZGVidWcnLFxuICAnZ3Jvd2k6bGliOnNlYXJjaCc6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpzZXJ2aWNlOkdsb2JhbE5vdGlmaWNhdGlvbic6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpsaWI6aW1wb3J0ZXInOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6cm91dGVzOnBhZ2UnOiAnZGVidWcnLFxuICAnZ3Jvd2ktcGx1Z2luOionOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6SW50ZXJjZXB0b3JNYW5hZ2VyJzogJ2RlYnVnJyxcblxuICAvKlxuICAgKiBjb25maWd1cmUgbGV2ZWwgZm9yIGNsaWVudFxuICAgKi9cbiAgJ2dyb3dpOmNsaTpib290c3RyYXAnOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y2xpOmFwcCc6ICdkZWJ1ZycsXG4gICdncm93aTpzZXJ2aWNlczoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOlN0YWZmQ3JlZGl0JzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOmNsaTpTdGlja3lTdHJldGNoYWJsZVNjcm9sbGVyJzogJ2RlYnVnJyxcblxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFyQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/logger/config.dev.js\n");
- /***/ }),
- /***/ "./config/logger/config.prod.js":
- /*!**************************************!*\
- !*** ./config/logger/config.prod.js ***!
- \**************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n default: 'info',\n 'growi:routes:login-passport': 'debug',\n 'growi:service:PassportService': 'debug'\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5wcm9kLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vY29uZmlnL2xvZ2dlci9jb25maWcucHJvZC5qcz84MzJlIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0ge1xuICBkZWZhdWx0OiAnaW5mbycsXG5cbiAgJ2dyb3dpOnJvdXRlczpsb2dpbi1wYXNzcG9ydCc6ICdkZWJ1ZycsXG4gICdncm93aTpzZXJ2aWNlOlBhc3Nwb3J0U2VydmljZSc6ICdkZWJ1ZycsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBRUE7QUFDQTtBQUpBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./config/logger/config.prod.js\n");
- /***/ }),
- /***/ "./src/client/js/components/InstallerForm.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/InstallerForm.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next */ \"./node_modules/i18next/dist/esm/i18next.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/i18n */ \"./src/client/js/util/i18n.js\");\n\n\n\n\n\n\nclass InstallerForm extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n isValidUserName: true,\n isSubmittingDisabled: false,\n selectedLang: {}\n }; // this.checkUserName = this.checkUserName.bind(this);\n\n this.submitHandler = this.submitHandler.bind(this);\n }\n\n componentWillMount() {\n const meta = _util_i18n__WEBPACK_IMPORTED_MODULE_4__[\"localeMetadatas\"].find(v => v.id === i18next__WEBPACK_IMPORTED_MODULE_2__[\"default\"].language);\n\n if (meta == null) {\n return this.setState({\n selectedLang: _util_i18n__WEBPACK_IMPORTED_MODULE_4__[\"localeMetadatas\"][0]\n });\n }\n\n this.setState({\n selectedLang: meta\n });\n } // checkUserName(event) {\n // const axios = require('axios').create({\n // headers: {\n // 'Content-Type': 'application/json',\n // 'X-Requested-With': 'XMLHttpRequest',\n // },\n // responseType: 'json',\n // });\n // axios.get('/_api/check_username', { params: { username: event.target.value } })\n // .then((res) => { return this.setState({ isValidUserName: res.data.valid }) });\n // }\n\n\n changeLanguage(meta) {\n i18next__WEBPACK_IMPORTED_MODULE_2__[\"default\"].changeLanguage(meta.id);\n this.setState({\n selectedLang: meta\n });\n }\n\n submitHandler() {\n if (this.state.isSubmittingDisabled) {\n return;\n }\n\n this.setState({\n isSubmittingDisabled: true\n });\n setTimeout(() => {\n this.setState({\n isSubmittingDisabled: false\n });\n }, 3000);\n document['register-form'].submit();\n }\n\n render() {\n const hasErrorClass = this.state.isValidUserName ? '' : ' has-error';\n const unavailableUserId = this.state.isValidUserName ? '' : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), this.props.t('installer.unavaliable_user_id'));\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `login-dialog p-3 mx-auto${hasErrorClass}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"alert alert-success\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, this.props.t('installer.create_initial_account')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"small\", null, this.props.t('installer.initial_account_will_be_administrator_automatically'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n role: \"form\",\n action: \"/installer\",\n method: \"post\",\n id: \"register-form\",\n className: \"col-md-12\",\n onSubmit: this.submitHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex dropdown-with-icon\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-bubbles border-0 rounded-0\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-secondary dropdown-toggle text-right w-100 border-0 shadow-none\",\n id: \"dropdownLanguage\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"true\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"float-left\"\n }, this.state.selectedLang.displayName)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"hidden\",\n value: this.state.selectedLang.id,\n name: \"registerForm[app:globalLang]\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu\",\n \"aria-labelledby\": \"dropdownLanguage\"\n }, _util_i18n__WEBPACK_IMPORTED_MODULE_4__[\"localeMetadatas\"].map(meta => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: meta.id,\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => {\n this.changeLanguage(meta);\n }\n }, meta.displayName))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `input-group mb-3${hasErrorClass}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control\",\n placeholder: this.props.t('User ID'),\n name: \"registerForm[username]\",\n defaultValue: this.props.userName // onBlur={this.checkUserName} // need not to check username before installation -- 2020.07.24 Yuki Takei\n ,\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text\"\n }, unavailableUserId), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-tag\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control\",\n placeholder: this.props.t('Name'),\n name: \"registerForm[name]\",\n defaultValue: this.props.name,\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-envelope\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"email\",\n className: \"form-control\",\n placeholder: this.props.t('Email'),\n name: \"registerForm[email]\",\n defaultValue: this.props.email,\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-lock\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"password\",\n className: \"form-control\",\n placeholder: this.props.t('Password'),\n name: \"registerForm[password]\",\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"hidden\",\n name: \"_csrf\",\n value: this.props.csrf\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mt-4 mb-3 d-flex justify-content-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"submit\",\n className: \"btn-fill btn btn-register\",\n id: \"register\",\n disabled: this.state.isSubmittingDisabled\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"eff\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user-follow\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label-text\"\n }, this.props.t('Create')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mt-4 d-flex justify-content-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"https://growi.org\",\n className: \"link-growi-org\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"growi\"\n }, \"GROWI\"), \".\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"org\"\n }, \"ORG\"))))));\n }\n\n}\n\nInstallerForm.propTypes = {\n // i18next\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // for input value\n userName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n name: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n email: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n csrf: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(InstallerForm));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSW5zdGFsbGVyRm9ybS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSW5zdGFsbGVyRm9ybS5qc3g/NDNlNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgbG9jYWxlTWV0YWRhdGFzIH0gZnJvbSAnLi4vdXRpbC9pMThuJztcblxuY2xhc3MgSW5zdGFsbGVyRm9ybSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNWYWxpZFVzZXJOYW1lOiB0cnVlLFxuICAgICAgaXNTdWJtaXR0aW5nRGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWRMYW5nOiB7fSxcbiAgICB9O1xuICAgIC8vIHRoaXMuY2hlY2tVc2VyTmFtZSA9IHRoaXMuY2hlY2tVc2VyTmFtZS5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5zdWJtaXRIYW5kbGVyID0gdGhpcy5zdWJtaXRIYW5kbGVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gICAgY29uc3QgbWV0YSA9IGxvY2FsZU1ldGFkYXRhcy5maW5kKHYgPT4gdi5pZCA9PT0gaTE4bmV4dC5sYW5ndWFnZSk7XG4gICAgaWYgKG1ldGEgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZExhbmc6IGxvY2FsZU1ldGFkYXRhc1swXSB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkTGFuZzogbWV0YSB9KTtcbiAgfVxuXG4gIC8vIGNoZWNrVXNlck5hbWUoZXZlbnQpIHtcbiAgLy8gICBjb25zdCBheGlvcyA9IHJlcXVpcmUoJ2F4aW9zJykuY3JlYXRlKHtcbiAgLy8gICAgIGhlYWRlcnM6IHtcbiAgLy8gICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgLy8gICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnLFxuICAvLyAgICAgfSxcbiAgLy8gICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAvLyAgIH0pO1xuICAvLyAgIGF4aW9zLmdldCgnL19hcGkvY2hlY2tfdXNlcm5hbWUnLCB7IHBhcmFtczogeyB1c2VybmFtZTogZXZlbnQudGFyZ2V0LnZhbHVlIH0gfSlcbiAgLy8gICAgIC50aGVuKChyZXMpID0+IHsgcmV0dXJuIHRoaXMuc2V0U3RhdGUoeyBpc1ZhbGlkVXNlck5hbWU6IHJlcy5kYXRhLnZhbGlkIH0pIH0pO1xuICAvLyB9XG5cbiAgY2hhbmdlTGFuZ3VhZ2UobWV0YSkge1xuICAgIGkxOG5leHQuY2hhbmdlTGFuZ3VhZ2UobWV0YS5pZCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkTGFuZzogbWV0YSB9KTtcbiAgfVxuXG4gIHN1Ym1pdEhhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuaXNTdWJtaXR0aW5nRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgaXNTdWJtaXR0aW5nRGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNTdWJtaXR0aW5nRGlzYWJsZWQ6IGZhbHNlIH0pO1xuICAgIH0sIDMwMDApO1xuXG4gICAgZG9jdW1lbnRbJ3JlZ2lzdGVyLWZvcm0nXS5zdWJtaXQoKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBoYXNFcnJvckNsYXNzID0gdGhpcy5zdGF0ZS5pc1ZhbGlkVXNlck5hbWUgPyAnJyA6ICcgaGFzLWVycm9yJztcbiAgICBjb25zdCB1bmF2YWlsYWJsZVVzZXJJZCA9IHRoaXMuc3RhdGUuaXNWYWxpZFVzZXJOYW1lXG4gICAgICA/ICcnXG4gICAgICA6IDxzcGFuPjxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1iYW5cIiAvPnsgdGhpcy5wcm9wcy50KCdpbnN0YWxsZXIudW5hdmFsaWFibGVfdXNlcl9pZCcpIH08L3NwYW4+O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgbG9naW4tZGlhbG9nIHAtMyBteC1hdXRvJHtoYXNFcnJvckNsYXNzfWB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTEyXCI+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhbGVydCBhbGVydC1zdWNjZXNzXCI+XG4gICAgICAgICAgICAgIDxzdHJvbmc+eyB0aGlzLnByb3BzLnQoJ2luc3RhbGxlci5jcmVhdGVfaW5pdGlhbF9hY2NvdW50JykgfTwvc3Ryb25nPjxiciAvPlxuICAgICAgICAgICAgICA8c21hbGw+eyB0aGlzLnByb3BzLnQoJ2luc3RhbGxlci5pbml0aWFsX2FjY291bnRfd2lsbF9iZV9hZG1pbmlzdHJhdG9yX2F1dG9tYXRpY2FsbHknKSB9PC9zbWFsbD5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgPGZvcm0gcm9sZT1cImZvcm1cIiBhY3Rpb249XCIvaW5zdGFsbGVyXCIgbWV0aG9kPVwicG9zdFwiIGlkPVwicmVnaXN0ZXItZm9ybVwiIGNsYXNzTmFtZT1cImNvbC1tZC0xMlwiIG9uU3VibWl0PXt0aGlzLnN1Ym1pdEhhbmRsZXJ9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcm9wZG93biBtYi0zXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGRyb3Bkb3duLXdpdGgtaWNvblwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tYnViYmxlcyBib3JkZXItMCByb3VuZGVkLTBcIiAvPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlIHRleHQtcmlnaHQgdy0xMDAgYm9yZGVyLTAgc2hhZG93LW5vbmVcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bkxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsb2F0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuc2VsZWN0ZWRMYW5nLmRpc3BsYXlOYW1lfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RlZExhbmcuaWR9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwicmVnaXN0ZXJGb3JtW2FwcDpnbG9iYWxMYW5nXVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bkxhbmd1YWdlXCI+XG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsb2NhbGVNZXRhZGF0YXMubWFwKG1ldGEgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGtleT17bWV0YS5pZH0gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB7IHRoaXMuY2hhbmdlTGFuZ3VhZ2UobWV0YSkgfX0+XG4gICAgICAgICAgICAgICAgICAgICAge21ldGEuZGlzcGxheU5hbWV9XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgaW5wdXQtZ3JvdXAgbWItMyR7aGFzRXJyb3JDbGFzc31gfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzTmFtZT1cImljb24tdXNlclwiIC8+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3RoaXMucHJvcHMudCgnVXNlciBJRCcpfVxuICAgICAgICAgICAgICAgIG5hbWU9XCJyZWdpc3RlckZvcm1bdXNlcm5hbWVdXCJcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMucHJvcHMudXNlck5hbWV9XG4gICAgICAgICAgICAgICAgLy8gb25CbHVyPXt0aGlzLmNoZWNrVXNlck5hbWV9IC8vIG5lZWQgbm90IHRvIGNoZWNrIHVzZXJuYW1lIGJlZm9yZSBpbnN0YWxsYXRpb24gLS0gMjAyMC4wNy4yNCBZdWtpIFRha2VpXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9ybS10ZXh0XCI+eyB1bmF2YWlsYWJsZVVzZXJJZCB9PC9wPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzTmFtZT1cImljb24tdGFnXCIgLz48L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy50KCdOYW1lJyl9XG4gICAgICAgICAgICAgICAgbmFtZT1cInJlZ2lzdGVyRm9ybVtuYW1lXVwiXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLnByb3BzLm5hbWV9XG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzTmFtZT1cImljb24tZW52ZWxvcGVcIiAvPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy50KCdFbWFpbCcpfVxuICAgICAgICAgICAgICAgIG5hbWU9XCJyZWdpc3RlckZvcm1bZW1haWxdXCJcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMucHJvcHMuZW1haWx9XG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPjxpIGNsYXNzTmFtZT1cImljb24tbG9ja1wiIC8+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnQoJ1Bhc3N3b3JkJyl9XG4gICAgICAgICAgICAgICAgbmFtZT1cInJlZ2lzdGVyRm9ybVtwYXNzd29yZF1cIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiX2NzcmZcIiB2YWx1ZT17dGhpcy5wcm9wcy5jc3JmfSAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG10LTQgbWItMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuLWZpbGwgYnRuIGJ0bi1yZWdpc3RlclwiXG4gICAgICAgICAgICAgICAgaWQ9XCJyZWdpc3RlclwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuaXNTdWJtaXR0aW5nRGlzYWJsZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVmZlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJ0bi1sYWJlbFwiPjxpIGNsYXNzTmFtZT1cImljb24tdXNlci1mb2xsb3dcIiAvPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJidG4tbGFiZWwtdGV4dFwiPnsgdGhpcy5wcm9wcy50KCdDcmVhdGUnKSB9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG10LTQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZ3Jvd2kub3JnXCIgY2xhc3NOYW1lPVwibGluay1ncm93aS1vcmdcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJncm93aVwiPkdST1dJPC9zcGFuPi48c3BhbiBjbGFzc05hbWU9XCJvcmdcIj5PUkc8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuSW5zdGFsbGVyRm9ybS5wcm9wVHlwZXMgPSB7XG4gIC8vIGkxOG5leHRcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLy8gZm9yIGlucHV0IHZhbHVlXG4gIHVzZXJOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBlbWFpbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY3NyZjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKEluc3RhbGxlckZvcm0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFQQTtBQVVBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBekxBO0FBQ0E7QUEyTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/InstallerForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/LoginForm.jsx":
- /*!************************************************!*\
- !*** ./src/client/js/components/LoginForm.jsx ***!
- \************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_card_flip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-card-flip */ \"./node_modules/react-card-flip/lib/ReactCardFlip.js\");\n/* harmony import */ var react_card_flip__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_card_flip__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\nclass LoginForm extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n isRegistering: false\n };\n this.switchForm = this.switchForm.bind(this);\n this.handleLoginWithExternalAuth = this.handleLoginWithExternalAuth.bind(this);\n this.renderLocalOrLdapLoginForm = this.renderLocalOrLdapLoginForm.bind(this);\n this.renderExternalAuthLoginForm = this.renderExternalAuthLoginForm.bind(this);\n this.renderExternalAuthInput = this.renderExternalAuthInput.bind(this);\n this.renderRegisterForm = this.renderRegisterForm.bind(this);\n const {\n hash\n } = window.location;\n\n if (hash === '#register') {\n this.state.isRegistering = true;\n }\n }\n\n switchForm() {\n this.setState({\n isRegistering: !this.state.isRegistering\n });\n }\n\n handleLoginWithExternalAuth(e) {\n const auth = e.currentTarget.id;\n const {\n csrf\n } = this.props.appContainer;\n window.location.href = `/passport/${auth}?_csrf=${csrf}`;\n }\n\n renderLocalOrLdapLoginForm() {\n const {\n t,\n appContainer,\n isLdapStrategySetup\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n role: \"form\",\n action: \"/login\",\n method: \"post\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control rounded-0\",\n placeholder: \"Username or E-mail\",\n name: \"loginForm[username]\"\n }), isLdapStrategySetup && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-append\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"small\", {\n className: \"input-group-text text-success\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-check\"\n }), \" LDAP\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-lock\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"password\",\n className: \"form-control rounded-0\",\n placeholder: \"Password\",\n name: \"loginForm[password]\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group my-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"hidden\",\n name: \"_csrf\",\n value: appContainer.csrfToken\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"submit\",\n id: \"login\",\n className: \"btn btn-fill rounded-0 login mx-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"eff\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label-text\"\n }, t('Sign in')))));\n }\n\n renderExternalAuthInput(auth) {\n const {\n t\n } = this.props;\n const authIconNames = {\n google: 'google',\n github: 'github',\n facebook: 'facebook',\n twitter: 'twitter',\n oidc: 'openid',\n saml: 'key',\n basic: 'lock'\n };\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: auth,\n className: \"col-6 my-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-fill rounded-0\",\n id: auth,\n onClick: this.handleLoginWithExternalAuth\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"eff\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `fa fa-${authIconNames[auth]}`\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label-text\"\n }, t('Sign in'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"small text-right\"\n }, \"by \", auth, \" Account\"));\n }\n\n renderExternalAuthLoginForm() {\n const {\n isLocalStrategySetup,\n isLdapStrategySetup,\n objOfIsExternalAuthEnableds\n } = this.props;\n const isExternalAuthCollapsible = isLocalStrategySetup || isLdapStrategySetup;\n const collapsibleClass = isExternalAuthCollapsible ? 'collapse collapse-external-auth' : '';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-external-auth-form border-top border-bottom\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"external-auth\",\n className: `external-auth ${collapsibleClass}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mt-2\"\n }, Object.keys(objOfIsExternalAuthEnableds).map(auth => {\n if (!objOfIsExternalAuthEnableds[auth]) {\n return;\n }\n\n return this.renderExternalAuthInput(auth);\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-secondary btn-external-auth-tab btn-sm rounded-0 mb-3\",\n \"data-toggle\": isExternalAuthCollapsible ? 'collapse' : '',\n \"data-target\": \"#external-auth\",\n \"aria-expanded\": \"false\",\n \"aria-controls\": \"external-auth\"\n }, \"External Auth\")));\n }\n\n renderRegisterForm() {\n const {\n t,\n appContainer,\n username,\n name,\n email,\n registrationMode,\n registrationWhiteList\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, registrationMode === 'Restricted' && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"alert alert-warning\"\n }, t('page_register.notice.restricted'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), t('page_register.notice.restricted_defail')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n role: \"form\",\n action: \"/register\",\n method: \"post\",\n id: \"register-form\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\",\n id: \"input-group-username\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control rounded-0\",\n placeholder: t('User ID'),\n name: \"registerForm[username]\",\n defaultValue: username,\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-danger\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n id: \"help-block-username\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-tag\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control rounded-0\",\n placeholder: t('Name'),\n name: \"registerForm[name]\",\n defaultValue: name,\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-envelope\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"email\",\n className: \"form-control rounded-0\",\n placeholder: t('Email'),\n name: \"registerForm[email]\",\n defaultValue: email,\n required: true\n })), registrationWhiteList.length > 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text\"\n }, t('page_register.form_help.email')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", null, registrationWhiteList.map(elem => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: elem\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, elem));\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-lock\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"password\",\n className: \"form-control rounded-0\",\n placeholder: t('Password'),\n name: \"registerForm[password]\",\n required: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group justify-content-center my-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"hidden\",\n name: \"_csrf\",\n value: appContainer.csrfToken\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"submit\",\n className: \"btn btn-fill rounded-0\",\n id: \"register\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"eff\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user-follow\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label-text\"\n }, t('Sign up'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"border-bottom\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-right col-12 mt-2 py-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#login\",\n id: \"login\",\n className: \"link-switch\",\n onClick: this.switchForm\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-login\"\n }), t('Sign in is here')))));\n }\n\n render() {\n const {\n t,\n isLocalStrategySetup,\n isLdapStrategySetup,\n isRegistrationEnabled,\n isPasswordResetEnabled,\n objOfIsExternalAuthEnableds\n } = this.props;\n const isLocalOrLdapStrategiesEnabled = isLocalStrategySetup || isLdapStrategySetup;\n const isSomeExternalAuthEnabled = Object.values(objOfIsExternalAuthEnableds).some(elem => elem);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"login-dialog mx-auto\",\n id: \"login-dialog\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mx-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_card_flip__WEBPACK_IMPORTED_MODULE_2___default.a, {\n isFlipped: this.state.isRegistering,\n flipDirection: \"horizontal\",\n cardZIndex: \"3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"front\"\n }, isLocalOrLdapStrategiesEnabled && this.renderLocalOrLdapLoginForm(), isSomeExternalAuthEnabled && this.renderExternalAuthLoginForm(), isRegistrationEnabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12 text-right py-2\"\n }, isPasswordResetEnabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/forgot-password\",\n className: \"d-block link-switch mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-key\"\n }), \" \", t('forgot_password.forgot_password')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#register\",\n id: \"register\",\n className: \"link-switch\",\n onClick: this.switchForm\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-check-box\"\n }), \" \", t('Sign up is here'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"back\"\n }, isRegistrationEnabled && this.renderRegisterForm())))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"https://growi.org\",\n className: \"link-growi-org pl-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"growi\"\n }, \"GROWI\"), \".\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"org\"\n }, \"ORG\")));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst LoginFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(LoginForm, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nLoginForm.propTypes = {\n // i18next\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n isRegistering: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n username: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n name: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n email: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n isRegistrationEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n registrationMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n registrationWhiteList: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,\n isPasswordResetEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isLocalStrategySetup: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isLdapStrategySetup: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n objOfIsExternalAuthEnableds: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(LoginFormWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTG9naW5Gb3JtLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9Mb2dpbkZvcm0uanN4P2I0ZTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3RDYXJkRmxpcCBmcm9tICdyZWFjdC1jYXJkLWZsaXAnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5cbmNsYXNzIExvZ2luRm9ybSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNSZWdpc3RlcmluZzogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMuc3dpdGNoRm9ybSA9IHRoaXMuc3dpdGNoRm9ybS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlTG9naW5XaXRoRXh0ZXJuYWxBdXRoID0gdGhpcy5oYW5kbGVMb2dpbldpdGhFeHRlcm5hbEF1dGguYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlbmRlckxvY2FsT3JMZGFwTG9naW5Gb3JtID0gdGhpcy5yZW5kZXJMb2NhbE9yTGRhcExvZ2luRm9ybS5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVyRXh0ZXJuYWxBdXRoTG9naW5Gb3JtID0gdGhpcy5yZW5kZXJFeHRlcm5hbEF1dGhMb2dpbkZvcm0uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlbmRlckV4dGVybmFsQXV0aElucHV0ID0gdGhpcy5yZW5kZXJFeHRlcm5hbEF1dGhJbnB1dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVyUmVnaXN0ZXJGb3JtID0gdGhpcy5yZW5kZXJSZWdpc3RlckZvcm0uYmluZCh0aGlzKTtcblxuICAgIGNvbnN0IHsgaGFzaCB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIGlmIChoYXNoID09PSAnI3JlZ2lzdGVyJykge1xuICAgICAgdGhpcy5zdGF0ZS5pc1JlZ2lzdGVyaW5nID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hGb3JtKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1JlZ2lzdGVyaW5nOiAhdGhpcy5zdGF0ZS5pc1JlZ2lzdGVyaW5nIH0pO1xuICB9XG5cbiAgaGFuZGxlTG9naW5XaXRoRXh0ZXJuYWxBdXRoKGUpIHtcbiAgICBjb25zdCBhdXRoID0gZS5jdXJyZW50VGFyZ2V0LmlkO1xuICAgIGNvbnN0IHsgY3NyZiB9ID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXI7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL3Bhc3Nwb3J0LyR7YXV0aH0/X2NzcmY9JHtjc3JmfWA7XG4gIH1cblxuICByZW5kZXJMb2NhbE9yTGRhcExvZ2luRm9ybSgpIHtcbiAgICBjb25zdCB7IHQsIGFwcENvbnRhaW5lciwgaXNMZGFwU3RyYXRlZ3lTZXR1cCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8Zm9ybSByb2xlPVwiZm9ybVwiIGFjdGlvbj1cIi9sb2dpblwiIG1ldGhvZD1cInBvc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLXVzZXJcIj48L2k+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHBsYWNlaG9sZGVyPVwiVXNlcm5hbWUgb3IgRS1tYWlsXCIgbmFtZT1cImxvZ2luRm9ybVt1c2VybmFtZV1cIiAvPlxuICAgICAgICAgIHtpc0xkYXBTdHJhdGVneVNldHVwICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC10ZXh0IHRleHQtc3VjY2Vzc1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1jaGVja1wiPjwvaT4gTERBUFxuICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWxvY2tcIj48L2k+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCIgbmFtZT1cImxvZ2luRm9ybVtwYXNzd29yZF1cIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIG15LTRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJfY3NyZlwiIHZhbHVlPXthcHBDb250YWluZXIuY3NyZlRva2VufSAvPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGlkPVwibG9naW5cIiBjbGFzc05hbWU9XCJidG4gYnRuLWZpbGwgcm91bmRlZC0wIGxvZ2luIG14LWF1dG9cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWZmXCI+PC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJidG4tbGFiZWxcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1sb2dpblwiPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJ0bi1sYWJlbC10ZXh0XCI+e3QoJ1NpZ24gaW4nKX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJFeHRlcm5hbEF1dGhJbnB1dChhdXRoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGF1dGhJY29uTmFtZXMgPSB7XG4gICAgICBnb29nbGU6ICdnb29nbGUnLFxuICAgICAgZ2l0aHViOiAnZ2l0aHViJyxcbiAgICAgIGZhY2Vib29rOiAnZmFjZWJvb2snLFxuICAgICAgdHdpdHRlcjogJ3R3aXR0ZXInLFxuICAgICAgb2lkYzogJ29wZW5pZCcsXG4gICAgICBzYW1sOiAna2V5JyxcbiAgICAgIGJhc2ljOiAnbG9jaycsXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGtleT17YXV0aH0gY2xhc3NOYW1lPVwiY29sLTYgbXktMlwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLWZpbGwgcm91bmRlZC0wXCIgaWQ9e2F1dGh9IG9uQ2xpY2s9e3RoaXMuaGFuZGxlTG9naW5XaXRoRXh0ZXJuYWxBdXRofT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVmZlwiPjwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJ0bi1sYWJlbFwiPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPXtgZmEgZmEtJHthdXRoSWNvbk5hbWVzW2F1dGhdfWB9PjwvaT5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYnRuLWxhYmVsLXRleHRcIj57dCgnU2lnbiBpbicpfTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwgdGV4dC1yaWdodFwiPmJ5IHthdXRofSBBY2NvdW50PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyRXh0ZXJuYWxBdXRoTG9naW5Gb3JtKCkge1xuICAgIGNvbnN0IHsgaXNMb2NhbFN0cmF0ZWd5U2V0dXAsIGlzTGRhcFN0cmF0ZWd5U2V0dXAsIG9iak9mSXNFeHRlcm5hbEF1dGhFbmFibGVkcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpc0V4dGVybmFsQXV0aENvbGxhcHNpYmxlID0gaXNMb2NhbFN0cmF0ZWd5U2V0dXAgfHwgaXNMZGFwU3RyYXRlZ3lTZXR1cDtcbiAgICBjb25zdCBjb2xsYXBzaWJsZUNsYXNzID0gaXNFeHRlcm5hbEF1dGhDb2xsYXBzaWJsZSA/ICdjb2xsYXBzZSBjb2xsYXBzZS1leHRlcm5hbC1hdXRoJyA6ICcnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LWV4dGVybmFsLWF1dGgtZm9ybSBib3JkZXItdG9wIGJvcmRlci1ib3R0b21cIj5cbiAgICAgICAgICA8ZGl2IGlkPVwiZXh0ZXJuYWwtYXV0aFwiIGNsYXNzTmFtZT17YGV4dGVybmFsLWF1dGggJHtjb2xsYXBzaWJsZUNsYXNzfWB9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXQtMlwiPlxuICAgICAgICAgICAgICB7T2JqZWN0LmtleXMob2JqT2ZJc0V4dGVybmFsQXV0aEVuYWJsZWRzKS5tYXAoKGF1dGgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW9iak9mSXNFeHRlcm5hbEF1dGhFbmFibGVkc1thdXRoXSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJFeHRlcm5hbEF1dGhJbnB1dChhdXRoKTtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1leHRlcm5hbC1hdXRoLXRhYiBidG4tc20gcm91bmRlZC0wIG1iLTNcIlxuICAgICAgICAgICAgZGF0YS10b2dnbGU9e2lzRXh0ZXJuYWxBdXRoQ29sbGFwc2libGUgPyAnY29sbGFwc2UnIDogJyd9XG4gICAgICAgICAgICBkYXRhLXRhcmdldD1cIiNleHRlcm5hbC1hdXRoXCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZXh0ZXJuYWwtYXV0aFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgRXh0ZXJuYWwgQXV0aFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJSZWdpc3RlckZvcm0oKSB7XG4gICAgY29uc3Qge1xuICAgICAgdCxcbiAgICAgIGFwcENvbnRhaW5lcixcbiAgICAgIHVzZXJuYW1lLFxuICAgICAgbmFtZSxcbiAgICAgIGVtYWlsLFxuICAgICAgcmVnaXN0cmF0aW9uTW9kZSxcbiAgICAgIHJlZ2lzdHJhdGlvbldoaXRlTGlzdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIHtyZWdpc3RyYXRpb25Nb2RlID09PSAnUmVzdHJpY3RlZCcgJiYgKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJhbGVydCBhbGVydC13YXJuaW5nXCI+XG4gICAgICAgICAge3QoJ3BhZ2VfcmVnaXN0ZXIubm90aWNlLnJlc3RyaWN0ZWQnKX1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICB7dCgncGFnZV9yZWdpc3Rlci5ub3RpY2UucmVzdHJpY3RlZF9kZWZhaWwnKX1cbiAgICAgICAgPC9wPlxuICAgICAgICApfVxuICAgICAgICA8Zm9ybSByb2xlPVwiZm9ybVwiIGFjdGlvbj1cIi9yZWdpc3RlclwiIG1ldGhvZD1cInBvc3RcIiBpZD1cInJlZ2lzdGVyLWZvcm1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCIgaWQ9XCJpbnB1dC1ncm91cC11c2VybmFtZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXRleHRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLXVzZXJcIj48L2k+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHBsYWNlaG9sZGVyPXt0KCdVc2VyIElEJyl9IG5hbWU9XCJyZWdpc3RlckZvcm1bdXNlcm5hbWVdXCIgZGVmYXVsdFZhbHVlPXt1c2VybmFtZX0gcmVxdWlyZWQgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1kYW5nZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGlkPVwiaGVscC1ibG9jay11c2VybmFtZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tdGFnXCI+PC9pPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiBwbGFjZWhvbGRlcj17dCgnTmFtZScpfSBuYW1lPVwicmVnaXN0ZXJGb3JtW25hbWVdXCIgZGVmYXVsdFZhbHVlPXtuYW1lfSByZXF1aXJlZCAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXRleHRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWVudmVsb3BlXCI+PC9pPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzc05hbWU9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC0wXCIgcGxhY2Vob2xkZXI9e3QoJ0VtYWlsJyl9IG5hbWU9XCJyZWdpc3RlckZvcm1bZW1haWxdXCIgZGVmYXVsdFZhbHVlPXtlbWFpbH0gcmVxdWlyZWQgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHtyZWdpc3RyYXRpb25XaGl0ZUxpc3QubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvcm0tdGV4dFwiPnt0KCdwYWdlX3JlZ2lzdGVyLmZvcm1faGVscC5lbWFpbCcpfTwvcD5cbiAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAge3JlZ2lzdHJhdGlvbldoaXRlTGlzdC5tYXAoKGVsZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e2VsZW19PlxuICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPntlbGVtfTwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbG9ja1wiPjwvaT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHBsYWNlaG9sZGVyPXt0KCdQYXNzd29yZCcpfSBuYW1lPVwicmVnaXN0ZXJGb3JtW3Bhc3N3b3JkXVwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIGp1c3RpZnktY29udGVudC1jZW50ZXIgbXktNFwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiX2NzcmZcIiB2YWx1ZT17YXBwQ29udGFpbmVyLmNzcmZUb2tlbn0gLz5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzTmFtZT1cImJ0biBidG4tZmlsbCByb3VuZGVkLTBcIiBpZD1cInJlZ2lzdGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWZmXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJ0bi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tdXNlci1mb2xsb3dcIj48L2k+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYnRuLWxhYmVsLXRleHRcIj57dCgnU2lnbiB1cCcpfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItYm90dG9tXCI+PC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtcmlnaHQgY29sLTEyIG10LTIgcHktMlwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIiNsb2dpblwiIGlkPVwibG9naW5cIiBjbGFzc05hbWU9XCJsaW5rLXN3aXRjaFwiIG9uQ2xpY2s9e3RoaXMuc3dpdGNoRm9ybX0+XG4gICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1sb2dpblwiPjwvaT5cbiAgICAgICAgICAgICAge3QoJ1NpZ24gaW4gaXMgaGVyZScpfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB0LFxuICAgICAgaXNMb2NhbFN0cmF0ZWd5U2V0dXAsXG4gICAgICBpc0xkYXBTdHJhdGVneVNldHVwLFxuICAgICAgaXNSZWdpc3RyYXRpb25FbmFibGVkLFxuICAgICAgaXNQYXNzd29yZFJlc2V0RW5hYmxlZCxcbiAgICAgIG9iak9mSXNFeHRlcm5hbEF1dGhFbmFibGVkcyxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGlzTG9jYWxPckxkYXBTdHJhdGVnaWVzRW5hYmxlZCA9IGlzTG9jYWxTdHJhdGVneVNldHVwIHx8IGlzTGRhcFN0cmF0ZWd5U2V0dXA7XG4gICAgY29uc3QgaXNTb21lRXh0ZXJuYWxBdXRoRW5hYmxlZCA9IE9iamVjdC52YWx1ZXMob2JqT2ZJc0V4dGVybmFsQXV0aEVuYWJsZWRzKS5zb21lKGVsZW0gPT4gZWxlbSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsb2dpbi1kaWFsb2cgbXgtYXV0b1wiIGlkPVwibG9naW4tZGlhbG9nXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG14LTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPFJlYWN0Q2FyZEZsaXAgaXNGbGlwcGVkPXt0aGlzLnN0YXRlLmlzUmVnaXN0ZXJpbmd9IGZsaXBEaXJlY3Rpb249XCJob3Jpem9udGFsXCIgY2FyZFpJbmRleD1cIjNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmcm9udFwiPlxuICAgICAgICAgICAgICAgIHtpc0xvY2FsT3JMZGFwU3RyYXRlZ2llc0VuYWJsZWQgJiYgdGhpcy5yZW5kZXJMb2NhbE9yTGRhcExvZ2luRm9ybSgpfVxuICAgICAgICAgICAgICAgIHtpc1NvbWVFeHRlcm5hbEF1dGhFbmFibGVkICYmIHRoaXMucmVuZGVyRXh0ZXJuYWxBdXRoTG9naW5Gb3JtKCl9XG4gICAgICAgICAgICAgICAge2lzUmVnaXN0cmF0aW9uRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEyIHRleHQtcmlnaHQgcHktMlwiPlxuICAgICAgICAgICAgICAgICAgICB7aXNQYXNzd29yZFJlc2V0RW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvZm9yZ290LXBhc3N3b3JkXCIgY2xhc3NOYW1lPVwiZC1ibG9jayBsaW5rLXN3aXRjaCBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1rZXlcIj48L2k+IHt0KCdmb3Jnb3RfcGFzc3dvcmQuZm9yZ290X3Bhc3N3b3JkJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNyZWdpc3RlclwiIGlkPVwicmVnaXN0ZXJcIiBjbGFzc05hbWU9XCJsaW5rLXN3aXRjaFwiIG9uQ2xpY2s9e3RoaXMuc3dpdGNoRm9ybX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktY2hlY2stYm94XCI+PC9pPiB7dCgnU2lnbiB1cCBpcyBoZXJlJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYWNrXCI+XG4gICAgICAgICAgICAgICAge2lzUmVnaXN0cmF0aW9uRW5hYmxlZCAmJiB0aGlzLnJlbmRlclJlZ2lzdGVyRm9ybSgpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvUmVhY3RDYXJkRmxpcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhIGhyZWY9XCJodHRwczovL2dyb3dpLm9yZ1wiIGNsYXNzTmFtZT1cImxpbmstZ3Jvd2ktb3JnIHBsLTNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJncm93aVwiPkdST1dJPC9zcGFuPi48c3BhbiBjbGFzc05hbWU9XCJvcmdcIj5PUkc8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBMb2dpbkZvcm1XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhMb2dpbkZvcm0sIFtBcHBDb250YWluZXJdKTtcblxuTG9naW5Gb3JtLnByb3BUeXBlcyA9IHtcbiAgLy8gaTE4bmV4dFxuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpc1JlZ2lzdGVyaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgdXNlcm5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGVtYWlsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpc1JlZ2lzdHJhdGlvbkVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICByZWdpc3RyYXRpb25Nb2RlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICByZWdpc3RyYXRpb25XaGl0ZUxpc3Q6IFByb3BUeXBlcy5hcnJheSxcbiAgaXNQYXNzd29yZFJlc2V0RW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzTG9jYWxTdHJhdGVneVNldHVwOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNMZGFwU3RyYXRlZ3lTZXR1cDogUHJvcFR5cGVzLmJvb2wsXG4gIG9iak9mSXNFeHRlcm5hbEF1dGhFbmFibGVkczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKExvZ2luRm9ybVdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUVBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFJQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUdBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFJQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFLQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQTlSQTtBQWlTQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBO0FBa0JBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/LoginForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PasswordResetExecutionForm.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PasswordResetExecutionForm.jsx ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_3___default()('growi:passwordReset');\n\nconst PasswordResetExecutionForm = props => {\n const {\n t,\n appContainer\n } = props;\n const [newPassword, setNewPassword] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])('');\n const [newPasswordConfirm, setNewPasswordConfirm] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])('');\n const [validationErrorI18n, setValidationErrorI18n] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(''); // get token from URL\n\n const pathname = window.location.pathname.split('/');\n const token = pathname[2];\n\n const changePassword = async e => {\n e.preventDefault();\n\n if (newPassword === '' || newPasswordConfirm === '') {\n setValidationErrorI18n('personal_settings.password_is_not_set');\n return;\n }\n\n if (newPassword !== newPasswordConfirm) {\n setValidationErrorI18n('forgot_password.password_and_confirm_password_does_not_match');\n return;\n }\n\n try {\n await appContainer.apiv3Put('/forgot-password', {\n token,\n newPassword,\n newPasswordConfirm\n });\n setNewPassword('');\n setNewPasswordConfirm('');\n setValidationErrorI18n('');\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_6__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Password')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_6__[\"toastError\"])(err);\n logger.error(err);\n }\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n role: \"form\",\n onSubmit: changePassword\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n name: \"password\",\n placeholder: t('forgot_password.new_password'),\n className: \"form-control\",\n type: \"password\",\n onChange: e => setNewPassword(e.target.value)\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n name: \"password\",\n placeholder: t('forgot_password.confirm_new_password'),\n className: \"form-control\",\n type: \"password\",\n onChange: e => setNewPasswordConfirm(e.target.value)\n })), validationErrorI18n !== '' && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-danger mt-2\"\n }, t(validationErrorI18n))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n name: \"reset-password-btn\",\n className: \"btn btn-lg btn-primary btn-block\",\n value: t('forgot_password.reset_password'),\n type: \"submit\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/login\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login mr-1\"\n }), t('forgot_password.sign_in_instead')));\n};\n\nconst PasswordResetExecutionFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(PasswordResetExecutionForm, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nPasswordResetExecutionForm.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PasswordResetExecutionFormWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFzc3dvcmRSZXNldEV4ZWN1dGlvbkZvcm0uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1Bhc3N3b3JkUmVzZXRFeGVjdXRpb25Gb3JtLmpzeD81OGFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgeyB0b2FzdFN1Y2Nlc3MsIHRvYXN0RXJyb3IgfSBmcm9tICcuLi91dGlsL2FwaU5vdGlmaWNhdGlvbic7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoJ2dyb3dpOnBhc3N3b3JkUmVzZXQnKTtcblxuXG5jb25zdCBQYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIGFwcENvbnRhaW5lciB9ID0gcHJvcHM7XG5cbiAgY29uc3QgW25ld1Bhc3N3b3JkLCBzZXROZXdQYXNzd29yZF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtuZXdQYXNzd29yZENvbmZpcm0sIHNldE5ld1Bhc3N3b3JkQ29uZmlybV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFt2YWxpZGF0aW9uRXJyb3JJMThuLCBzZXRWYWxpZGF0aW9uRXJyb3JJMThuXSA9IHVzZVN0YXRlKCcnKTtcblxuICAvLyBnZXQgdG9rZW4gZnJvbSBVUkxcbiAgY29uc3QgcGF0aG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKTtcbiAgY29uc3QgdG9rZW4gPSBwYXRobmFtZVsyXTtcblxuICBjb25zdCBjaGFuZ2VQYXNzd29yZCA9IGFzeW5jKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAobmV3UGFzc3dvcmQgPT09ICcnIHx8IG5ld1Bhc3N3b3JkQ29uZmlybSA9PT0gJycpIHtcbiAgICAgIHNldFZhbGlkYXRpb25FcnJvckkxOG4oJ3BlcnNvbmFsX3NldHRpbmdzLnBhc3N3b3JkX2lzX25vdF9zZXQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobmV3UGFzc3dvcmQgIT09IG5ld1Bhc3N3b3JkQ29uZmlybSkge1xuICAgICAgc2V0VmFsaWRhdGlvbkVycm9ySTE4bignZm9yZ290X3Bhc3N3b3JkLnBhc3N3b3JkX2FuZF9jb25maXJtX3Bhc3N3b3JkX2RvZXNfbm90X21hdGNoJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M1B1dCgnL2ZvcmdvdC1wYXNzd29yZCcsIHtcbiAgICAgICAgdG9rZW4sIG5ld1Bhc3N3b3JkLCBuZXdQYXNzd29yZENvbmZpcm0sXG4gICAgICB9KTtcblxuICAgICAgc2V0TmV3UGFzc3dvcmQoJycpO1xuICAgICAgc2V0TmV3UGFzc3dvcmRDb25maXJtKCcnKTtcbiAgICAgIHNldFZhbGlkYXRpb25FcnJvckkxOG4oJycpO1xuXG4gICAgICB0b2FzdFN1Y2Nlc3ModCgndG9hc3Rlci51cGRhdGVfc3VjY2Vzc2VkJywgeyB0YXJnZXQ6IHQoJ1Bhc3N3b3JkJykgfSkpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxmb3JtIHJvbGU9XCJmb3JtXCIgb25TdWJtaXQ9e2NoYW5nZVBhc3N3b3JkfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ2ZvcmdvdF9wYXNzd29yZC5uZXdfcGFzc3dvcmQnKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gc2V0TmV3UGFzc3dvcmQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdmb3Jnb3RfcGFzc3dvcmQuY29uZmlybV9uZXdfcGFzc3dvcmQnKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gc2V0TmV3UGFzc3dvcmRDb25maXJtKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge3ZhbGlkYXRpb25FcnJvckkxOG4gIT09ICcnICYmIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWRhbmdlciBtdC0yXCI+e3QodmFsaWRhdGlvbkVycm9ySTE4bil9PC9wPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGlucHV0IG5hbWU9XCJyZXNldC1wYXNzd29yZC1idG5cIiBjbGFzc05hbWU9XCJidG4gYnRuLWxnIGJ0bi1wcmltYXJ5IGJ0bi1ibG9ja1wiIHZhbHVlPXt0KCdmb3Jnb3RfcGFzc3dvcmQucmVzZXRfcGFzc3dvcmQnKX0gdHlwZT1cInN1Ym1pdFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhIGhyZWY9XCIvbG9naW5cIj5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1sb2dpbiBtci0xXCI+PC9pPnt0KCdmb3Jnb3RfcGFzc3dvcmQuc2lnbl9pbl9pbnN0ZWFkJyl9XG4gICAgICA8L2E+XG4gICAgPC9mb3JtPlxuICApO1xufTtcblxuY29uc3QgUGFzc3dvcmRSZXNldEV4ZWN1dGlvbkZvcm1XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhQYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybSwgW0FwcENvbnRhaW5lcl0pO1xuXG5QYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybS5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFzc3dvcmRSZXNldEV4ZWN1dGlvbkZvcm1XcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUZBO0FBS0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PasswordResetExecutionForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PasswordResetRequestForm.jsx":
- /*!***************************************************************!*\
- !*** ./src/client/js/components/PasswordResetRequestForm.jsx ***!
- \***************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\nconst PasswordResetRequestForm = props => {\n const {\n t,\n appContainer\n } = props;\n const [email, setEmail] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])('');\n\n const changeEmail = inputValue => {\n setEmail(inputValue);\n };\n\n const sendPasswordResetRequestMail = async e => {\n e.preventDefault();\n\n if (email === '') {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])('err', t('forgot_password.email_is_required'));\n return;\n }\n\n try {\n await appContainer.apiv3Post('/forgot-password', {\n email\n });\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastSuccess\"])(t('forgot_password.success_to_send_email'));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])('err', err);\n }\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n onSubmit: sendPasswordResetRequestMail\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n name: \"email\",\n placeholder: \"E-mail Address\",\n className: \"form-control\",\n type: \"email\",\n onChange: e => changeEmail(e.target.value)\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-lg btn-primary btn-block\",\n type: \"submit\"\n }, t('forgot_password.send'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/login\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login mr-1\"\n }), t('forgot_password.return_to_login')));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PasswordResetRequestFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(PasswordResetRequestForm, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nPasswordResetRequestForm.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PasswordResetRequestFormWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYXNzd29yZFJlc2V0UmVxdWVzdEZvcm0uanN4PzNkMTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHsgdG9hc3RTdWNjZXNzLCB0b2FzdEVycm9yIH0gZnJvbSAnLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuXG5jb25zdCBQYXNzd29yZFJlc2V0UmVxdWVzdEZvcm0gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB0LCBhcHBDb250YWluZXIgfSA9IHByb3BzO1xuICBjb25zdCBbZW1haWwsIHNldEVtYWlsXSA9IHVzZVN0YXRlKCcnKTtcblxuICBjb25zdCBjaGFuZ2VFbWFpbCA9IChpbnB1dFZhbHVlKSA9PiB7XG4gICAgc2V0RW1haWwoaW5wdXRWYWx1ZSk7XG4gIH07XG5cbiAgY29uc3Qgc2VuZFBhc3N3b3JkUmVzZXRSZXF1ZXN0TWFpbCA9IGFzeW5jKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKGVtYWlsID09PSAnJykge1xuICAgICAgdG9hc3RFcnJvcignZXJyJywgdCgnZm9yZ290X3Bhc3N3b3JkLmVtYWlsX2lzX3JlcXVpcmVkJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNQb3N0KCcvZm9yZ290LXBhc3N3b3JkJywgeyBlbWFpbCB9KTtcbiAgICAgIHRvYXN0U3VjY2Vzcyh0KCdmb3Jnb3RfcGFzc3dvcmQuc3VjY2Vzc190b19zZW5kX2VtYWlsJykpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKCdlcnInLCBlcnIpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxmb3JtIG9uU3VibWl0PXtzZW5kUGFzc3dvcmRSZXNldFJlcXVlc3RNYWlsfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPGlucHV0IG5hbWU9XCJlbWFpbFwiIHBsYWNlaG9sZGVyPVwiRS1tYWlsIEFkZHJlc3NcIiBjbGFzc05hbWU9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwiZW1haWxcIiBvbkNoYW5nZT17ZSA9PiBjaGFuZ2VFbWFpbChlLnRhcmdldC52YWx1ZSl9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tbGcgYnRuLXByaW1hcnkgYnRuLWJsb2NrXCJcbiAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt0KCdmb3Jnb3RfcGFzc3dvcmQuc2VuZCcpfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGEgaHJlZj1cIi9sb2dpblwiPlxuICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWxvZ2luIG1yLTFcIj48L2k+e3QoJ2ZvcmdvdF9wYXNzd29yZC5yZXR1cm5fdG9fbG9naW4nKX1cbiAgICAgIDwvYT5cbiAgICA8L2Zvcm0+XG4gICk7XG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYXNzd29yZFJlc2V0UmVxdWVzdEZvcm1XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhQYXNzd29yZFJlc2V0UmVxdWVzdEZvcm0sIFtBcHBDb250YWluZXJdKTtcblxuUGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQYXNzd29yZFJlc2V0UmVxdWVzdEZvcm1XcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBRUE7QUFDQTtBQUZBO0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUVBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFGQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PasswordResetRequestForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/nologin.jsx":
- /*!***********************************!*\
- !*** ./src/client/js/nologin.jsx ***!
- \***********************************/
- /*! no exports provided */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util/i18n */ \"./src/client/js/util/i18n.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _components_InstallerForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/InstallerForm */ \"./src/client/js/components/InstallerForm.jsx\");\n/* harmony import */ var _components_LoginForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/LoginForm */ \"./src/client/js/components/LoginForm.jsx\");\n/* harmony import */ var _components_PasswordResetRequestForm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/PasswordResetRequestForm */ \"./src/client/js/components/PasswordResetRequestForm.jsx\");\n/* harmony import */ var _components_PasswordResetExecutionForm__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/PasswordResetExecutionForm */ \"./src/client/js/components/PasswordResetExecutionForm.jsx\");\n\n\n\n\n\n\n\n\n\n\nconst i18n = Object(_util_i18n__WEBPACK_IMPORTED_MODULE_4__[\"i18nFactory\"])(); // render InstallerForm\n\nconst installerFormElem = document.getElementById('installer-form');\n\nif (installerFormElem) {\n const userName = installerFormElem.dataset.userName;\n const name = installerFormElem.dataset.name;\n const email = installerFormElem.dataset.email;\n const csrf = installerFormElem.dataset.csrf;\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"I18nextProvider\"], {\n i18n: i18n\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_InstallerForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n userName: userName,\n name: name,\n email: email,\n csrf: csrf\n })), installerFormElem);\n} // render loginForm\n\n\nconst loginFormElem = document.getElementById('login-form');\n\nif (loginFormElem) {\n const appContainer = new _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n appContainer.initApp();\n const username = loginFormElem.dataset.username;\n const name = loginFormElem.dataset.name;\n const email = loginFormElem.dataset.email;\n const isRegistrationEnabled = loginFormElem.dataset.isRegistrationEnabled === 'true';\n const registrationMode = loginFormElem.dataset.registrationMode;\n const isPasswordResetEnabled = loginFormElem.dataset.isPasswordResetEnabled === 'true';\n let registrationWhiteList = loginFormElem.dataset.registrationWhiteList;\n registrationWhiteList = registrationWhiteList.length > 0 ? registrationWhiteList = loginFormElem.dataset.registrationWhiteList.split(',') : registrationWhiteList = [];\n const isLocalStrategySetup = loginFormElem.dataset.isLocalStrategySetup === 'true';\n const isLdapStrategySetup = loginFormElem.dataset.isLdapStrategySetup === 'true';\n const objOfIsExternalAuthEnableds = {\n google: loginFormElem.dataset.isGoogleAuthEnabled === 'true',\n github: loginFormElem.dataset.isGithubAuthEnabled === 'true',\n facebook: loginFormElem.dataset.isFacebookAuthEnabled === 'true',\n twitter: loginFormElem.dataset.isTwitterAuthEnabled === 'true',\n saml: loginFormElem.dataset.isSamlAuthEnabled === 'true',\n oidc: loginFormElem.dataset.isOidcAuthEnabled === 'true',\n basic: loginFormElem.dataset.isBasicAuthEnabled === 'true'\n };\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"I18nextProvider\"], {\n i18n: i18n\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Provider\"], {\n inject: [appContainer]\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_LoginForm__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n username: username,\n name: name,\n email: email,\n isRegistrationEnabled: isRegistrationEnabled,\n registrationMode: registrationMode,\n registrationWhiteList: registrationWhiteList,\n isPasswordResetEnabled: isPasswordResetEnabled,\n isLocalStrategySetup: isLocalStrategySetup,\n isLdapStrategySetup: isLdapStrategySetup,\n objOfIsExternalAuthEnableds: objOfIsExternalAuthEnableds\n }))), loginFormElem);\n} // render PasswordResetRequestForm\n\n\nconst passwordResetRequestFormElem = document.getElementById('password-reset-request-form');\nconst appContainer = new _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\nappContainer.initApp();\n\nif (passwordResetRequestFormElem) {\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"I18nextProvider\"], {\n i18n: i18n\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Provider\"], {\n inject: [appContainer]\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PasswordResetRequestForm__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))), passwordResetRequestFormElem);\n} // render PasswordResetRequestForm\n\n\nconst passwordResetExecutionFormElem = document.getElementById('password-reset-execution-form');\n\nif (passwordResetExecutionFormElem) {\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"I18nextProvider\"], {\n i18n: i18n\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Provider\"], {\n inject: [appContainer]\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PasswordResetExecutionForm__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null))), passwordResetExecutionFormElem);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL25vbG9naW4uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9ub2xvZ2luLmpzeD80YTU0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAndW5zdGF0ZWQnO1xuaW1wb3J0IHsgSTE4bmV4dFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IGkxOG5GYWN0b3J5IH0gZnJvbSAnLi91dGlsL2kxOG4nO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcblxuaW1wb3J0IEluc3RhbGxlckZvcm0gZnJvbSAnLi9jb21wb25lbnRzL0luc3RhbGxlckZvcm0nO1xuaW1wb3J0IExvZ2luRm9ybSBmcm9tICcuL2NvbXBvbmVudHMvTG9naW5Gb3JtJztcbmltcG9ydCBQYXNzd29yZFJlc2V0UmVxdWVzdEZvcm0gZnJvbSAnLi9jb21wb25lbnRzL1Bhc3N3b3JkUmVzZXRSZXF1ZXN0Rm9ybSc7XG5pbXBvcnQgUGFzc3dvcmRSZXNldEV4ZWN1dGlvbkZvcm0gZnJvbSAnLi9jb21wb25lbnRzL1Bhc3N3b3JkUmVzZXRFeGVjdXRpb25Gb3JtJztcblxuY29uc3QgaTE4biA9IGkxOG5GYWN0b3J5KCk7XG5cbi8vIHJlbmRlciBJbnN0YWxsZXJGb3JtXG5jb25zdCBpbnN0YWxsZXJGb3JtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxsZXItZm9ybScpO1xuaWYgKGluc3RhbGxlckZvcm1FbGVtKSB7XG4gIGNvbnN0IHVzZXJOYW1lID0gaW5zdGFsbGVyRm9ybUVsZW0uZGF0YXNldC51c2VyTmFtZTtcbiAgY29uc3QgbmFtZSA9IGluc3RhbGxlckZvcm1FbGVtLmRhdGFzZXQubmFtZTtcbiAgY29uc3QgZW1haWwgPSBpbnN0YWxsZXJGb3JtRWxlbS5kYXRhc2V0LmVtYWlsO1xuICBjb25zdCBjc3JmID0gaW5zdGFsbGVyRm9ybUVsZW0uZGF0YXNldC5jc3JmO1xuICBSZWFjdERPTS5yZW5kZXIoXG4gICAgPEkxOG5leHRQcm92aWRlciBpMThuPXtpMThufT5cbiAgICAgIDxJbnN0YWxsZXJGb3JtIHVzZXJOYW1lPXt1c2VyTmFtZX0gbmFtZT17bmFtZX0gZW1haWw9e2VtYWlsfSBjc3JmPXtjc3JmfSAvPlxuICAgIDwvSTE4bmV4dFByb3ZpZGVyPixcbiAgICBpbnN0YWxsZXJGb3JtRWxlbSxcbiAgKTtcbn1cblxuLy8gcmVuZGVyIGxvZ2luRm9ybVxuY29uc3QgbG9naW5Gb3JtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dpbi1mb3JtJyk7XG5pZiAobG9naW5Gb3JtRWxlbSkge1xuICBjb25zdCBhcHBDb250YWluZXIgPSBuZXcgQXBwQ29udGFpbmVyKCk7XG4gIGFwcENvbnRhaW5lci5pbml0QXBwKCk7XG5cbiAgY29uc3QgdXNlcm5hbWUgPSBsb2dpbkZvcm1FbGVtLmRhdGFzZXQudXNlcm5hbWU7XG4gIGNvbnN0IG5hbWUgPSBsb2dpbkZvcm1FbGVtLmRhdGFzZXQubmFtZTtcbiAgY29uc3QgZW1haWwgPSBsb2dpbkZvcm1FbGVtLmRhdGFzZXQuZW1haWw7XG4gIGNvbnN0IGlzUmVnaXN0cmF0aW9uRW5hYmxlZCA9IGxvZ2luRm9ybUVsZW0uZGF0YXNldC5pc1JlZ2lzdHJhdGlvbkVuYWJsZWQgPT09ICd0cnVlJztcbiAgY29uc3QgcmVnaXN0cmF0aW9uTW9kZSA9IGxvZ2luRm9ybUVsZW0uZGF0YXNldC5yZWdpc3RyYXRpb25Nb2RlO1xuICBjb25zdCBpc1Bhc3N3b3JkUmVzZXRFbmFibGVkID0gbG9naW5Gb3JtRWxlbS5kYXRhc2V0LmlzUGFzc3dvcmRSZXNldEVuYWJsZWQgPT09ICd0cnVlJztcblxuXG4gIGxldCByZWdpc3RyYXRpb25XaGl0ZUxpc3QgPSBsb2dpbkZvcm1FbGVtLmRhdGFzZXQucmVnaXN0cmF0aW9uV2hpdGVMaXN0O1xuICByZWdpc3RyYXRpb25XaGl0ZUxpc3QgPSByZWdpc3RyYXRpb25XaGl0ZUxpc3QubGVuZ3RoID4gMFxuICAgID8gcmVnaXN0cmF0aW9uV2hpdGVMaXN0ID0gbG9naW5Gb3JtRWxlbS5kYXRhc2V0LnJlZ2lzdHJhdGlvbldoaXRlTGlzdC5zcGxpdCgnLCcpXG4gICAgOiByZWdpc3RyYXRpb25XaGl0ZUxpc3QgPSBbXTtcblxuXG4gIGNvbnN0IGlzTG9jYWxTdHJhdGVneVNldHVwID0gbG9naW5Gb3JtRWxlbS5kYXRhc2V0LmlzTG9jYWxTdHJhdGVneVNldHVwID09PSAndHJ1ZSc7XG4gIGNvbnN0IGlzTGRhcFN0cmF0ZWd5U2V0dXAgPSBsb2dpbkZvcm1FbGVtLmRhdGFzZXQuaXNMZGFwU3RyYXRlZ3lTZXR1cCA9PT0gJ3RydWUnO1xuICBjb25zdCBvYmpPZklzRXh0ZXJuYWxBdXRoRW5hYmxlZHMgPSB7XG4gICAgZ29vZ2xlOiBsb2dpbkZvcm1FbGVtLmRhdGFzZXQuaXNHb29nbGVBdXRoRW5hYmxlZCA9PT0gJ3RydWUnLFxuICAgIGdpdGh1YjogbG9naW5Gb3JtRWxlbS5kYXRhc2V0LmlzR2l0aHViQXV0aEVuYWJsZWQgPT09ICd0cnVlJyxcbiAgICBmYWNlYm9vazogbG9naW5Gb3JtRWxlbS5kYXRhc2V0LmlzRmFjZWJvb2tBdXRoRW5hYmxlZCA9PT0gJ3RydWUnLFxuICAgIHR3aXR0ZXI6IGxvZ2luRm9ybUVsZW0uZGF0YXNldC5pc1R3aXR0ZXJBdXRoRW5hYmxlZCA9PT0gJ3RydWUnLFxuICAgIHNhbWw6IGxvZ2luRm9ybUVsZW0uZGF0YXNldC5pc1NhbWxBdXRoRW5hYmxlZCA9PT0gJ3RydWUnLFxuICAgIG9pZGM6IGxvZ2luRm9ybUVsZW0uZGF0YXNldC5pc09pZGNBdXRoRW5hYmxlZCA9PT0gJ3RydWUnLFxuICAgIGJhc2ljOiBsb2dpbkZvcm1FbGVtLmRhdGFzZXQuaXNCYXNpY0F1dGhFbmFibGVkID09PSAndHJ1ZScsXG4gIH07XG5cbiAgUmVhY3RET00ucmVuZGVyKFxuICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICA8UHJvdmlkZXIgaW5qZWN0PXtbYXBwQ29udGFpbmVyXX0+XG4gICAgICAgIDxMb2dpbkZvcm1cbiAgICAgICAgICB1c2VybmFtZT17dXNlcm5hbWV9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBlbWFpbD17ZW1haWx9XG4gICAgICAgICAgaXNSZWdpc3RyYXRpb25FbmFibGVkPXtpc1JlZ2lzdHJhdGlvbkVuYWJsZWR9XG4gICAgICAgICAgcmVnaXN0cmF0aW9uTW9kZT17cmVnaXN0cmF0aW9uTW9kZX1cbiAgICAgICAgICByZWdpc3RyYXRpb25XaGl0ZUxpc3Q9e3JlZ2lzdHJhdGlvbldoaXRlTGlzdH1cbiAgICAgICAgICBpc1Bhc3N3b3JkUmVzZXRFbmFibGVkPXtpc1Bhc3N3b3JkUmVzZXRFbmFibGVkfVxuICAgICAgICAgIGlzTG9jYWxTdHJhdGVneVNldHVwPXtpc0xvY2FsU3RyYXRlZ3lTZXR1cH1cbiAgICAgICAgICBpc0xkYXBTdHJhdGVneVNldHVwPXtpc0xkYXBTdHJhdGVneVNldHVwfVxuICAgICAgICAgIG9iak9mSXNFeHRlcm5hbEF1dGhFbmFibGVkcz17b2JqT2ZJc0V4dGVybmFsQXV0aEVuYWJsZWRzfVxuICAgICAgICAvPlxuICAgICAgPC9Qcm92aWRlcj5cbiAgICA8L0kxOG5leHRQcm92aWRlcj4sXG4gICAgbG9naW5Gb3JtRWxlbSxcbiAgKTtcbn1cblxuLy8gcmVuZGVyIFBhc3N3b3JkUmVzZXRSZXF1ZXN0Rm9ybVxuY29uc3QgcGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXNzd29yZC1yZXNldC1yZXF1ZXN0LWZvcm0nKTtcbmNvbnN0IGFwcENvbnRhaW5lciA9IG5ldyBBcHBDb250YWluZXIoKTtcbmFwcENvbnRhaW5lci5pbml0QXBwKCk7XG5pZiAocGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtRWxlbSkge1xuXG4gIFJlYWN0RE9NLnJlbmRlcihcbiAgICA8STE4bmV4dFByb3ZpZGVyIGkxOG49e2kxOG59PlxuICAgICAgPFByb3ZpZGVyIGluamVjdD17W2FwcENvbnRhaW5lcl19PlxuICAgICAgICA8UGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtIC8+XG4gICAgICA8L1Byb3ZpZGVyPlxuICAgIDwvSTE4bmV4dFByb3ZpZGVyPixcbiAgICBwYXNzd29yZFJlc2V0UmVxdWVzdEZvcm1FbGVtLFxuICApO1xufVxuXG4vLyByZW5kZXIgUGFzc3dvcmRSZXNldFJlcXVlc3RGb3JtXG5jb25zdCBwYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybUVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzc3dvcmQtcmVzZXQtZXhlY3V0aW9uLWZvcm0nKTtcbmlmIChwYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybUVsZW0pIHtcblxuICBSZWFjdERPTS5yZW5kZXIoXG4gICAgPEkxOG5leHRQcm92aWRlciBpMThuPXtpMThufT5cbiAgICAgIDxQcm92aWRlciBpbmplY3Q9e1thcHBDb250YWluZXJdfT5cbiAgICAgICAgPFBhc3N3b3JkUmVzZXRFeGVjdXRpb25Gb3JtIC8+XG4gICAgICA8L1Byb3ZpZGVyPlxuICAgIDwvSTE4bmV4dFByb3ZpZGVyPixcbiAgICBwYXNzd29yZFJlc2V0RXhlY3V0aW9uRm9ybUVsZW0sXG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/nologin.jsx\n");
- /***/ }),
- /***/ 0:
- /*!**********************!*\
- !*** util (ignored) ***!
- \**********************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("/* (ignored) *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy91dGlsIChpZ25vcmVkKT9lZjdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIChpZ25vcmVkKSAqLyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
- /***/ }),
- /***/ "jquery":
- /*!*************************!*\
- !*** external "jQuery" ***!
- \*************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = jQuery;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianF1ZXJ5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwialF1ZXJ5XCI/Y2QwYyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGpRdWVyeTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///jquery\n");
- /***/ })
- /******/ });
|