{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/mithril/index.js","webpack:///./node_modules/oj-utils/dist/index.js","webpack:///./node_modules/mithril/pathname/parse.js","webpack:///./src/ts/utils.ts","webpack:///./node_modules/mithril/render/hyperscript.js","webpack:///./node_modules/mithril/render/hyperscriptVnode.js","webpack:///./node_modules/mithril-tsx-component/index.js","webpack:///./node_modules/mithril/promise/promise.js","webpack:///./node_modules/mithril/promise/polyfill.js","webpack:///./node_modules/mithril/render.js","webpack:///./node_modules/mithril/querystring/build.js","webpack:///./node_modules/mithril/util/assign.js","webpack:///./node_modules/mithril/querystring/parse.js","webpack:///./node_modules/mithril/util/censor.js","webpack:///./src/ts/entries/productOverview.tsx","webpack:///./node_modules/mithril/render/vnode.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/mithril/hyperscript.js","webpack:///./node_modules/mithril/render/trust.js","webpack:///./node_modules/mithril/render/fragment.js","webpack:///./node_modules/mithril/request.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/mithril/render/render.js","webpack:///./node_modules/mithril/api/mount-redraw.js","webpack:///./node_modules/mithril/request/request.js","webpack:///./node_modules/mithril/route.js","webpack:///./node_modules/mithril/api/router.js","webpack:///./node_modules/mithril/pathname/compileTemplate.js","webpack:///./node_modules/oj-dom-utils/dist/index.js","webpack:///./node_modules/mithril/util/hasOwn.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/mithril/mount-redraw.js","webpack:///./node_modules/mithril/pathname/build.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hyperscript","request","mountRedraw","apply","this","arguments","trust","fragment","Fragment","mount","route","render","redraw","jsonp","parseQueryString","buildQueryString","parsePathname","buildPathname","vnode","PromisePolyfill","censor","__assign","assign","length","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","_this","getDynamicObj","getDynamicVal","imageUrlToB64","fileToB64","base64toBlob","getImageTypeFromB64","createImage","isIE","formatPrice","formatSize","clone","removeIfExists","createToggle","chunk","memoize","throttle","debounce","exec","diff","increment","repeatMap","arrToObj","objToArr","groupArr","groupObj","mapObj","reduceObj","filterObj","findObjKey","generateHashFromString","uniqueArray","pipe","getDpi","pxToMm","mmToPx","UUID","pause","cleanString","clamp","mapRange","randomList","randomDec","randomInt","min","max","Math","floor","random","list","source","target","x","_i","filter","map","trim","join","ms","_a","timeout","setTimeout","clearTimeout","Date","now","window","performance","replace","toString","mm","dpi","px","fn","arr","Array","from","Set","str","split","reduce","charCodeAt","obj","cb","k","ref","_b","gr","concat","copy","times","reset","last","curr","args","undefined","threshold","head","tail","hashFn","cache","hash","JSON","stringify","chunks","chunk_1","on","off","toggle","findIndex","splice","parse","bytes","log","size","pow","round","price","decimal","format","pre","dot","post","cents","padEnd","test","navigator","userAgent","indexOf","src","res","rej","img","Image","crossOrigin","onload","onerror","err","match","base64Data","contentType","byteCharacters","atob","bytesLength","slicesCount","ceil","byteArrays","begin","end","offset","i_1","Uint8Array","Blob","type","file","reader","FileReader","readAsDataURL","url","fetch","blob","fromEntries","entries","queryIndex","hashIndex","queryEnd","pathEnd","path","slice","params","isMobileViewport","width","innerWidth","mounter","selector","forEach","inputs","querySelectorAll","data","HTMLInputElement","loadScript","script","document","createElement","appendChild","Vnode","hyperscriptVnode","hasOwn","selectorParser","selectorCache","isEmpty","compileSelector","tag","classes","attrs","id","attrValue","className","execSelector","state","hasClass","class","newAttrs","String","view","Error","children","normalizeChildren","start","isArray","MithrilTsxComponent","finally","global","executor","self","resolvers","rejectors","resolveCurrent","handler","rejectCurrent","instance","_instance","callAsync","setImmediate","shouldAbsorb","execute","console","error","retry","executeOnce","runs","run","onFulfilled","onRejection","resolveNext","rejectNext","handle","callback","promise","catch","reason","all","total","count","values","consume","race","destructure","encodeURIComponent","decodeURIComponentSave","decodeURIComponent","string","charAt","counters","entry","levels","cursor","j","level","nextLevel","isNumber","isNaN","parseInt","desc","getOwnPropertyDescriptor","magic","RegExp","extras","isActionPrice","hasDecimals","PriceArray","toFixed","isMobile","oninit","productItems","mobileProductItems","desktopProductItems","addEventListener","translations","hasActionPrice","fujiCode","title","tagManagerCategory","tagManagerList","href","navigateUrl","labelUrl","alt","imageNumericId","srcset","overviewPageImageUrls","media","loading","itemprop","imageAltText","keys","overviewPageHoverImageUrls","hoverImageAltText","descriptionFirstLine","descriptionSecondLine","actionPrice","hasFromText","nowFrom","ProductOverview","text","dom","domSize","events","normalize","node","input","isKeyed","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","marker","runClearTimeout","Item","array","noop","nextTick","browser","env","argv","version","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","html","Function","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","port2","documentElement","onreadystatechange","removeChild","attachEvent","task","$window","currentRedraw","$doc","nameSpace","svg","math","getNameSpace","xmlns","checkState","original","callHook","activeElement","createNodes","parent","vnodes","hooks","nextSibling","createNode","initLifecycle","createTextNode","insertNode","createText","createHTML","createDocumentFragment","firstChild","childNodes","createFragment","is","element","createElementNS","setAttribute","isFileInput","setAttr","setAttrs","maybeSetContentEditable","selectedIndex","normalized","setLateSelectAttrs","sentinel","$$reentrantLock$$","initComponent","createComponent","possibleParents","caption","thead","tbody","tfoot","tr","th","td","colgroup","col","temp","innerHTML","child","updateNodes","old","removeNodes","isOldKeyed","oldStart","oe","ve","topSibling","oldEnd","updateNode","getNextSibling","moveNodes","lisIndices","originalNextSibling","vnodesLength","oldIndices","li","pos","matched","getKeyMap","oldIndex","a","u","il","lisTemp","makeLisIndices","commonLength","removeNode","oldTag","force","onbeforeupdate","shouldNotUpdate","updateLifecycle","nodeValue","updateText","removeHTML","updateHTML","updateFragment","warn","val","removeAttr","updateAttrs","updateElement","updateComponent","frag","moveChildToFrag","parentNode","insertBefore","contenteditable","contentEditable","content","stateResult","attrsResult","mask","onbeforeremove","reallyRemove","onremove","isLifecycleMethod","attr","isFormAttribute","updateEvent","setAttributeNS","updateStyle","hasPropertyKey","removeAttribute","nsLastIndex","currentDOM","uppercaseRegex","toLowerCase","capital","normalizeKey","style","cssText","setProperty","removeProperty","EventDict","removeEventListener","oncreate","onupdate","handleEvent","ev","currentTarget","preventDefault","stopPropagation","contains","prevRedraw","prevDOM","namespace","namespaceURI","textContent","focus","schedule","subscriptions","pending","sync","root","component","index","oncompletion","callbackCount","PromiseProxy","makeRequest","factory","background","complete","wrap","constructor","hasHeader","headers","__proto__","replacedAbort","method","toUpperCase","assumeJSON","serialize","FormData","URLSearchParams","responseType","extract","xhr","XMLHttpRequest","aborted","isTimeout","abort","open","async","user","password","setRequestHeader","deserialize","withCredentials","readyState","message","success","status","response","responseText","completeErrorResponse","code","ontimeout","config","send","callbackName","callbackKey","compileTemplate","compiled","fallbackRoute","currentPath","lastUpdate","scheduled","ready","currentResolver","RouterRoot","fireAsync","resolveRoute","SKIP","prefix","location","search","pathname","setPath","history","loop","check","payload","matchedRoute","localComp","update","comp","onmatch","options","replaceState","pushState","defaultRoute","routes","SyntaxError","defaultData","some","ReferenceError","set","Link","onclick","disabled","Boolean","defaultPrevented","button","which","ctrlKey","metaKey","shiftKey","altKey","param","template","templateData","templateKeys","regexp","extra","appendDivTo","getRootData","jsonFromB64","jsonToB64","replaceElement","getRootElements","sanitizeHTML","getOffsetY","getOffsetX","getEventProps","childOf","withinViewport","getOffsetsOnPage","getOuterWidth","getOuterHeight","getTransitionDuration","deep","totalTime","getComputedStyle","transitionDuration","parseFloat","transitionDelay","sum","styles","height","marginTop","marginBottom","paddingTop","paddingBottom","marginLeft","marginRight","paddingLeft","paddingRight","_x","_y","offsetLeft","offsetTop","scrollLeft","scrollTop","offsetParent","top","left","completely","rect","getBoundingClientRect","windowHeight","innerHeight","clientHeight","windowWidth","clientWidth","topVisible","bottomVisible","bottom","leftVisible","rightVisible","right","container","el","targetTouches","changedTouches","elem","pageX","pageY","ta","loaded","elements","getAttribute","parentElement","replaceChild","json","btoa","b64","querySelector","requestAnimationFrame","query","resolved","variadic","newQueryIndex","newHashIndex","newQueryEnd","newPathEnd","querystring"],"mappings":"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","file":"productOverview.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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// 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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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 = \"/frontendWebpack/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 283);\n","\"use strict\"\n\nvar hyperscript = require(\"./hyperscript\")\nvar request = require(\"./request\")\nvar mountRedraw = require(\"./mount-redraw\")\n\nvar m = function m() { return hyperscript.apply(this, arguments) }\nm.m = hyperscript\nm.trust = hyperscript.trust\nm.fragment = hyperscript.fragment\nm.Fragment = \"[\"\nm.mount = mountRedraw.mount\nm.route = require(\"./route\")\nm.render = require(\"./render\")\nm.redraw = mountRedraw.redraw\nm.request = request.request\nm.jsonp = request.jsonp\nm.parseQueryString = require(\"./querystring/parse\")\nm.buildQueryString = require(\"./querystring/build\")\nm.parsePathname = require(\"./pathname/parse\")\nm.buildPathname = require(\"./pathname/build\")\nm.vnode = require(\"./render/vnode\")\nm.PromisePolyfill = require(\"./promise/polyfill\")\nm.censor = require(\"./util/censor\")\n\nmodule.exports = m\n","\"use strict\";\r\nvar __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar _this = this;\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.getDynamicObj = exports.getDynamicVal = exports.imageUrlToB64 = exports.fileToB64 = exports.base64toBlob = exports.getImageTypeFromB64 = exports.createImage = exports.isIE = exports.formatPrice = exports.formatSize = exports.clone = exports.removeIfExists = exports.createToggle = exports.chunk = exports.memoize = exports.throttle = exports.debounce = exports.exec = exports.diff = exports.increment = exports.repeatMap = exports.arrToObj = exports.objToArr = exports.groupArr = exports.groupObj = exports.mapObj = exports.reduceObj = exports.filterObj = exports.findObjKey = exports.generateHashFromString = exports.uniqueArray = exports.pipe = exports.getDpi = exports.pxToMm = exports.mmToPx = exports.UUID = exports.pause = exports.cleanString = exports.clamp = exports.mapRange = exports.randomList = exports.randomDec = exports.randomInt = void 0;\r\nvar randomInt = function (min, max) {\r\n if (min === void 0) { min = 0; }\r\n if (max === void 0) { max = 9999; }\r\n return Math.floor(Math.random() * (max - min)) + min;\r\n};\r\nexports.randomInt = randomInt;\r\nvar randomDec = function (min, max) {\r\n if (min === void 0) { min = 0; }\r\n if (max === void 0) { max = 9999; }\r\n return (Math.random() * (max - min) + min);\r\n};\r\nexports.randomDec = randomDec;\r\nvar randomList = function (list) {\r\n return list[(0, exports.randomInt)(0, list.length)];\r\n};\r\nexports.randomList = randomList;\r\nvar mapRange = function (value, source, target) {\r\n return target[0] + (value - source[0]) * (target[1] - target[0]) / (source[1] - source[0]);\r\n};\r\nexports.mapRange = mapRange;\r\nvar clamp = function (value, min, max) {\r\n return Math.min(Math.max(value, min), max);\r\n};\r\nexports.clamp = clamp;\r\nvar cleanString = function () {\r\n var x = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n x[_i] = arguments[_i];\r\n }\r\n return x\r\n .filter(function (x) { return typeof x === \"string\"; })\r\n .map(function (x) { return x.trim(); })\r\n .join(\" \");\r\n};\r\nexports.cleanString = cleanString;\r\nvar pause = function (ms) { return __awaiter(void 0, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var timeout = setTimeout(resolve, ms);\r\n return function () {\r\n clearTimeout(timeout);\r\n reject(\"pause canceled\");\r\n };\r\n })];\r\n });\r\n}); };\r\nexports.pause = pause;\r\nvar UUID = function () {\r\n var d = Date.now();\r\n if (window.performance && typeof window.performance.now === \"function\")\r\n d += performance.now();\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\r\n var r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === \"x\" ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n};\r\nexports.UUID = UUID;\r\nvar mmToPx = function (mm, dpi) {\r\n if (dpi === void 0) { dpi = 200; }\r\n return (mm * dpi) / 25.4;\r\n};\r\nexports.mmToPx = mmToPx;\r\nvar pxToMm = function (px, dpi) {\r\n if (dpi === void 0) { dpi = 200; }\r\n return (px / dpi) * 25.4;\r\n};\r\nexports.pxToMm = pxToMm;\r\nvar getDpi = function (px, mm) {\r\n return px / mm * 25.4;\r\n};\r\nexports.getDpi = getDpi;\r\nvar pipe = function (value) {\r\n return ({\r\n map: function (fn) { return (0, exports.pipe)(fn(value)); },\r\n value: value\r\n });\r\n};\r\nexports.pipe = pipe;\r\nvar uniqueArray = function (arr) {\r\n return Array.from(new Set(arr));\r\n};\r\nexports.uniqueArray = uniqueArray;\r\nvar generateHashFromString = function (str) {\r\n return str.split(\"\").reduce(function (s, x) { return (((s << 5) - s) + x.charCodeAt(0)) | 0; }, 0);\r\n};\r\nexports.generateHashFromString = generateHashFromString;\r\nvar findObjKey = function (obj, cb) {\r\n for (var k in obj)\r\n if (cb(obj[k], k, obj))\r\n return k;\r\n};\r\nexports.findObjKey = findObjKey;\r\nvar filterObj = function (obj, cb) {\r\n var result = {};\r\n for (var k in obj)\r\n if (cb(obj[k], k, obj))\r\n result[k] = obj[k];\r\n return result;\r\n};\r\nexports.filterObj = filterObj;\r\nvar reduceObj = function (obj, cb, result) {\r\n for (var k in obj)\r\n result = cb(result, obj[k], k, obj);\r\n return result;\r\n};\r\nexports.reduceObj = reduceObj;\r\nvar mapObj = function (obj, cb) {\r\n var result = {};\r\n for (var k in obj)\r\n result[k] = cb(obj[k], k, obj);\r\n return result;\r\n};\r\nexports.mapObj = mapObj;\r\nvar groupObj = function (obj, key, ref) {\r\n var _a;\r\n var _b;\r\n if (ref === void 0) { ref = \"$key\"; }\r\n var result = {};\r\n for (var k in obj) {\r\n var gr = obj[k][key];\r\n (_b = result[gr]) !== null && _b !== void 0 ? _b : (result[gr] = []);\r\n result[gr].push(__assign((_a = {}, _a[ref] = k, _a), obj[k]));\r\n }\r\n return result;\r\n};\r\nexports.groupObj = groupObj;\r\nvar groupArr = function (arr, key, ref) {\r\n var _a;\r\n var _b;\r\n if (ref === void 0) { ref = \"$key\"; }\r\n var result = {};\r\n for (var i = 0; i < arr.length; i++) {\r\n var gr = arr[i][key];\r\n (_b = result[gr]) !== null && _b !== void 0 ? _b : (result[gr] = []);\r\n result[gr].push(__assign((_a = {}, _a[ref] = i, _a), arr[i]));\r\n }\r\n return result;\r\n};\r\nexports.groupArr = groupArr;\r\nvar objToArr = function (obj, ref) {\r\n if (ref === void 0) { ref = \"$key\"; }\r\n return (0, exports.reduceObj)(obj, function (r, x, k) {\r\n var _a;\r\n return r.concat(__assign(__assign({}, x), (_a = {}, _a[ref] = k, _a)));\r\n }, []);\r\n};\r\nexports.objToArr = objToArr;\r\nvar arrToObj = function (arr, key) {\r\n if (key === void 0) { key = \"$key\"; }\r\n return arr.reduce(function (r, x) {\r\n var copy = __assign({}, x);\r\n delete copy[key];\r\n r[x[key]] = copy;\r\n return r;\r\n }, {});\r\n};\r\nexports.arrToObj = arrToObj;\r\nvar repeatMap = function (times, fn) {\r\n var _a;\r\n var result = [];\r\n for (var i = 0; i < times; i++)\r\n result[i] = (_a = fn === null || fn === void 0 ? void 0 : fn(i)) !== null && _a !== void 0 ? _a : i;\r\n return result;\r\n};\r\nexports.repeatMap = repeatMap;\r\nvar increment = function () {\r\n var i = 0;\r\n return function () {\r\n return i++;\r\n };\r\n};\r\nexports.increment = increment;\r\nvar diff = function (cb, reset) {\r\n if (reset === void 0) { reset = false; }\r\n var last = cb();\r\n return function () {\r\n var curr = cb();\r\n var d = curr - last;\r\n if (reset)\r\n last = curr;\r\n return d;\r\n };\r\n};\r\nexports.diff = diff;\r\nvar exec = function (fn) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n return typeof fn === \"function\"\r\n ? fn.apply(_this, args)\r\n : undefined;\r\n};\r\nexports.exec = exec;\r\nvar debounce = function (threshold, fn, head) {\r\n if (head === void 0) { head = false; }\r\n var t;\r\n var c;\r\n return (function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (t === undefined && head)\r\n c = fn.apply(void 0, args);\r\n clearTimeout(t);\r\n t = setTimeout(function () {\r\n c = fn.apply(void 0, args);\r\n }, threshold);\r\n return c;\r\n });\r\n};\r\nexports.debounce = debounce;\r\nvar throttle = function (threshold, fn, tail) {\r\n if (tail === void 0) { tail = false; }\r\n var t;\r\n var p;\r\n var c;\r\n return (function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n clearTimeout(t);\r\n var now = Date.now();\r\n if (!p || now - p >= threshold) {\r\n p = now;\r\n c = fn.apply(void 0, args);\r\n }\r\n else if (tail) {\r\n t = setTimeout(function () {\r\n c = fn.apply(void 0, args);\r\n }, threshold);\r\n }\r\n return c;\r\n });\r\n};\r\nexports.throttle = throttle;\r\nvar memoize = function (fn, hashFn) {\r\n var cache = {};\r\n return (function () {\r\n var _a, _b;\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var hash = (_a = hashFn === null || hashFn === void 0 ? void 0 : hashFn.apply(void 0, args)) !== null && _a !== void 0 ? _a : JSON.stringify(args);\r\n if (cache[hash] === undefined)\r\n cache[hash] = (_b = fn.apply(void 0, args)) !== null && _b !== void 0 ? _b : null;\r\n return cache[hash];\r\n });\r\n};\r\nexports.memoize = memoize;\r\nvar chunk = function (n, arr) {\r\n var chunks = [];\r\n for (var i = 0; i < arr.length; i++) {\r\n var chunk_1 = Math.floor(i / n);\r\n if (!chunks[chunk_1])\r\n chunks[chunk_1] = [];\r\n chunks[chunk_1].push(arr[i]);\r\n }\r\n return chunks;\r\n};\r\nexports.chunk = chunk;\r\nvar createToggle = function () {\r\n var value = false;\r\n return {\r\n get: function () { return value; },\r\n on: function () { return value = true; },\r\n off: function () { return value = false; },\r\n toggle: function () { return value = !value; },\r\n };\r\n};\r\nexports.createToggle = createToggle;\r\nvar removeIfExists = function (arr, cb) {\r\n var i = arr.findIndex(cb);\r\n if (i !== -1)\r\n arr.splice(i, 1);\r\n return arr;\r\n};\r\nexports.removeIfExists = removeIfExists;\r\nvar clone = function (obj) {\r\n return JSON.parse(JSON.stringify(obj));\r\n};\r\nexports.clone = clone;\r\nvar formatSize = function (bytes) {\r\n var sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\r\n if (bytes == 0)\r\n return \"0 Byte\";\r\n var i = Math.floor(Math.floor(Math.log(bytes) / Math.log(1024)));\r\n var size = (bytes / Math.pow(1024, i));\r\n size = Math.round(size * 100) / 100;\r\n return size + sizes[i];\r\n};\r\nexports.formatSize = formatSize;\r\nvar formatPrice = function (price, decimal, format) {\r\n if (decimal === void 0) { decimal = true; }\r\n if (format === void 0) { format = {}; }\r\n var _a = \"\".concat(Math.round(price * 100) / 100).split(\".\"), n = _a[0], m = _a[1];\r\n var _b = Object.assign({ pre: \"€ \", dot: \",\", post: \"\" }, format), pre = _b.pre, dot = _b.dot, post = _b.post;\r\n var cents = \"\".concat(m !== null && m !== void 0 ? m : 0).padEnd(2, \"0\");\r\n return decimal ? \"\".concat(pre).concat(n).concat(dot).concat(cents).concat(post) : \"\".concat(pre).concat(Math.round(price)).concat(post);\r\n};\r\nexports.formatPrice = formatPrice;\r\nexports.isIE = (0, exports.memoize)(function () {\r\n return (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1);\r\n}, function () { return navigator.userAgent; });\r\nvar createImage = function (src) {\r\n return new Promise(function (res, rej) {\r\n var img = new Image();\r\n img.crossOrigin = \"Anonymous\";\r\n img.onload = function () { return res(img); };\r\n img.onerror = function (err) { return rej(err); };\r\n img.src = src;\r\n });\r\n};\r\nexports.createImage = createImage;\r\nvar getImageTypeFromB64 = function (source) {\r\n var match = source.match(/(image\\/.*)?;/);\r\n return (match && match[1]) ? match[1] : \"image/png\";\r\n};\r\nexports.getImageTypeFromB64 = getImageTypeFromB64;\r\nvar base64toBlob = function (src) {\r\n var base64Data = src.replace(/^data:image\\/(.*?);base64,/, \"\");\r\n var contentType = (0, exports.getImageTypeFromB64)(src);\r\n var sliceSize = 1024;\r\n var byteCharacters = atob(base64Data);\r\n var bytesLength = byteCharacters.length;\r\n var slicesCount = Math.ceil(bytesLength / sliceSize);\r\n var byteArrays = new Array(slicesCount);\r\n for (var i = 0; i < slicesCount; ++i) {\r\n var begin = i * sliceSize;\r\n var end = Math.min(begin + sliceSize, bytesLength);\r\n var bytes = new Array(end - begin);\r\n for (var offset = begin, i_1 = 0; offset < end; ++i_1, ++offset)\r\n bytes[i_1] = byteCharacters[offset].charCodeAt(0);\r\n byteArrays[i] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n};\r\nexports.base64toBlob = base64toBlob;\r\nvar fileToB64 = function (file) {\r\n return new Promise(function (res, rej) {\r\n var reader = new FileReader();\r\n reader.onload = function () { return res(reader.result); };\r\n reader.onerror = function (err) { return rej(err); };\r\n reader.readAsDataURL(file);\r\n });\r\n};\r\nexports.fileToB64 = fileToB64;\r\nvar imageUrlToB64 = function (url) {\r\n return fetch(url)\r\n .then(function (x) { return x.blob(); })\r\n .then(function (x) { return (0, exports.fileToB64)(x); });\r\n};\r\nexports.imageUrlToB64 = imageUrlToB64;\r\nvar getDynamicVal = function (x) {\r\n return typeof x === \"function\" ? x() : x;\r\n};\r\nexports.getDynamicVal = getDynamicVal;\r\nvar getDynamicObj = function (x) {\r\n return Object.fromEntries(Object.entries(x).map(function (_a) {\r\n var k = _a[0], v = _a[1];\r\n return [k, (0, exports.getDynamicVal)(v)];\r\n }));\r\n};\r\nexports.getDynamicObj = getDynamicObj;\r\n","\"use strict\"\n\nvar parseQueryString = require(\"../querystring/parse\")\n\n// Returns `{path, params}` from `url`\nmodule.exports = function(url) {\n\tvar queryIndex = url.indexOf(\"?\")\n\tvar hashIndex = url.indexOf(\"#\")\n\tvar queryEnd = hashIndex < 0 ? url.length : hashIndex\n\tvar pathEnd = queryIndex < 0 ? queryEnd : queryIndex\n\tvar path = url.slice(0, pathEnd).replace(/\\/{2,}/g, \"/\")\n\n\tif (!path) path = \"/\"\n\telse {\n\t\tif (path[0] !== \"/\") path = \"/\" + path\n\t\tif (path.length > 1 && path[path.length - 1] === \"/\") path = path.slice(0, -1)\n\t}\n\treturn {\n\t\tpath: path,\n\t\tparams: queryIndex < 0\n\t\t\t? {}\n\t\t\t: parseQueryString(url.slice(queryIndex + 1, queryEnd)),\n\t}\n}\n","import { getRootElements } from \"oj-dom-utils\"\r\n\r\nexport const isTouchDevice = () =>\r\n \"ontouchstart\" in window\r\n\r\nexport const isMobileViewport = (width = 768) =>\r\n window.innerWidth <= width\r\n\r\nexport const getFileExtensionFromString = (str: string) =>\r\n str.split(\".\")[1]\r\n\r\nexport const mounter = (selector: string, cb: (root: HTMLElement, data: T | null) => void) =>\r\n getRootElements(selector)\r\n .forEach(x => {\r\n const inputs = Array.from(x.querySelectorAll(\"input\"))\r\n let data: any = null\r\n if (inputs.length > 1)\r\n data = inputs.map(x => {\r\n try {\r\n return JSON.parse(x.value)\r\n } catch (err) {\r\n return x.value\r\n }\r\n })\r\n else if (inputs[0] instanceof HTMLInputElement)\r\n try {\r\n data = JSON.parse(inputs[0].value)\r\n } catch (err) {\r\n data = inputs[0].value\r\n }\r\n cb(x, data)\r\n })\r\n\r\nexport const downloadFile = (response: any, name: string) => {\r\n if (navigator.appVersion.toString().indexOf('.NET') > 0)\r\n window.navigator[\"msSaveBlob\"](response, name)\r\n else {\r\n const blob = new Blob([response], { type: response.type })\r\n const objectUrl = URL.createObjectURL(blob)\r\n const a = document.createElement(\"a\")\r\n a.style.display = \"none\"\r\n document.body.appendChild(a)\r\n a.href = objectUrl\r\n a.download = name\r\n a.click()\r\n URL.revokeObjectURL(objectUrl)\r\n }\r\n}\r\n\r\nexport const testMailAddress = (mail: string) =>\r\n /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)\r\n\r\nexport const loadScript = (src: string) =>\r\n new Promise((resolve, reject) => {\r\n const script = document.createElement(\"script\")\r\n script.type = \"text/javascript\"\r\n script.onload = resolve\r\n script.onerror = reject\r\n script.src = src\r\n document.body.appendChild(script)\r\n })\r\n\r\nexport const loadScriptSource = (txt: string) =>\r\n new Promise((resolve, reject) => {\r\n const script = document.createElement(\"script\")\r\n script.type = \"text/javascript\"\r\n script.onload = resolve\r\n script.onerror = reject\r\n script.innerHTML = txt\r\n document.body.appendChild(script)\r\n })","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\nvar hasOwn = require(\"../util/hasOwn\")\n\nvar selectorParser = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[(.+?)(?:\\s*=\\s*(\"|'|)((?:\\\\[\"'\\]]|.)*?)\\5)?\\])/g\nvar selectorCache = {}\n\nfunction isEmpty(object) {\n\tfor (var key in object) if (hasOwn.call(object, key)) return false\n\treturn true\n}\n\nfunction compileSelector(selector) {\n\tvar match, tag = \"div\", classes = [], attrs = {}\n\twhile (match = selectorParser.exec(selector)) {\n\t\tvar type = match[1], value = match[2]\n\t\tif (type === \"\" && value !== \"\") tag = value\n\t\telse if (type === \"#\") attrs.id = value\n\t\telse if (type === \".\") classes.push(value)\n\t\telse if (match[3][0] === \"[\") {\n\t\t\tvar attrValue = match[6]\n\t\t\tif (attrValue) attrValue = attrValue.replace(/\\\\([\"'])/g, \"$1\").replace(/\\\\\\\\/g, \"\\\\\")\n\t\t\tif (match[4] === \"class\") classes.push(attrValue)\n\t\t\telse attrs[match[4]] = attrValue === \"\" ? attrValue : attrValue || true\n\t\t}\n\t}\n\tif (classes.length > 0) attrs.className = classes.join(\" \")\n\treturn selectorCache[selector] = {tag: tag, attrs: attrs}\n}\n\nfunction execSelector(state, vnode) {\n\tvar attrs = vnode.attrs\n\tvar hasClass = hasOwn.call(attrs, \"class\")\n\tvar className = hasClass ? attrs.class : attrs.className\n\n\tvnode.tag = state.tag\n\tvnode.attrs = {}\n\n\tif (!isEmpty(state.attrs) && !isEmpty(attrs)) {\n\t\tvar newAttrs = {}\n\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key)) newAttrs[key] = attrs[key]\n\t\t}\n\n\t\tattrs = newAttrs\n\t}\n\n\tfor (var key in state.attrs) {\n\t\tif (hasOwn.call(state.attrs, key) && key !== \"className\" && !hasOwn.call(attrs, key)){\n\t\t\tattrs[key] = state.attrs[key]\n\t\t}\n\t}\n\tif (className != null || state.attrs.className != null) attrs.className =\n\t\tclassName != null\n\t\t\t? state.attrs.className != null\n\t\t\t\t? String(state.attrs.className) + \" \" + String(className)\n\t\t\t\t: className\n\t\t\t: state.attrs.className != null\n\t\t\t\t? state.attrs.className\n\t\t\t\t: null\n\n\tif (hasClass) attrs.class = null\n\n\tfor (var key in attrs) {\n\t\tif (hasOwn.call(attrs, key) && key !== \"key\") {\n\t\t\tvnode.attrs = attrs\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn vnode\n}\n\nfunction hyperscript(selector) {\n\tif (selector == null || typeof selector !== \"string\" && typeof selector !== \"function\" && typeof selector.view !== \"function\") {\n\t\tthrow Error(\"The selector must be either a string or a component.\");\n\t}\n\n\tvar vnode = hyperscriptVnode.apply(1, arguments)\n\n\tif (typeof selector === \"string\") {\n\t\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\t\tif (selector !== \"[\") return execSelector(selectorCache[selector] || compileSelector(selector), vnode)\n\t}\n\n\tvnode.tag = selector\n\treturn vnode\n}\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\n// Call via `hyperscriptVnode.apply(startOffset, arguments)`\n//\n// The reason I do it this way, forwarding the arguments and passing the start\n// offset in `this`, is so I don't have to create a temporary array in a\n// performance-critical path.\n//\n// In native ES6, I'd instead add a final `...args` parameter to the\n// `hyperscript` and `fragment` factories and define this as\n// `hyperscriptVnode(...args)`, since modern engines do optimize that away. But\n// ES5 (what Mithril.js requires thanks to IE support) doesn't give me that luxury,\n// and engines aren't nearly intelligent enough to do either of these:\n//\n// 1. Elide the allocation for `[].slice.call(arguments, 1)` when it's passed to\n// another function only to be indexed.\n// 2. Elide an `arguments` allocation when it's passed to any function other\n// than `Function.prototype.apply` or `Reflect.apply`.\n//\n// In ES6, it'd probably look closer to this (I'd need to profile it, though):\n// module.exports = function(attrs, ...children) {\n// if (attrs == null || typeof attrs === \"object\" && attrs.tag == null && !Array.isArray(attrs)) {\n// if (children.length === 1 && Array.isArray(children[0])) children = children[0]\n// } else {\n// children = children.length === 0 && Array.isArray(attrs) ? attrs : [attrs, ...children]\n// attrs = undefined\n// }\n//\n// if (attrs == null) attrs = {}\n// return Vnode(\"\", attrs.key, attrs, children)\n// }\nmodule.exports = function() {\n\tvar attrs = arguments[this], start = this + 1, children\n\n\tif (attrs == null) {\n\t\tattrs = {}\n\t} else if (typeof attrs !== \"object\" || attrs.tag != null || Array.isArray(attrs)) {\n\t\tattrs = {}\n\t\tstart = this\n\t}\n\n\tif (arguments.length === start + 1) {\n\t\tchildren = arguments[start]\n\t\tif (!Array.isArray(children)) children = [children]\n\t} else {\n\t\tchildren = []\n\t\twhile (start < arguments.length) children.push(arguments[start++])\n\t}\n\n\treturn Vnode(\"\", attrs.key, attrs, children)\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MithrilTsxComponent = /** @class */ (function () {\n function MithrilTsxComponent() {\n }\n return MithrilTsxComponent;\n}());\nexports.MithrilTsxComponent = MithrilTsxComponent;\n","/* global window */\n\"use strict\"\n\nvar PromisePolyfill = require(\"./polyfill\")\n\nif (typeof window !== \"undefined\") {\n\tif (typeof window.Promise === \"undefined\") {\n\t\twindow.Promise = PromisePolyfill\n\t} else if (!window.Promise.prototype.finally) {\n\t\twindow.Promise.prototype.finally = PromisePolyfill.prototype.finally\n\t}\n\tmodule.exports = window.Promise\n} else if (typeof global !== \"undefined\") {\n\tif (typeof global.Promise === \"undefined\") {\n\t\tglobal.Promise = PromisePolyfill\n\t} else if (!global.Promise.prototype.finally) {\n\t\tglobal.Promise.prototype.finally = PromisePolyfill.prototype.finally\n\t}\n\tmodule.exports = global.Promise\n} else {\n\tmodule.exports = PromisePolyfill\n}\n","\"use strict\"\n/** @constructor */\nvar PromisePolyfill = function(executor) {\n\tif (!(this instanceof PromisePolyfill)) throw new Error(\"Promise must be called with 'new'.\")\n\tif (typeof executor !== \"function\") throw new TypeError(\"executor must be a function.\")\n\n\tvar self = this, resolvers = [], rejectors = [], resolveCurrent = handler(resolvers, true), rejectCurrent = handler(rejectors, false)\n\tvar instance = self._instance = {resolvers: resolvers, rejectors: rejectors}\n\tvar callAsync = typeof setImmediate === \"function\" ? setImmediate : setTimeout\n\tfunction handler(list, shouldAbsorb) {\n\t\treturn function execute(value) {\n\t\t\tvar then\n\t\t\ttry {\n\t\t\t\tif (shouldAbsorb && value != null && (typeof value === \"object\" || typeof value === \"function\") && typeof (then = value.then) === \"function\") {\n\t\t\t\t\tif (value === self) throw new TypeError(\"Promise can't be resolved with itself.\")\n\t\t\t\t\texecuteOnce(then.bind(value))\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tcallAsync(function() {\n\t\t\t\t\t\tif (!shouldAbsorb && list.length === 0) console.error(\"Possible unhandled promise rejection:\", value)\n\t\t\t\t\t\tfor (var i = 0; i < list.length; i++) list[i](value)\n\t\t\t\t\t\tresolvers.length = 0, rejectors.length = 0\n\t\t\t\t\t\tinstance.state = shouldAbsorb\n\t\t\t\t\t\tinstance.retry = function() {execute(value)}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\trejectCurrent(e)\n\t\t\t}\n\t\t}\n\t}\n\tfunction executeOnce(then) {\n\t\tvar runs = 0\n\t\tfunction run(fn) {\n\t\t\treturn function(value) {\n\t\t\t\tif (runs++ > 0) return\n\t\t\t\tfn(value)\n\t\t\t}\n\t\t}\n\t\tvar onerror = run(rejectCurrent)\n\t\ttry {then(run(resolveCurrent), onerror)} catch (e) {onerror(e)}\n\t}\n\n\texecuteOnce(executor)\n}\nPromisePolyfill.prototype.then = function(onFulfilled, onRejection) {\n\tvar self = this, instance = self._instance\n\tfunction handle(callback, list, next, state) {\n\t\tlist.push(function(value) {\n\t\t\tif (typeof callback !== \"function\") next(value)\n\t\t\telse try {resolveNext(callback(value))} catch (e) {if (rejectNext) rejectNext(e)}\n\t\t})\n\t\tif (typeof instance.retry === \"function\" && state === instance.state) instance.retry()\n\t}\n\tvar resolveNext, rejectNext\n\tvar promise = new PromisePolyfill(function(resolve, reject) {resolveNext = resolve, rejectNext = reject})\n\thandle(onFulfilled, instance.resolvers, resolveNext, true), handle(onRejection, instance.rejectors, rejectNext, false)\n\treturn promise\n}\nPromisePolyfill.prototype.catch = function(onRejection) {\n\treturn this.then(null, onRejection)\n}\nPromisePolyfill.prototype.finally = function(callback) {\n\treturn this.then(\n\t\tfunction(value) {\n\t\t\treturn PromisePolyfill.resolve(callback()).then(function() {\n\t\t\t\treturn value\n\t\t\t})\n\t\t},\n\t\tfunction(reason) {\n\t\t\treturn PromisePolyfill.resolve(callback()).then(function() {\n\t\t\t\treturn PromisePolyfill.reject(reason);\n\t\t\t})\n\t\t}\n\t)\n}\nPromisePolyfill.resolve = function(value) {\n\tif (value instanceof PromisePolyfill) return value\n\treturn new PromisePolyfill(function(resolve) {resolve(value)})\n}\nPromisePolyfill.reject = function(value) {\n\treturn new PromisePolyfill(function(resolve, reject) {reject(value)})\n}\nPromisePolyfill.all = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tvar total = list.length, count = 0, values = []\n\t\tif (list.length === 0) resolve([])\n\t\telse for (var i = 0; i < list.length; i++) {\n\t\t\t(function(i) {\n\t\t\t\tfunction consume(value) {\n\t\t\t\t\tcount++\n\t\t\t\t\tvalues[i] = value\n\t\t\t\t\tif (count === total) resolve(values)\n\t\t\t\t}\n\t\t\t\tif (list[i] != null && (typeof list[i] === \"object\" || typeof list[i] === \"function\") && typeof list[i].then === \"function\") {\n\t\t\t\t\tlist[i].then(consume, reject)\n\t\t\t\t}\n\t\t\t\telse consume(list[i])\n\t\t\t})(i)\n\t\t}\n\t})\n}\nPromisePolyfill.race = function(list) {\n\treturn new PromisePolyfill(function(resolve, reject) {\n\t\tfor (var i = 0; i < list.length; i++) {\n\t\t\tlist[i].then(resolve, reject)\n\t\t}\n\t})\n}\n\nmodule.exports = PromisePolyfill\n","\"use strict\"\n\nmodule.exports = require(\"./render/render\")(typeof window !== \"undefined\" ? window : null)\n","\"use strict\"\n\nmodule.exports = function(object) {\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") return \"\"\n\n\tvar args = []\n\tfor (var key in object) {\n\t\tdestructure(key, object[key])\n\t}\n\n\treturn args.join(\"&\")\n\n\tfunction destructure(key, value) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (var i = 0; i < value.length; i++) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse if (Object.prototype.toString.call(value) === \"[object Object]\") {\n\t\t\tfor (var i in value) {\n\t\t\t\tdestructure(key + \"[\" + i + \"]\", value[i])\n\t\t\t}\n\t\t}\n\t\telse args.push(encodeURIComponent(key) + (value != null && value !== \"\" ? \"=\" + encodeURIComponent(value) : \"\"))\n\t}\n}\n","// This exists so I'm only saving it once.\n\"use strict\"\n\nvar hasOwn = require(\"./hasOwn\")\n\nmodule.exports = Object.assign || function(target, source) {\n\tfor (var key in source) {\n\t\tif (hasOwn.call(source, key)) target[key] = source[key]\n\t}\n}\n","\"use strict\"\n\nfunction decodeURIComponentSave(str) {\n\ttry {\n\t\treturn decodeURIComponent(str)\n\t} catch(err) {\n\t\treturn str\n\t}\n}\n\nmodule.exports = function(string) {\n\tif (string === \"\" || string == null) return {}\n\tif (string.charAt(0) === \"?\") string = string.slice(1)\n\n\tvar entries = string.split(\"&\"), counters = {}, data = {}\n\tfor (var i = 0; i < entries.length; i++) {\n\t\tvar entry = entries[i].split(\"=\")\n\t\tvar key = decodeURIComponentSave(entry[0])\n\t\tvar value = entry.length === 2 ? decodeURIComponentSave(entry[1]) : \"\"\n\n\t\tif (value === \"true\") value = true\n\t\telse if (value === \"false\") value = false\n\n\t\tvar levels = key.split(/\\]\\[?|\\[/)\n\t\tvar cursor = data\n\t\tif (key.indexOf(\"[\") > -1) levels.pop()\n\t\tfor (var j = 0; j < levels.length; j++) {\n\t\t\tvar level = levels[j], nextLevel = levels[j + 1]\n\t\t\tvar isNumber = nextLevel == \"\" || !isNaN(parseInt(nextLevel, 10))\n\t\t\tif (level === \"\") {\n\t\t\t\tvar key = levels.slice(0, j).join()\n\t\t\t\tif (counters[key] == null) {\n\t\t\t\t\tcounters[key] = Array.isArray(cursor) ? cursor.length : 0\n\t\t\t\t}\n\t\t\t\tlevel = counters[key]++\n\t\t\t}\n\t\t\t// Disallow direct prototype pollution\n\t\t\telse if (level === \"__proto__\") break\n\t\t\tif (j === levels.length - 1) cursor[level] = value\n\t\t\telse {\n\t\t\t\t// Read own properties exclusively to disallow indirect\n\t\t\t\t// prototype pollution\n\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(cursor, level)\n\t\t\t\tif (desc != null) desc = desc.value\n\t\t\t\tif (desc == null) cursor[level] = desc = isNumber ? [] : {}\n\t\t\t\tcursor = desc\n\t\t\t}\n\t\t}\n\t}\n\treturn data\n}\n","\"use strict\"\n\n// Note: this is mildly perf-sensitive.\n//\n// It does *not* use `delete` - dynamic `delete`s usually cause objects to bail\n// out into dictionary mode and just generally cause a bunch of optimization\n// issues within engines.\n//\n// Ideally, I would've preferred to do this, if it weren't for the optimization\n// issues:\n//\n// ```js\n// const hasOwn = require(\"./hasOwn\")\n// const magic = [\n// \"key\", \"oninit\", \"oncreate\", \"onbeforeupdate\", \"onupdate\",\n// \"onbeforeremove\", \"onremove\",\n// ]\n// module.exports = (attrs, extras) => {\n// const result = Object.assign(Object.create(null), attrs)\n// for (const key of magic) delete result[key]\n// if (extras != null) for (const key of extras) delete result[key]\n// return result\n// }\n// ```\n\nvar hasOwn = require(\"./hasOwn\")\n// Words in RegExp literals are sometimes mangled incorrectly by the internal bundler, so use RegExp().\nvar magic = new RegExp(\"^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$\")\n\nmodule.exports = function(attrs, extras) {\n\tvar result = {}\n\n\tif (extras != null) {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key) && extras.indexOf(key) < 0) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor (var key in attrs) {\n\t\t\tif (hasOwn.call(attrs, key) && !magic.test(key)) {\n\t\t\t\tresult[key] = attrs[key]\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n","import m from \"mithril\"\r\nimport { MithrilTsxComponent } from \"mithril-tsx-component\"\r\nimport { mounter, isMobileViewport } from \"../utils\"\r\nimport { cleanString, debounce } from \"oj-utils\"\r\n\r\ninterface IOverview {\r\n desktopProductItems: IProduct[],\r\n mobileProductItems: IProduct[],\r\n translations: {\r\n from: string,\r\n makeNow: string,\r\n nowFrom: string\r\n }\r\n}\r\n\r\ninterface IProduct {\r\n fujiCode: string,\r\n title: string,\r\n descriptionFirstLine: string,\r\n descriptionSecondLine: string,\r\n price: number,\r\n hasActionPrice: boolean,\r\n actionPrice: number,\r\n tagManagerCategory: string,\r\n tagManagerList: string,\r\n navigateUrl: string,\r\n labelUrl: string,\r\n imageNumericId: number,\r\n overviewPageImageUrls: {\r\n 215: string,\r\n 280: string,\r\n 340: string,\r\n 400: string\r\n },\r\n imageTitle: string,\r\n imageAltText: string,\r\n overviewPageHoverImageUrls: {\r\n 215: string,\r\n 280: string,\r\n 340: string,\r\n 400: string\r\n },\r\n hoverImageNumericId: number,\r\n hoverImageTitle: string,\r\n hoverImageAltText: string,\r\n hasFromText: string\r\n}\r\n\r\nconst hasDecimals = (price) => {\r\n return price % 1 !== 0;\r\n}\r\n\r\nconst formatPrice = (price, isActionPrice = false) => {\r\n if (!hasDecimals(price)) return `${price}`\r\n\r\n const PriceArray = price.toFixed(2).split(\".\");\r\n return `${PriceArray[0]}.${PriceArray[1]}`\r\n}\r\n\r\nlet isMobile = false;\r\n\r\nexport class ProductOverview extends MithrilTsxComponent {\r\n productItems: IProduct[]\r\n\r\n oninit(v) {\r\n isMobile = isMobileViewport();\r\n this.productItems = isMobile ? v.attrs.mobileProductItems : v.attrs.desktopProductItems;\r\n\r\n window.addEventListener('resize', debounce(1000, () => {\r\n isMobile = isMobileViewport();\r\n this.productItems = isMobile ? v.attrs.mobileProductItems : v.attrs.desktopProductItems;\r\n m.redraw();\r\n }));\r\n }\r\n\r\n view(v) {\r\n const { translations }: IOverview = v.attrs;\r\n\r\n return this.productItems.map((x) =>
\r\n
\r\n \r\n {x.labelUrl &&
\r\n \"label\"\r\n
}\r\n\r\n {x.imageNumericId &&
\r\n \r\n \r\n \r\n \r\n {x.imageAltText}\r\n \r\n\r\n {Object.keys(x.overviewPageHoverImageUrls).length > 0 && \r\n \r\n \r\n \r\n {x.hoverImageAltText}\r\n }\r\n
}\r\n\r\n

\r\n {x.title}\r\n {m.trust(x.descriptionFirstLine)}\r\n {m.trust(x.descriptionSecondLine)}\r\n\r\n \r\n \r\n\r\n {x.actionPrice && {m.trust(formatPrice(x.price, true))}}\r\n\r\n {x.hasFromText && {x.actionPrice ? translations.nowFrom : translations.from}}\r\n\r\n \r\n {m.trust(formatPrice(x.actionPrice ? x.actionPrice : x.price))}\r\n \r\n \r\n {/*{translations.makeNow}*/}\r\n \r\n

\r\n
\r\n
\r\n
)\r\n }\r\n}\r\n\r\nmounter(`[data-m-product-overview]`, (r, d) => {\r\n m.mount(r, {\r\n view: v => \r\n })\r\n})\r\n","\"use strict\"\n\nfunction Vnode(tag, key, attrs, children, text, dom) {\n\treturn {tag: tag, key: key, attrs: attrs, children: children, text: text, dom: dom, domSize: undefined, state: undefined, events: undefined, instance: undefined}\n}\nVnode.normalize = function(node) {\n\tif (Array.isArray(node)) return Vnode(\"[\", undefined, undefined, Vnode.normalizeChildren(node), undefined, undefined)\n\tif (node == null || typeof node === \"boolean\") return null\n\tif (typeof node === \"object\") return node\n\treturn Vnode(\"#\", undefined, undefined, String(node), undefined, undefined)\n}\nVnode.normalizeChildren = function(input) {\n\tvar children = []\n\tif (input.length) {\n\t\tvar isKeyed = input[0] != null && input[0].key != null\n\t\t// Note: this is a *very* perf-sensitive check.\n\t\t// Fun fact: merging the loop like this is somehow faster than splitting\n\t\t// it, noticeably so.\n\t\tfor (var i = 1; i < input.length; i++) {\n\t\t\tif ((input[i] != null && input[i].key != null) !== isKeyed) {\n\t\t\t\tthrow new TypeError(\n\t\t\t\t\tisKeyed && (input[i] != null || typeof input[i] === \"boolean\")\n\t\t\t\t\t\t? \"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.\"\n\t\t\t\t\t\t: \"In fragments, vnodes must either all have keys or none have keys.\"\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\tfor (var i = 0; i < input.length; i++) {\n\t\t\tchildren[i] = Vnode.normalize(input[i])\n\t\t}\n\t}\n\treturn children\n}\n\nmodule.exports = Vnode\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\"\n\nvar hyperscript = require(\"./render/hyperscript\")\n\nhyperscript.trust = require(\"./render/trust\")\nhyperscript.fragment = require(\"./render/fragment\")\n\nmodule.exports = hyperscript\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\n\nmodule.exports = function(html) {\n\tif (html == null) html = \"\"\n\treturn Vnode(\"<\", undefined, undefined, html, undefined, undefined)\n}\n","\"use strict\"\n\nvar Vnode = require(\"../render/vnode\")\nvar hyperscriptVnode = require(\"./hyperscriptVnode\")\n\nmodule.exports = function() {\n\tvar vnode = hyperscriptVnode.apply(0, arguments)\n\n\tvnode.tag = \"[\"\n\tvnode.children = Vnode.normalizeChildren(vnode.children)\n\treturn vnode\n}\n","\"use strict\"\n\nvar PromisePolyfill = require(\"./promise/promise\")\nvar mountRedraw = require(\"./mount-redraw\")\n\nmodule.exports = require(\"./request/request\")(typeof window !== \"undefined\" ? window : null, PromisePolyfill, mountRedraw.redraw)\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a