{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./utils/isVisible.js","webpack:///./utils/clickOutside.js","webpack:///./utils/getViewportHeight.js","webpack:///./utils/isIEcheck.js","webpack:///./utils/isMobile.js","webpack:///./utils/openInNewTab.js","webpack:///./utils/addActiveLinkClass.js","webpack:///./utils/isIOS.js","webpack:///./utils/fetchCheckStatus.js","webpack:///./utils/isStorageAvailable.js","webpack:///./utils/fetch.js","webpack:///./components/Calculator/default/index.js","webpack:///../node_modules/console-browserify/index.js","webpack:///../node_modules/util/util.js","webpack:///../node_modules/custom-event/index.js","webpack:///../node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js","webpack:///../node_modules/body-scroll-lock/lib/bodyScrollLock.min.js","webpack:///../node_modules/process/browser.js","webpack:///../node_modules/util/support/isBufferBrowser.js","webpack:///../node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///../node_modules/assert/assert.js","webpack:///../node_modules/object-assign/index.js","webpack:///../node_modules/scrollingelement/scrollingelement.js","webpack:///./components/PseudoLinks/index.js","webpack:///../node_modules/disable-scroll/es/index.js","webpack:///./components/Header/index.js","webpack:///./components/UI/loader/index.js","webpack:///./components/LinkAnchors/index.js","webpack:///./pages/pricing/components/PricingTable/index.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///../node_modules/@uvocore-front/utils/dist/index.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","isVisible","elem","offsetWidth","offsetHeight","getClientRects","length","clickOutside","element","callback","outsideClickListener","event","contains","target","removeClickListener","document","removeEventListener","addEventListener","getViewportHeight","Math","max","documentElement","clientHeight","window","innerHeight","isIEcheck","ua","navigator","userAgent","indexOf","isMobile","innerWidth","openInNewTab","url","open","focus","addActiveLinkClass","anchorSelector","activeClass","anchors","querySelectorAll","current","location","pathname","getAttribute","classList","add","isiOS","platform","test","checkFetchStatus","response","ok","status","json","type","setItem","removeItem","e","options","method","headers","body","credentials","fetch","Error","text","message","isPageConfig","pageConfig","keys","constructor","pageCalculatorConfig","undefined","calculator","querySelector","observeElement","marginValue","getWidget","widgetLink","customLoader","Loader","insertLoaderTo","loaderPosition","fn","pagePaperType","calcOptions","ID","calculatorType","format","deafault","academicLevelDefault","paperTypesDefault","deadlinesDefault","Calc","util","assert","now","Date","getTime","console","slice","Array","times","global","functions","log","apply","arguments","warn","label","time","duration","err","error","stack","inspect","expression","arr","tuple","f","getOwnPropertyDescriptors","obj","descriptors","getOwnPropertyDescriptor","formatRegExp","isString","objects","push","join","args","len","str","String","replace","x","Number","JSON","stringify","_","isNull","isObject","deprecate","msg","process","noDeprecation","this","warned","throwDeprecation","traceDeprecation","trace","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","idx","arrayToHash","getOwnPropertyNames","isError","formatError","isRegExp","RegExp","toString","isDate","output","base","braces","isArray","toUTCString","formatProperty","match","formatArray","map","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","desc","set","split","line","substr","ar","arg","re","objectToString","pad","debuglog","env","NODE_DEBUG","toUpperCase","pid","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","prop","inherits","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","cb","newReason","promisify","original","TypeError","writable","configurable","promiseResolve","promiseReject","promise","Promise","resolve","reject","setPrototypeOf","getPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","self","then","nextTick","rej","NativeCustomEvent","CustomEvent","detail","foo","useNative","createEvent","params","initCustomEvent","bubbles","cancelable","createEventObject","Boolean","Element","closest","ownerDocument","item","parentElement","Event","requestAnimationFrame","cancelAnimationFrame","a","setTimeout","clearTimeout","M","q","ignore","header","topOnEmptyHash","speed","speedAsDuration","durationMax","durationMin","clip","offset","easing","customEasing","updateURL","popstate","emitEvents","I","charAt","charCodeAt","InvalidCharacterError","F","scrollHeight","activeElement","setAttribute","outline","scrollTo","H","anchor","toggle","dispatchEvent","b","A","O","C","cancelScroll","tagName","pageYOffset","u","h","parseInt","getComputedStyle","height","offsetTop","L","g","offsetParent","min","y","v","w","S","abs","E","floor","history","pushState","smoothScroll","id","title","matchMedia","matches","defaultPrevented","button","metaKey","ctrlKey","shiftKey","toLowerCase","hostname","href","decodeURIComponent","preventDefault","replaceState","state","animateScroll","destroy","from","some","allowTouchMove","touches","paddingRight","overflow","maxTouchPoints","disableBodyScroll","targetElement","concat","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","stopPropagation","passive","reserveScrollBarGap","clientWidth","clearAllBodyScrollLocks","enableBodyScroll","filter","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","copy","fill","readUInt8","ctor","superCtor","super_","TempCtor","objectAssign","compare","Buffer","_isBuffer","hasOwn","pSlice","functionsHaveNames","pToString","isView","arrbuf","ArrayBuffer","DataView","buffer","regex","getName","func","truncate","something","rawname","fail","actual","expected","operator","stackStartFunction","AssertionError","_deepEqual","strict","memos","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","actualVisitedObjects","aIsArgs","isArguments","bIsArgs","ka","objectKeys","kb","sort","objEquiv","expectedException","isPrototypeOf","_throws","shouldThrow","block","_tryBlock","userProvidedMessage","isUnexpectedException","generatedMessage","captureStackTrace","out","fn_name","next_line","substring","equal","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","assign","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","to","computeStyle","currentStyle","isCompliantCached","isRendered","display","visibility","scrollingElement","compatMode","iframe","createElement","appendChild","doc","contentWindow","write","close","parentNode","removeChild","isCompliant","frameset","nextSibling","nodeType","HTMLBodyElement","getNextBodyElement","bodyStyle","htmlStyle","isScrollable","__defineGetter__","attachEvent","propertyName","pseudoLinks","link","which","ownKeys","enumerableOnly","sym","_toConsumableArray","arr2","_arrayWithoutHoles","iter","iterator","_iterableToArray","_nonIterableSpread","_defineProperties","props","descriptor","_defineProperty","canUseDOM","DisableScroll","_this","instance","Constructor","_classCallCheck","_window","lockToScrollPos","keyboardKeys","authorizedInInputs","keyCode","disableWheel","disableScroll","disableKeys","protoProps","staticProps","_objectSpread","_this$options","handleWheel","scrollLeft","scrollX","scrollY","handleScroll","handleKeydown","ToggleNav","nav","navScrollSpace","isOpen","sel","showEvent","setNavScrollSpaceHeight","show","hide","remove","ToggleSubNav","navItems","subnavMenuItem","navSimpleItems","subnavButton","subnavBody","subnavScrollSpace","scrollEventsPrevented","subnavHeight","getBoundingClientRect","top","onkeydown","toggleNav","toggleSubNav","scrollHandler","stickyHeader","addLoader","insertTo","position","el","innerHTML","SmoothScroll","fetchCheckStatus","data","tableContainer","academicLevels","deadlines","level","index","short_title","values","deadlineItem","deadlineItemArr","dealineName","emptyCellsQty","trunc","pricePerPage","generateTemplate","activeCell","activeNearbyRowCells","activeNearbyColumnCells","table","hideActiveElements","prevActiveCells","nextActiveCells","cell","removeAttribute","currentCell","activeColumnIndex","children","row","parseFloat","catch","Function","default","deployHash","getElementsByTagName","async","defer","readyState","onload","onreadystatechange","src","thresholdValue","rootMargin","threshold","IntersectionObserver","isIntersecting","unobserve","observe","loader","__WMS__","utils","loadScripts"],"mappings":"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","file":"js/pricing.min.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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 446);\n","/**\n *\n * @param elem\n * @returns {boolean}\n */\nconst isVisible = elem =>\n !!elem && !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n\nexport default isVisible;\n","import isVisible from './isVisible';\n\n/**\n *\n * @param element\n * @param callback\n */\nconst clickOutside = (element, callback) => {\n const outsideClickListener = event => {\n if (!element.contains(event.target) && isVisible(element)) {\n callback();\n // eslint-disable-next-line no-use-before-define\n removeClickListener();\n }\n };\n\n const removeClickListener = () => {\n document.removeEventListener('click', outsideClickListener);\n };\n\n document.addEventListener('click', outsideClickListener);\n};\n\nexport default clickOutside;\n","/**\n *\n * @returns {number}\n */\nconst getViewportHeight = () =>\n Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n\nexport default getViewportHeight;\n","/**\n *\n * @returns {boolean}\n */\nconst isIEcheck = () => {\n const ua = navigator.userAgent;\n /* MSIE used to detect old browsers and Trident used to newer ones */\n const isEI = ua.indexOf('MSIE ') > -1 || ua.indexOf('Trident/') > -1;\n\n return isEI;\n};\n\nexport default isIEcheck;\n","/**\n *\n * @returns {boolean}\n */\nconst isMobile = () => window.innerWidth < 1024;\n\nexport default isMobile;\n","/**\n *\n * @param url\n */\nconst openInNewTab = url => {\n const win = window.open(url, '_blank');\n win.focus();\n};\n\nexport default openInNewTab;\n","/**\n *\n * @param anchorSelector\n * @param activeClass\n */\nconst addActiveLinkClass = ({ anchorSelector = 'a', activeClass = 'active' }) => {\n const anchors = document.querySelectorAll(anchorSelector);\n if (!anchors) return;\n\n const current = window.location.pathname;\n\n for (let i = 0; i < anchors.length; i += 1) {\n if (\n anchors[i].getAttribute('href') === current ||\n anchors[i].getAttribute('data-href') === current\n ) {\n anchors[i].classList.add(activeClass);\n }\n }\n};\n\nexport default addActiveLinkClass;\n","const isiOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\n\nexport default isiOS;\n","const checkFetchStatus = response => {\n if (!response.ok) {\n throw response.status;\n }\n return response.json();\n};\n\nexport default checkFetchStatus;\n","export default type => {\n const test = '__storageTest__';\n try {\n window[type].setItem(test, test);\n window[type].removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n};\n","export default async (url, options = {}) => {\n const { method = 'GET', headers, body = null, credentials = 'omit' } = options;\n\n try {\n const response = await fetch(url, {\n method,\n headers,\n body,\n credentials: credentials !== 'omit' ? 'include' : 'omit',\n });\n\n if (!response.ok) {\n throw new Error('Bad request');\n }\n\n return {\n json: () => response.json(),\n text: () => response.text(),\n };\n } catch (error) {\n throw new Error(`Request failed: ${error.message}`);\n }\n};\n","import { observeElement, getWidget } from '@uvocore-front/utils';\n\nimport Loader from '../../UI/loader';\nimport './style.scss';\n\nwindow.addEventListener('DOMContentLoaded', () => {\n /**\n * Calculator\n */\n const isPageConfig =\n window.pageConfig &&\n Object.keys(window.pageConfig).length > 0 &&\n window.pageConfig.constructor === Object;\n const pageCalculatorConfig =\n isPageConfig && window.pageConfig.calculator !== undefined\n ? window.pageConfig.calculator\n : undefined;\n\n // Calculator Observer\n if (document.querySelector('[data-calculator-default]')) {\n observeElement({\n element: '[data-calculator-default]',\n marginValue: 400,\n callback: () => {\n getWidget({\n widgetLink: '/assets/js/calc.js',\n customLoader: Loader,\n insertLoaderTo: '[data-calculator-default]',\n loaderPosition: 'center',\n fn: () => {\n const pagePaperType =\n isPageConfig &&\n window.pageConfig.calculator !== undefined &&\n window.pageConfig.calculator.pagePaperType\n ? window.pageConfig.calculator.pagePaperType\n : undefined;\n\n const calcOptions = {\n ID: '113',\n calculatorType: 'DefaultCalculator',\n format: 'html',\n options: {\n deafault: {\n academicLevelDefault: 2,\n paperTypesDefault: 2,\n deadlinesDefault: [93073],\n ...pageCalculatorConfig,\n },\n },\n };\n\n if (pagePaperType !== undefined) {\n calcOptions.options.deafault.paperTypesDefault = pagePaperType;\n }\n\n const calc = new Calc(calcOptions); /* eslint-disable-line */\n },\n });\n },\n });\n }\n});\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","\nvar NativeCustomEvent = global.CustomEvent;\n\nfunction useNative () {\n try {\n var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });\n return 'cat' === p.type && 'bar' === p.detail.foo;\n } catch (e) {\n }\n return false;\n}\n\n/**\n * Cross-browser `CustomEvent` constructor.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent\n *\n * @public\n */\n\nmodule.exports = useNative() ? NativeCustomEvent :\n\n// IE >= 9\n'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {\n var e = document.createEvent('CustomEvent');\n if (params) {\n e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);\n } else {\n e.initCustomEvent(type, false, false, void 0);\n }\n return e;\n} :\n\n// IE <= 8\nfunction CustomEvent (type, params) {\n var e = document.createEventObject();\n e.type = type;\n if (params) {\n e.bubbles = Boolean(params.bubbles);\n e.cancelable = Boolean(params.cancelable);\n e.detail = params.detail;\n } else {\n e.bubbles = false;\n e.cancelable = false;\n e.detail = void 0;\n }\n return e;\n}\n","/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */\nwindow.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t,n=(this.document||this.ownerDocument).querySelectorAll(e),o=this;do{for(t=n.length;0<=--t&&n.item(t)!==o;);}while(t<0&&(o=o.parentElement));return o}),(function(){if(\"function\"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e})(),(function(){for(var r=0,e=[\"ms\",\"moz\",\"webkit\",\"o\"],t=0;to.durationMax?o.durationMax:o.durationMin&&u=v)return C.cancelScroll(!0),x(a,t,c),H(\"scrollStop\",i,a,r),!(O=l=null)})(d,g)||(O=M.requestAnimationFrame(E),l=e)};0===M.pageYOffset&&M.scrollTo(0,0),f=a,h=i,c||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:f.id},document.title,f===document.documentElement?\"#top\":\"#\"+f.id),\"matchMedia\"in M&&M.matchMedia(\"(prefers-reduced-motion)\").matches?x(a,Math.floor(g),!1):(H(\"scrollStart\",i,a,r),C.cancelScroll(!0),M.requestAnimationFrame(E))}};var t=function(e){if(!e.defaultPrevented&&!(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)&&\"closest\"in e.target&&(a=e.target.closest(o))&&\"a\"===a.tagName.toLowerCase()&&!e.target.closest(b.ignore)&&a.hostname===M.location.hostname&&a.pathname===M.location.pathname&&/#/.test(a.href)){var t,n;try{t=r(decodeURIComponent(a.hash))}catch(e){t=r(a.hash)}if(\"#\"===t){if(!b.topOnEmptyHash)return;n=document.documentElement}else n=document.querySelector(t);(n=n||\"#top\"!==t?n:document.documentElement)&&(e.preventDefault(),(function(e){if(history.replaceState&&e.updateURL&&!history.state){var t=M.location.hash;t=t||\"\",history.replaceState({smoothScroll:JSON.stringify(e),anchor:t||M.pageYOffset},document.title,t||M.location.href)}})(b),C.animateScroll(n,a))}},n=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(b)){var t=history.state.anchor;\"string\"==typeof t&&t&&!(t=document.querySelector(r(history.state.anchor)))||C.animateScroll(t,null,{updateURL:!1})}};C.destroy=function(){b&&(document.removeEventListener(\"click\",t,!1),M.removeEventListener(\"popstate\",n,!1),C.cancelScroll(),O=A=a=b=null)};return (function(){if(!(\"querySelector\"in document&&\"addEventListener\"in M&&\"requestAnimationFrame\"in M&&\"closest\"in M.Element.prototype))throw\"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.\";C.destroy(),b=I(q,e||{}),A=b.header?document.querySelector(b.header):null,document.addEventListener(\"click\",t,!1),b.updateURL&&b.popstate&&M.addEventListener(\"popstate\",n,!1)})(),C}}));","!function(e,t){if(\"function\"==typeof define&&define.amd)define([\"exports\"],t);else if(\"undefined\"!=typeof exports)t(exports);else{var o={};t(o),e.bodyScrollLock=o}}(this,function(exports){\"use strict\";function i(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t 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","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","'use strict';\n\nvar objectAssign = require('object-assign');\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n// NB: The URL to the CommonJS spec is kept just for tradition.\n// node-assert has evolved a lot since then, both in API and behavior.\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\n// Expose a strict only variant of assert\nfunction strict(value, message) {\n if (!value) fail(value, true, message, '==', strict);\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/*! https://mths.be/scrollingelement v1.5.2 by @diegoperini & @mathias | MIT license */\nif (!('scrollingElement' in document)) (function() {\n\n\tfunction computeStyle(element) {\n\t\tif (window.getComputedStyle) {\n\t\t\t// Support Firefox < 4 which throws on a single parameter.\n\t\t\treturn getComputedStyle(element, null);\n\t\t}\n\t\t// Support Internet Explorer < 9.\n\t\treturn element.currentStyle;\n\t}\n\n\tfunction isBodyElement(element) {\n\t\t// The `instanceof` check gives the correct result for e.g. `body` in a\n\t\t// non-HTML namespace.\n\t\tif (window.HTMLBodyElement) {\n\t\t\treturn element instanceof HTMLBodyElement;\n\t\t}\n\t\t// Fall back to a `tagName` check for old browsers.\n\t\treturn /body/i.test(element.tagName);\n\t}\n\n\tfunction getNextBodyElement(frameset) {\n\t\t// We use this function to be correct per spec in case `document.body` is\n\t\t// a `frameset` but there exists a later `body`. Since `document.body` is\n\t\t// a `frameset`, we know the root is an `html`, and there was no `body`\n\t\t// before the `frameset`, so we just need to look at siblings after the\n\t\t// `frameset`.\n\t\tvar current = frameset;\n\t\twhile (current = current.nextSibling) {\n\t\t\tif (current.nodeType == 1 && isBodyElement(current)) {\n\t\t\t\treturn current;\n\t\t\t}\n\t\t}\n\t\t// No `body` found.\n\t\treturn null;\n\t}\n\n\t// Note: standards mode / quirks mode can be toggled at runtime via\n\t// `document.write`.\n\tvar isCompliantCached;\n\tvar isCompliant = function() {\n\t\tvar isStandardsMode = /^CSS1/.test(document.compatMode);\n\t\tif (!isStandardsMode) {\n\t\t\t// In quirks mode, the result is equivalent to the non-compliant\n\t\t\t// standards mode behavior.\n\t\t\treturn false;\n\t\t}\n\t\tif (isCompliantCached === void 0) {\n\t\t\t// When called for the first time, check whether the browser is\n\t\t\t// standard-compliant, and cache the result.\n\t\t\tvar iframe = document.createElement('iframe');\n\t\t\tiframe.style.height = '1px';\n\t\t\t(document.body || document.documentElement || document).appendChild(iframe);\n\t\t\tvar doc = iframe.contentWindow.document;\n\t\t\tdoc.write('
x
');\n\t\t\tdoc.close();\n\t\t\tisCompliantCached = doc.documentElement.scrollHeight > doc.body.scrollHeight;\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t\treturn isCompliantCached;\n\t};\n\n\tfunction isRendered(style) {\n\t\treturn style.display != 'none' && !(style.visibility == 'collapse' &&\n\t\t\t/^table-(.+-group|row|column)$/.test(style.display));\n\t}\n\n\tfunction isScrollable(body) {\n\t\t// A `body` element is scrollable if `body` and `html` both have\n\t\t// non-`visible` overflow and are both being rendered.\n\t\tvar bodyStyle = computeStyle(body);\n\t\tvar htmlStyle = computeStyle(document.documentElement);\n\t\treturn bodyStyle.overflow != 'visible' && htmlStyle.overflow != 'visible' &&\n\t\t\tisRendered(bodyStyle) && isRendered(htmlStyle);\n\t}\n\n\tvar scrollingElement = function() {\n\t\tif (isCompliant()) {\n\t\t\treturn document.documentElement;\n\t\t}\n\t\tvar body = document.body;\n\t\t// Note: `document.body` could be a `frameset` element, or `null`.\n\t\t// `tagName` is uppercase in HTML, but lowercase in XML.\n\t\tvar isFrameset = body && !/body/i.test(body.tagName);\n\t\tbody = isFrameset ? getNextBodyElement(body) : body;\n\t\t// If `body` is itself scrollable, it is not the `scrollingElement`.\n\t\treturn body && isScrollable(body) ? null : body;\n\t};\n\n\tif (Object.defineProperty) {\n\t\t// Support modern browsers that lack a native implementation.\n\t\tObject.defineProperty(document, 'scrollingElement', {\n\t\t\t'get': scrollingElement\n\t\t});\n\t} else if (document.__defineGetter__) {\n\t\t// Support Firefox ≤ 3.6.9, Safari ≤ 4.1.3.\n\t\tdocument.__defineGetter__('scrollingElement', scrollingElement);\n\t} else {\n\t\t// IE ≤ 4 lacks `attachEvent`, so it only gets this one assignment. IE ≤ 7\n\t\t// gets it too, but the value is updated later (see `propertychange`).\n\t\tdocument.scrollingElement = scrollingElement();\n\t\tdocument.attachEvent && document.attachEvent('onpropertychange', function() {\n\t\t\t// This is for IE ≤ 7 only.\n\t\t\t// A `propertychange` event fires when `` is parsed because\n\t\t\t// `document.activeElement` then changes.\n\t\t\tif (window.event.propertyName == 'activeElement') {\n\t\t\t\tdocument.scrollingElement = scrollingElement();\n\t\t\t}\n\t\t});\n\t}\n}());\n","import { openInNewTab } from '../../utils';\n\nfunction pseudoLinksInit() {\n const pseudoLinks = document.querySelectorAll('[data-href]');\n\n Array.from(pseudoLinks).forEach(link => {\n link.addEventListener('click', e => {\n e.preventDefault();\n window.location = link.getAttribute('data-href');\n });\n\n link.addEventListener('mousedown', e => {\n if (e.which === 2) openInNewTab(link.getAttribute('data-href'));\n });\n });\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n pseudoLinksInit();\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar DisableScroll =\n/*#__PURE__*/\nfunction () {\n function DisableScroll() {\n var _this = this;\n\n _classCallCheck(this, DisableScroll);\n\n _defineProperty(this, \"handleWheel\", function (e) {\n e.preventDefault();\n });\n\n _defineProperty(this, \"handleScroll\", function () {\n var _window;\n\n (_window = window).scrollTo.apply(_window, _toConsumableArray(_this.lockToScrollPos));\n });\n\n _defineProperty(this, \"handleKeydown\", function (e) {\n var keys = _this.options.keyboardKeys;\n /* istanbul ignore else */\n\n if (['INPUT', 'TEXTAREA'].indexOf(e.target.tagName) !== -1) {\n keys = _this.options.authorizedInInputs;\n }\n /* istanbul ignore else */\n\n\n if (keys.indexOf(e.keyCode) !== -1) {\n e.preventDefault();\n }\n });\n\n this.element = null;\n this.lockToScrollPos = [0, 0];\n this.options = {\n disableWheel: true,\n disableScroll: true,\n disableKeys: true,\n keyboardKeys: [32, 33, 34, 35, 36, 37, 38, 39, 40],\n authorizedInInputs: [32, 37, 38, 39, 40] // space: 32, page up: 33, page down: 34, end: 35, home: 36\n // left: 37, up: 38, right: 39, down: 40\n\n };\n /* istanbul ignore else */\n\n if (canUseDOM) {\n require('scrollingelement');\n\n this.element = document.scrollingElement;\n }\n }\n /**\n * Disable Page Scroll\n * @external Node\n *\n * @param {HTMLElement} [element] - DOM Element, usually document.body\n * @param {object} [options] - Change the initial options\n */\n\n\n _createClass(DisableScroll, [{\n key: \"on\",\n value: function on(element, options) {\n if (!canUseDOM) return;\n this.element = element || this.element;\n this.options = _objectSpread({}, this.options, {}, options);\n var _this$options = this.options,\n disableKeys = _this$options.disableKeys,\n disableScroll = _this$options.disableScroll,\n disableWheel = _this$options.disableWheel;\n /* istanbul ignore else */\n\n if (disableWheel) {\n document.addEventListener('wheel', this.handleWheel, {\n passive: false\n });\n document.addEventListener('touchmove', this.handleWheel, {\n passive: false\n });\n }\n /* istanbul ignore else */\n\n\n if (disableScroll) {\n this.lockToScrollPos = [this.element.scrollLeft || this.element.scrollX, this.element.scrollTop || this.element.scrollY];\n document.addEventListener('scroll', this.handleScroll, {\n passive: false\n });\n }\n /* istanbul ignore else */\n\n\n if (disableKeys) {\n document.addEventListener('keydown', this.handleKeydown, {\n passive: false\n });\n }\n }\n /**\n * Re-enable page scrolls\n */\n\n }, {\n key: \"off\",\n value: function off() {\n if (!canUseDOM) return;\n document.removeEventListener('wheel', this.handleWheel, {\n passive: false\n });\n document.removeEventListener('touchmove', this.handleWheel, {\n passive: false\n });\n document.removeEventListener('scroll', this.handleScroll, {\n passive: false\n });\n document.removeEventListener('keydown', this.handleKeydown, {\n passive: false\n });\n }\n }]);\n\n return DisableScroll;\n}();\n\nexport default new DisableScroll();","import { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport disableScroll from 'disable-scroll';\nimport CustomEvent from 'custom-event';\nimport { isMobile, getViewportHeight, isIEcheck, clickOutside } from '../../utils';\nimport './header-default.scss';\n\n/**\n * Sticky header\n */\nconst stickyHeader = () => {\n const header = document.querySelector('.header');\n\n if (!header) return;\n\n const scrollHandler = () => {\n const topPosition = header.getBoundingClientRect().top;\n\n if (topPosition < 0) {\n if (!header.classList.contains('sticky')) {\n header.classList.add('sticky');\n }\n } else if (header.classList.contains('sticky')) {\n header.classList.remove('sticky');\n }\n };\n\n scrollHandler();\n window.addEventListener('scroll', scrollHandler);\n};\n\n/**\n * Toggle Navigation\n */\n\nfunction ToggleNav() {\n const header = document.querySelector('.header');\n const button = header.querySelector('.header__nav-toggle');\n const nav = header.querySelector('.header__nav');\n const navScrollSpace = header.querySelector('.header__nav-inner');\n\n if (!header || !button || !nav) return;\n\n this.state = {\n isOpen: false,\n };\n this.sel = nav;\n const showEvent = new CustomEvent('show');\n\n const setNavScrollSpaceHeight = () => {\n nav.style.height = `${getViewportHeight() - header.offsetHeight}px`;\n };\n\n this.show = () => {\n if (this.state.isOpen) return;\n\n this.state.isOpen = true;\n\n disableBodyScroll(navScrollSpace);\n\n header.classList.add('nav-is-open');\n setNavScrollSpaceHeight();\n\n window.addEventListener('resize', setNavScrollSpaceHeight);\n\n this.sel.dispatchEvent(showEvent);\n };\n\n this.hide = () => {\n if (!this.state.isOpen) return;\n\n this.state.isOpen = false;\n\n enableBodyScroll(navScrollSpace);\n clearAllBodyScrollLocks();\n\n header.classList.remove('nav-is-open');\n nav.style.height = '';\n\n window.removeEventListener('resize', setNavScrollSpaceHeight);\n };\n\n button.addEventListener(\n 'click',\n () => {\n if (this.state.isOpen) {\n this.hide();\n } else {\n this.show();\n }\n },\n false,\n );\n\n window.addEventListener('orientationchange', this.hide);\n}\n\n/**\n * Toggle SubNavigation\n */\n\nfunction ToggleSubNav() {\n const header = document.querySelector('.header');\n const navScrollSpace = header.querySelector('.header__nav-inner');\n const navItems = header.querySelectorAll('.header__nav-item');\n const subnavMenuItem = header.querySelector('.header__nav-item--subnav');\n const navSimpleItems = Array.prototype.slice\n .call(navItems)\n .filter(item => item !== subnavMenuItem);\n const subnavButton = subnavMenuItem.querySelector('.header__nav-link');\n const subnavBody = subnavMenuItem.querySelector('.header__subnav');\n const subnavScrollSpace = subnavBody.querySelector('.subnav__inner');\n\n if (!subnavMenuItem || !subnavButton || !subnavBody) return;\n\n this.state = {\n isOpen: false,\n scrollEventsPrevented: false,\n };\n\n this.show = () => {\n if (this.state.isOpen) return;\n\n this.state.isOpen = true;\n\n subnavMenuItem.classList.add('is-open');\n\n if (!isMobile()) {\n if (!isIEcheck()) {\n disableScroll.on();\n }\n\n this.scrollEventsPrevented = true;\n clickOutside(subnavBody, this.hide);\n } else {\n disableBodyScroll(subnavScrollSpace);\n navScrollSpace.style.overflow = 'hidden';\n\n const subnavHeight = Math.floor(\n getViewportHeight() - subnavScrollSpace.getBoundingClientRect().top,\n );\n\n subnavBody.style.height = `${subnavHeight}px`;\n }\n\n navSimpleItems.forEach(item => {\n item.classList.add('header__nav-item--hidden');\n });\n };\n\n this.hide = () => {\n if (!this.state.isOpen) return;\n\n this.state.isOpen = false;\n\n enableBodyScroll(subnavScrollSpace);\n\n navSimpleItems.forEach(item => {\n item.classList.remove('header__nav-item--hidden');\n });\n subnavMenuItem.classList.remove('is-open');\n\n if (this.scrollEventsPrevented) {\n disableScroll.off();\n }\n\n navScrollSpace.style.overflow = '';\n subnavBody.style.height = '';\n };\n\n subnavButton.addEventListener(\n 'click',\n e => {\n e.stopPropagation();\n if (this.state.isOpen) {\n this.hide();\n } else {\n this.show();\n }\n },\n false,\n );\n\n window.addEventListener('orientationchange', this.hide);\n\n document.onkeydown = e => {\n let isEscape = false;\n if ('key' in e) {\n isEscape = e.key === 'Escape' || e.key === 'Esc';\n } else {\n isEscape = e.keyCode === 27;\n }\n if (isEscape) {\n this.hide();\n }\n };\n}\n\nwindow.addEventListener('DOMContentLoaded', () => {\n const toggleNav = new ToggleNav();\n const toggleSubNav = new ToggleSubNav();\n stickyHeader();\n\n toggleNav.sel.addEventListener('show', () => {\n toggleSubNav.hide();\n });\n});\n","import './style.scss';\n\n/**\n *\n * @param insertTo - selector\n * @param position - center or top\n */\nconst addLoader = (insertTo, position = 'center') => {\n if (insertTo && typeof insertTo === 'string') {\n const el = document.querySelector(`${insertTo}`);\n\n el.innerHTML += `\n
\n
\n
\n
\n
\n
\n `;\n }\n};\n\nexport default addLoader;\n","/* eslint-disable no-new */\nimport SmoothScroll from 'smooth-scroll';\n\nwindow.addEventListener('DOMContentLoaded', () => {\n new SmoothScroll('a[href*=\"#\"]', {\n header: '.header__inner',\n offset: 50,\n });\n});\n","import { observeElement } from '@uvocore-front/utils';\nimport { fetchCheckStatus, isMobile } from '../../../../utils';\nimport Loader from '../../../../components/UI/loader';\nimport './styles.scss';\n\nconst generateTemplate = data => {\n const { academicLevels, deadlines } = data;\n\n const MIN_DEADLINE_VALUES_LENTGH = 5;\n\n const template = `\n
\n
\n \n
\n \n \n \n \n ${academicLevels.map(level => ``).join('')}\n \n \n \n ${Object.values(deadlines)\n .map(deadlineItem => {\n let deadlineItemArr = Object.values(deadlineItem);\n\n const dealineName = deadlineItemArr[0].name;\n\n const emptyCellsQty = MIN_DEADLINE_VALUES_LENTGH - deadlineItemArr.length;\n\n deadlineItemArr = [...new Array(emptyCellsQty), ...deadlineItemArr];\n\n return `\n \n \n ${deadlineItemArr\n .map(\n (level, index) =>\n ``,\n )\n .join('')}\n \n `;\n })\n .join('')}\n \n
\n Deadline\n ${level.short_title}
\n
\n ${dealineName}\n
\n
\n ${level ? `$${Math.trunc(level.pricePerPage)}` : '—'}\n
\n
\n `;\n\n return template;\n};\n\nconst priceTableHoveringInit = () => {\n const table = document.querySelector('.pricing-table__main');\n\n let activeCell;\n let activeNearbyRowCells;\n let activeNearbyColumnCells;\n\n const hideActiveElements = () => {\n if (activeCell) {\n activeCell.classList.remove('active-cell');\n activeCell = null;\n }\n\n if (activeNearbyRowCells) {\n activeNearbyRowCells.forEach(cell => cell.classList.remove('active-row-cell'));\n activeNearbyRowCells = null;\n }\n\n if (activeNearbyColumnCells) {\n activeNearbyColumnCells.forEach(cell => cell.classList.remove('active-column-cell'));\n activeNearbyColumnCells = null;\n }\n };\n\n const handleMouseOver = event => {\n if (isMobile()) return;\n\n const currentCell = event.target.closest('.pricing-table__price');\n\n hideActiveElements();\n\n if (!currentCell || currentCell === activeCell) return;\n\n activeCell = currentCell;\n\n const activeColumnIndex = activeCell.getAttribute('data-value');\n\n activeNearbyRowCells = Array.from(activeCell.parentNode.children).filter(\n cell =>\n !cell.getAttribute('data-value') || cell.getAttribute('data-value') < activeColumnIndex,\n );\n\n activeNearbyColumnCells = Array.from(table.querySelectorAll('.pricing-table__row'))\n .map(row => Array.from(row.children)[parseFloat(activeColumnIndex) + 1])\n .filter(cell => cell !== activeCell);\n\n activeNearbyRowCells.forEach(cell => cell.classList.add('active-row-cell'));\n activeNearbyColumnCells.forEach(cell => cell.classList.add('active-column-cell'));\n activeCell.classList.add('active-cell');\n };\n\n table.addEventListener('mouseover', handleMouseOver);\n table.addEventListener('mouseleave', hideActiveElements);\n};\n\nobserveElement({\n element: '[data-pricing-table]',\n marginValue: 300,\n callback: () => {\n Loader('[data-pricing-table]');\n\n fetch('/assets/get_pricing_block/?siteId=113&format=json')\n .then(fetchCheckStatus)\n .then(data => {\n const tableContainer = document.querySelector('[data-pricing-table]');\n\n tableContainer.innerHTML = generateTemplate(data);\n\n const changeCurrentDeadline = index => {\n const prevActiveCells = tableContainer.querySelectorAll('[data-active]');\n const nextActiveCells = tableContainer.querySelectorAll(`[data-value=\"${index}\"]`);\n\n Array.from(prevActiveCells).forEach(cell => cell.removeAttribute('data-active'));\n Array.from(nextActiveCells).forEach(cell => cell.setAttribute('data-active', ''));\n };\n\n tableContainer.querySelector('select').addEventListener('change', event => {\n changeCurrentDeadline(event.target.value);\n });\n\n priceTableHoveringInit();\n })\n .catch(error => {\n throw error;\n });\n },\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.utils=t():e.utils=t()}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(e,t){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(t){return\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.iterator)?e.exports=o=function(e){return n(e)}:e.exports=o=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":n(e)},o(t)}e.exports=o},function(e,t,n){e.exports=n(3)},function(e,t,n){},function(e,t,n){\"use strict\";n.r(t);var o=n(0),r=n.n(o),i=window.deployHash&&\"string\"==typeof window.deployHash&&\"\"!==window.deployHash?window.deployHash:\"\",c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.getElementsByTagName(\"head\")[0],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return new Promise((function(r,c){if(e&&\"string\"==typeof e){var u=i?\"?v=\".concat(i):\"\",d=e+u;if(document.querySelector('script[src=\"'.concat(d,'\"]')))r();else{var f=document.createElement(\"script\");f.async=n,f.defer=o;var a=function(e,t){(t||!f.readyState||/loaded|complete/.test(f.readyState))&&(f.onload=null,f.onreadystatechange=null,f=void 0,t?c():r())};f.onload=a,f.onreadystatechange=a,f.src=d,t.appendChild(f)}}}))},u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"center\";e&&\"string\"==typeof e&&(document.querySelector(\"\".concat(e)).innerHTML='\\n
\\n
\\n
\\n '))},d=(n(2),u),f=function(e){var t=e.element,n=e.marginValue,o=void 0===n?400:n,r=e.thresholdValue,i=void 0===r?0:r,c=e.callback,u=void 0===c?function(){}:c;if(t&&\"string\"==typeof t){var d=document.querySelectorAll(t),f={rootMargin:\"\".concat(o,\"px 0px \").concat(o,\"px 0px\"),threshold:i},a=new IntersectionObserver((function(e,t){e.forEach((function(e){e.isIntersecting&&(t.unobserve(e.target),u(e.target))}))}),f);d&&[].slice.call(d).forEach((function(e){a.observe(e)}))}},a=function(e){var t=e.widgetLink,n=e.loader,o=void 0===n||n,r=e.customLoader,i=void 0===r?void 0:r,u=e.insertLoaderTo,f=void 0===u?void 0:u,a=e.loaderPosition,l=void 0===a?\"center\":a,s=e.fn,p=void 0===s?function(){}:s;t&&\"string\"==typeof t&&c(t).then((function(){o&&i&&\"function\"==typeof i?i(f,l):o&&d(f,l),p()})).catch((function(e){throw new Error(e)}))};n.d(t,\"loadScripts\",(function(){return c})),n.d(t,\"addLoader\",(function(){return d})),n.d(t,\"observeElement\",(function(){return f})),n.d(t,\"getWidget\",(function(){return a})),window.__WMS__=\"object\"===(\"undefined\"==typeof __WMS__?\"undefined\":r()(__WMS__))?__WMS__:{},window.__WMS__.utils={loadScripts:c,addLoader:d,observeElement:f,getWidget:a}}])}));\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}