[helix-front] Added Maven build support
Project: http://git-wip-us.apache.org/repos/asf/helix/repo Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/b65f6ec9 Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/b65f6ec9 Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/b65f6ec9 Branch: refs/heads/master Commit: b65f6ec92b62c1aed180c93b90f989a9dcd44f69 Parents: 3870470 Author: Vivo Xu <v...@linkedin.com> Authored: Thu Sep 21 16:33:56 2017 -0700 Committer: Junkai Xue <j...@linkedin.com> Committed: Mon Nov 6 17:08:33 2017 -0800 ---------------------------------------------------------------------- helix-front/assemble/assembly.xml | 59 + helix-front/assemble/bin/start-helix-ui.sh | 11 + helix-front/assemble/package.json | 19 + helix-front/assemble/package.sh | 12 + .../dist/data-table.b0aebd744ce7adb780a9.svg | 26 - .../dist/data-table.bce071e976865da51100.eot | Bin 2524 -> 0 bytes helix-front/dist/favicon.ico | Bin 34868 -> 0 bytes helix-front/dist/index.html | 28 - helix-front/dist/inline.bundle.js | 153 - helix-front/dist/inline.bundle.js.map | 1 - helix-front/dist/main.bundle.js | 3644 - helix-front/dist/main.bundle.js.map | 1 - helix-front/dist/polyfills.bundle.js | 6718 - helix-front/dist/polyfills.bundle.js.map | 1 - helix-front/dist/styles.bundle.js | 510 - helix-front/dist/styles.bundle.js.map | 1 - helix-front/dist/vendor.bundle.js | 152323 ---------------- helix-front/dist/vendor.bundle.js.map | 1 - helix-front/pom.xml | 49 +- helix-rest/pom.xml | 4 - 20 files changed, 141 insertions(+), 163420 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/assemble/assembly.xml ---------------------------------------------------------------------- diff --git a/helix-front/assemble/assembly.xml b/helix-front/assemble/assembly.xml new file mode 100644 index 0000000..8a440e2 --- /dev/null +++ b/helix-front/assemble/assembly.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<assembly> + <id>pkg</id> + <formats> + <format>tar</format> + </formats> + <fileSets> + <fileSet> + <directory>assemble</directory> + <outputDirectory>/</outputDirectory> + <lineEnding>unix</lineEnding> + <includes> + <include>bin/**</include> + <include>package.json</include> + </includes> + <fileMode>0644</fileMode> + <directoryMode>0755</directoryMode> + </fileSet> + <fileSet> + <directory>dist</directory> + <outputDirectory>dist</outputDirectory> + <lineEnding>unix</lineEnding> + <directoryMode>0755</directoryMode> + </fileSet> + <fileSet> + <directory>node</directory> + <outputDirectory>node</outputDirectory> + <directoryMode>0755</directoryMode> + </fileSet> + <fileSet> + <directory>${project.basedir}</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>LICENSE</include> + <include>NOTICE</include> + <include>DISCLAIMER</include> + </includes> + <fileMode>0644</fileMode> + </fileSet> + </fileSets> +</assembly> http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/assemble/bin/start-helix-ui.sh ---------------------------------------------------------------------- diff --git a/helix-front/assemble/bin/start-helix-ui.sh b/helix-front/assemble/bin/start-helix-ui.sh new file mode 100755 index 0000000..2868362 --- /dev/null +++ b/helix-front/assemble/bin/start-helix-ui.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +basedir=`dirname $0`/../ +cd ${basedir} + +if [ ! -d node_modules ]; then + node/node node/npm/bin/npm-cli.js install +fi + +node/node dist/server/app.js + http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/assemble/package.json ---------------------------------------------------------------------- diff --git a/helix-front/assemble/package.json b/helix-front/assemble/package.json new file mode 100644 index 0000000..a017f50 --- /dev/null +++ b/helix-front/assemble/package.json @@ -0,0 +1,19 @@ +{ + "name": "helix-ui", + "version": "1.0.0", + "author": "Vivo Xu <v...@fancyber.com>", + "description": "Helix Web UI to manage helix clusters", + "scripts": { + "start": "node ./dist/server/app.js" + }, + "private": true, + "license": "Apache-2.0", + "dependencies": { + "body-parser": "^1.17.2", + "cookie-parser": "^1.3.5", + "dotenv": "^4.0.0", + "express": "^4.15.3", + "morgan": "^1.8.2", + "request": "2.81.0" + } +} http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/assemble/package.sh ---------------------------------------------------------------------- diff --git a/helix-front/assemble/package.sh b/helix-front/assemble/package.sh new file mode 100755 index 0000000..9d7eb8a --- /dev/null +++ b/helix-front/assemble/package.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +basedir=`dirname $0`/../ +outdir=helix-front-pkg + +cd ${basedir}/target + +rm -rf ${outdir} +mkdir ${outdir} + +tar xf helix-front-*.tar -C ${outdir} --strip-components 1 + http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/data-table.b0aebd744ce7adb780a9.svg ---------------------------------------------------------------------- diff --git a/helix-front/dist/data-table.b0aebd744ce7adb780a9.svg b/helix-front/dist/data-table.b0aebd744ce7adb780a9.svg deleted file mode 100644 index 1d7e43a..0000000 --- a/helix-front/dist/data-table.b0aebd744ce7adb780a9.svg +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata>Generated by Fontastic.me</metadata> -<defs> -<font id="data-table" horiz-adv-x="512"> -<font-face font-family="data-table" units-per-em="512" ascent="480" descent="-32"/> -<missing-glyph horiz-adv-x="512" /> - -<glyph glyph-name="filter" unicode="b" d="M213 128l86 0 0 43-86 0z m-149 256l0-43 384 0 0 43z m64-149l256 0 0 42-256 0z"/> -<glyph glyph-name="collapse" unicode="a" d="M158 115l30-30 68 68 68-68 30 30-98 98z m196 282l-30 30-68-68-68 68-30-30 98-98z"/> -<glyph glyph-name="expand" unicode="c" d="M256 388l68-68 30 30-98 98-98-98 30-30z m0-264l-68 68-30-30 98-98 98 98-30 30z"/> -<glyph glyph-name="close" unicode="d" d="M405 375l-30 30-119-119-119 119-30-30 119-119-119-119 30-30 119 119 119-119 30 30-119 119z"/> -<glyph glyph-name="up" unicode="e" d="M256 341l-128-128 30-30 98 98 98-98 30 30z"/> -<glyph glyph-name="down" unicode="f" d="M354 329l-98-98-98 98-30-30 128-128 128 128z"/> -<glyph glyph-name="sort" unicode="g" d="M64 128l128 0 0 43-128 0z m0 256l0-43 384 0 0 43z m0-149l256 0 0 42-256 0z"/> -<glyph glyph-name="done" unicode="h" d="M192 166l-90 90-29-30 119-119 256 256-30 30z"/> -<glyph glyph-name="done-all" unicode="i" d="M384 363l-30 30-135-136 30-30z m90 30l-225-226-89 89-31-30 120-119 256 256z m-483-167l137-119 30 30-119 119-30-30z"/> -<glyph glyph-name="search" unicode="j" d="M192 128c46 0 87 16 120 42 0 0 164-164 164-164 4-4 9-6 15-6 5 0 11 2 15 6 8 9 8 22 0 30 0 0-164 165-164 165 26 33 42 74 42 119 0 106-86 192-192 192-106 0-192-86-192-192 0-106 86-192 192-192z m0 341c82 0 149-67 149-149 0-82-67-149-149-149-82 0-149 67-149 149 0 82 67 149 149 149z"/> -<glyph glyph-name="pin" unicode="k" d="M224 160l32-160 32 160c-10-1-21-2-32-2-10 0-22 1-32 2z m127 149c-16 9-31 30-31 43l0 32c0 11 6 19 12 26 7 6 12 14 12 22 0 27-31 48-88 48-57 0-87-21-87-48 0-8 4-16 12-22 5-7 11-15 11-26l0-32c0-13-14-34-31-43-19-9-35-27-35-44 0-37 51-74 130-74 80 0 130 37 130 74 0 17-15 34-35 44z"/> -<glyph glyph-name="add" unicode="m" d="M405 235l-128 0 0-128-42 0 0 128-128 0 0 42 128 0 0 128 42 0 0-128 128 0z"/> -<glyph glyph-name="left" unicode="o" d="M329 169l-98 98 98 98-30 30-128-128 128-128z"/> -<glyph glyph-name="right" unicode="p" d="M183 163l98 98-98 98 30 30 128-128-128-128z"/> -<glyph glyph-name="skip" unicode="q" d="M128 128l181 128-181 128z m213 256l0-256 43 0 0 256z"/> -<glyph glyph-name="prev" unicode="r" d="M128 384l43 0 0-256-43 0z m75-128l181-128 0 256z"/> -</font></defs></svg> http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/data-table.bce071e976865da51100.eot ---------------------------------------------------------------------- diff --git a/helix-front/dist/data-table.bce071e976865da51100.eot b/helix-front/dist/data-table.bce071e976865da51100.eot deleted file mode 100644 index e2f181f..0000000 Binary files a/helix-front/dist/data-table.bce071e976865da51100.eot and /dev/null differ http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/favicon.ico ---------------------------------------------------------------------- diff --git a/helix-front/dist/favicon.ico b/helix-front/dist/favicon.ico deleted file mode 100644 index 65b8a32..0000000 Binary files a/helix-front/dist/favicon.ico and /dev/null differ http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/index.html ---------------------------------------------------------------------- diff --git a/helix-front/dist/index.html b/helix-front/dist/index.html deleted file mode 100644 index c7eaa6c..0000000 --- a/helix-front/dist/index.html +++ /dev/null @@ -1,28 +0,0 @@ -<!doctype html> -<html> -<head> - <meta charset="utf-8"> - <title>Helix</title> - <base href="/admin/v2/ui/"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="icon" type="image/x-icon" href="favicon.ico"> -</head> -<body> - <hi-root>Loading Helix UI ...</hi-root> - <!-- Piwik --> - <script type="text/javascript"> - var _paq = _paq || []; - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - (function() { - var u='//piwik.corp.linkedin.com/piwik/'; - _paq.push(['setTrackerUrl', u+'piwik.php']); - _paq.push(['setSiteId', '99']); - var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; - g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); - })(); - </script> - <noscript><p><img src="//piwik.corp.linkedin.com/piwik/piwik.php?idsite=99" style="border:0;" alt="" /></p></noscript> - <!-- End Piwik Code --> -<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body> -</html> http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/inline.bundle.js ---------------------------------------------------------------------- diff --git a/helix-front/dist/inline.bundle.js b/helix-front/dist/inline.bundle.js deleted file mode 100644 index 1627c6f..0000000 --- a/helix-front/dist/inline.bundle.js +++ /dev/null @@ -1,153 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ var parentJsonpFunction = window["webpackJsonp"]; -/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) { -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = [], result; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(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(chunkIds, moreModules, executeModules); -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ if(executeModules) { -/******/ for(i=0; i < executeModules.length; i++) { -/******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]); -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // objects to store loaded and loading chunks -/******/ var installedChunks = { -/******/ 4: 0 -/******/ }; -/******/ -/******/ // 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; -/******/ } -/******/ -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function requireEnsure(chunkId) { -/******/ if(installedChunks[chunkId] === 0) { -/******/ return Promise.resolve(); -/******/ } -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunks[chunkId]) { -/******/ return installedChunks[chunkId][2]; -/******/ } -/******/ -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { -/******/ installedChunks[chunkId] = [resolve, reject]; -/******/ }); -/******/ installedChunks[chunkId][2] = promise; -/******/ -/******/ // start chunk loading -/******/ var head = document.getElementsByTagName('head')[0]; -/******/ var script = document.createElement('script'); -/******/ script.type = 'text/javascript'; -/******/ script.charset = 'utf-8'; -/******/ script.async = true; -/******/ script.timeout = 120000; -/******/ -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.src = __webpack_require__.p + "" + chunkId + ".chunk.js"; -/******/ var timeout = setTimeout(onScriptComplete, 120000); -/******/ script.onerror = script.onload = onScriptComplete; -/******/ function onScriptComplete() { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var chunk = installedChunks[chunkId]; -/******/ if(chunk !== 0) { -/******/ if(chunk) { -/******/ chunk[1](new Error('Loading chunk ' + chunkId + ' failed.')); -/******/ } -/******/ installedChunks[chunkId] = undefined; -/******/ } -/******/ }; -/******/ head.appendChild(script); -/******/ -/******/ return promise; -/******/ }; -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // 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 = ""; -/******/ -/******/ // on error function for async loading -/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; -/******/ }) -/************************************************************************/ -/******/ ([]); -//# sourceMappingURL=inline.bundle.js.map \ No newline at end of file http://git-wip-us.apache.org/repos/asf/helix/blob/b65f6ec9/helix-front/dist/inline.bundle.js.map ---------------------------------------------------------------------- diff --git a/helix-front/dist/inline.bundle.js.map b/helix-front/dist/inline.bundle.js.map deleted file mode 100644 index 2f94312..0000000 --- a/helix-front/dist/inline.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack/bootstrap bea14523150eff78c8f2"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\ "webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = exe cuteModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t4: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_req uire__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0) {\n \t\t\treturn Promise.resolve();\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunks[chunkId][2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t \tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t \tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bea14523150eff78c8f2"],"sourceRoot":"webpack:///"} \ No newline at end of file