{"version":3,"sources":["webpack:///./.nuxt/utils.js","webpack:///./.nuxt/client.js","webpack:///./layouts/error.vue?3acb","webpack:///./.nuxt/components/nuxt-loading.vue?78f2","webpack:///./assets/logo-dah.svg","webpack:///./components/header.vue?5572","webpack:///./components/footer.vue?e5f1","webpack:///./assets/enterprise/appointment.png","webpack:///./components/sticker.vue?1f35","webpack:///./layouts/default.vue?2ef4","webpack:///./.nuxt/router.scrollBehavior.js","webpack:///./.nuxt/router.js","webpack:///./.nuxt/components/nuxt-child.js","webpack:///./.nuxt/App.js","webpack:///./.nuxt/components/nuxt.js","webpack:///./.nuxt/components/nuxt-loading.vue?2c81","webpack:///.nuxt/components/nuxt-loading.vue","webpack:///./.nuxt/components/nuxt-loading.vue","webpack:///./components/header.vue?eb0b","webpack:///components/header.vue","webpack:///./components/header.vue","webpack:///./components/header.vue?ba53","webpack:///./components/footer.vue","webpack:///./components/footer.vue?9e5d","webpack:///./components/sticker.vue?3b6e","webpack:///components/sticker.vue","webpack:///./layouts/default.vue?25a9","webpack:///layouts/default.vue","webpack:///./components/sticker.vue","webpack:///./components/sticker.vue?0ebc","webpack:///./layouts/default.vue","webpack:///./layouts/default.vue?e670","webpack:///./plugins/route.js","webpack:///./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack:///./plugins/lazyload.js","webpack:///./plugins/cnzz.js","webpack:///./components/common/icon/src/main.vue?3b31","webpack:///./components/common/icon/src/main.vue?6179","webpack:///components/common/icon/src/main.vue","webpack:///./components/common/icon/src/main.vue","webpack:///./components/common/icon/index.js","webpack:///./plugins/icon.js","webpack:///./plugins/rem.js","webpack:///./.nuxt/index.js","webpack:///./node_modules/vue-no-ssr/dist/vue-no-ssr.common.js","webpack:///./layouts/error.vue?38d3","webpack:///./layouts/error.vue?9d09","webpack:///layouts/error.vue","webpack:///./layouts/error.vue","webpack:///./.nuxt/components/nuxt-link.server.js","webpack:///./.nuxt/middleware.js","webpack:///./node_modules/vue-client-only/dist/vue-client-only.common.js","webpack:///./plugins/iconfont.js","webpack:///./assets/common/qrcode.png","webpack:///./node_modules/unfetch/dist/unfetch.mjs","webpack:///./node_modules/deepmerge/dist/cjs.js"],"names":["globalHandleError","error","Vue","config","errorHandler","interopDefault","promise","then","m","default","applyAsyncData","Component","asyncData","options","__hasNuxtData","ComponentData","_originDataFn","data","call","this","$ssrContext","cid","_Ctor","sanitizeComponent","extendOptions","extend","name","__file","getMatchedComponents","route","matches","Array","prototype","concat","apply","matched","map","index","Object","keys","components","key","push","getMatchedComponentsInstances","instances","flatMapComponents","fn","reduce","promises","resolveRouteComponents","Promise","all","instance","match","getRouteData","meta","setContext","app","context","isStatic","process","isDev","isHMR","payload","base","env","req","res","ssrContext","redirect","status","path","query","_redirected","pathType","router","resolve","fullPath","test","formatUrl","window","location","replace","Error","next","nuxtState","__NUXT__","from","currentRouteData","fromRouteData","_errored","Boolean","params","middlewareSeries","appContext","length","promisify","slice","err","getLocation","mode","decodeURI","pathname","hash","indexOf","search","compile","str","tokens","i","RegExp","pattern","obj","opts","encode","pretty","encodeURIComponentPretty","encodeURIComponent","token","value","segment","optional","partial","prefix","TypeError","isArray","repeat","JSON","stringify","j","delimiter","asterisk","encodeURI","c","charCodeAt","toString","toUpperCase","tokensToFunction","defaultDelimiter","PATH_REGEXP","exec","escaped","offset","capture","group","modifier","escapeGroup","escapeString","substr","parse","getQueryDiff","toQuery","fromQuery","diff","queries","k","String","normalizeError","message","e","constructor","statusCode","response","onNuxtReadyCbs","onNuxtReady","cb","join","url","protocol","substring","startsWith","parts","split","result","shift","filter","sort","val","val2","formatQuery","component","NuxtLink","global","fetch","_lastPaths","NUXT","assign","console","mapTransitions","Components","to","componentTransitions","transition","option","args","componentOption","transitions","fromTransitions","toLowerCase","includes","forEach","loadAsyncComponents","_pathChanged","nuxt","_queryChanged","_diffQuery","$loading","start","manual","some","watchQuery","reload","$nuxt","$emit","applySSRData","ssrData","serverRendered","resolveComponents","_","_Component","callMiddleware","layout","midd","unknownMiddleware","middleware","render","fromMatches","nextCalled","_next","finish","pause","bind","_dateLastError","dateErr","_hadError","loadLayout","NuxtError","setTransitions","isValid","validate","_path","_dataRefresh","_isMounted","hasAsyncData","hasFetch","loadingIncrease","asyncDataResult","increase","loading","p","fetchResult","normalizeComponents","___","showNextPage","$options","setLayout","fixPrepatch","nextTick","_isDestroyed","$vnode","keepAlive","newData","set","$data","$nextTick","nuxtReady","_app","_onNuxtLoaded","afterEach","__app","mount","$mount","currentRoute","beforeEach","clientFirstMount","unregisterHook","undefined","createApp","catch","module","exports","history","scrollRestoration","addEventListener","use","Router","routerOptions","linkActiveClass","linkExactActiveClass","scrollBehavior","savedPosition","position","Pages","every","Page","scrollToTop","x","y","$once","CSS","escape","document","querySelector","selector","warn","routes","children","fallback","functional","props","nuxtChildKey","type","keepAliveProps","h","parent","nuxtChild","_parent","defaultTransition","depth","$parent","nuxtChildDepth","transitionProps","transitionsKeys","listeners","listenersKeys","beforeEnter","el","css","leave","done","routerView","on","NuxtChild","computed","routerViewKey","$route","matchedRoute","beforeCreate","util","defineReactive","$root","$props","percent","show","canSucceed","reversed","skipTimerCount","rtl","throttle","duration","continuous","left","beforeDestroy","clear","methods","clearInterval","_timer","clearTimeout","_throttle","setTimeout","startTimer","Math","min","max","floor","num","get","decrease","resume","hide","fail","_cut","setInterval","staticClass","class","style","staticRenderFns","menu","solutions","mounted","ticking","scroll","destroyed","removeEventListener","requestAnimationFrame","mouseover","__menu_tick__","mouseout","_vm","_h","$createElement","_c","_self","ref","directives","rawName","expression","arg","attrs","staticStyle","_v","_l","nativeOn","$event","_s","label","modifiers","backtop","scrollTo","scrollX","toAppointment","open","AppHeader","AppFooter","Sticker","watch","handler","_czc","contentUrl","layouts","head","title","t","loadingEl","layoutEl","templateEl","domProps","id","layoutName","transitionEl","isOnline","created","refreshOnlineStatus","$refs","isOffline","navigator","onLine","refresh","pages","page","errorChanged","NuxtLoading","_typeof","Symbol","iterator","classCallCheck","Constructor","createClass","defineProperties","target","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","isPrimitive","assignSymbols","receiver","objects","getOwnPropertySymbols","isEnumerable","propertyIsEnumerable","len","arguments","provider","names","kindOf","Number","Function","Date","isBuffer","isObject$1","isValidKey","hasOwn","hasOwnProperty","assignDeep","inBrowser","hasIntersectionObserver","IntersectionObserverEntry","intersectionRatio","checkIntersectionObserver","modeType","event","observer","CustomEvent","Event","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","remove","arr","item","splice","getBestSelectionFromSrcset","scale","tagName","getAttribute","containerWidth","parentNode","offsetWidth","spaceIndex","tmpSrc","tmpWidth","trim","lastIndexOf","parseInt","a","b","bestSelectedSrc","tmpOption","find","getDPR","devicePixelRatio","supportWebp","support","d","createElement","visibility","innerHTML","body","appendChild","removeChild","supportsPassive","testSupportsPassive","func","passive","off","loadImageAsync","reject","image","Image","src","onload","naturalHeight","naturalWidth","onerror","prop","getComputedStyle","getPropertyValue","overflow","noop","ImageCache","_ref","_caches","has","free","ReactiveListener","bindType","elRenderer","imageCache","attempt","rect","_imageCache","performanceData","init","now","loadStart","loadEnd","initState","dataset","setAttribute","state","loaded","rendered","_ref2","oldSrc","getBoundingClientRect","getRect","top","innerHeight","preLoad","bottom","preLoadTop","innerWidth","right","_this","ObjectKeys","_this2","silent","_this3","onFinish","log","renderLoading","adapter","record","add","cache","time","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","rootMargin","threshold","Lazy","action","delay","timeout","lastRun","throttleWait","dispatchEvent","_ref$silent","listenEvents","hasbind","observerOptions","version","ListenerQueue","TargetIndex","TargetQueue","ListenEvents","_initEvent","lazyLoadHandler","_lazyLoadHandler","elapsed","runCallback","setMode","list","performance","vm","_addListenerTarget","_observer","observe","$el","binding","vnode","update","_valueFormatter2","_valueFormatter","container","getElementById","HTMLElement","documentElement","scrollParent","newListener","_elRenderer","_valueFormatter3","exist","unobserve","existItem","_removeListenerTarget","destroy","listener","_initListen","_initIntersectionObserver","childrenCount","listened","_this4","_this5","_this6","$on","$off","inCache","_this7","freeList","checkInView","load","_this8","IntersectionObserver","_observerHandler","entries","_this9","entry","isIntersecting","LazyComponent","lazy","tag","$slots","addLazyBox","removeComponent","LazyContainerMananger","lazyContainerMananger","_queue","LazyContainer$1","defaultOptions","LazyContainer","_ref3","getImgs","arrLike","ArrayFrom","querySelectorAll","LazyImage","lazyManager","renderSrc","_lazyManager$_valueFo","install","LazyClass","lazyContainer","isVue2","$Lazyload","lazyComponent","lazyImage","directive","componentUpdated","unbind","newValue","oldValue","$els","hasWindow","environment","round","VueLazyload","progressive","numericCap","parmas","format","q","toDataURL","cnzz","dispatch","_hmt","$cnzz","actions","click","mouseenter","node","srcElement","nodeName","$vue","__vue__","isSPALink","preventDefault","cloneNode","vars","content","textContent","_g","_b","$attrs","$listeners","Icon","$rem","source","PXRegExp","$0","$1","parseFloat","toFixed","ClientOnly","NoSsr","ctx","_warned","Nuxt","Meta","keyName","attribute","ssrAttribute","tagIDKeyName","App","beforeRenderFns","inject","installKey","nuxt_plugin_route_338f5eda","nuxt_plugin_iconfont_71b8ac84","placeholder","placeholderTag","slots","ref$1","defaultSlot","placeholderSlot","$forceUpdate","_m","extends","noPrefetch","n","getElementsByTagName","__iconfont__svg__cssinject__","write","readyState","attachEvent","l","o","doScroll","onreadystatechange","width","height","firstChild","insertBefore","r","s","XMLHttpRequest","u","ok","statusText","responseURL","text","responseText","json","blob","Blob","clone","headers","method","getAllResponseHeaders","withCredentials","credentials","setRequestHeader","send","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","element","getKeys","symbol","getEnumerableOwnPropertySymbols","mergeObject","destination","customMerge","getMergeFunction","arrayMerge","sourceIsArray","array","prev","deepmerge_1"],"mappings":"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","file":"encs/ep_site/f37246a1.js","sourcesContent":["import Vue from 'vue'\n\n// window.{{globals.loadedCallback}} hook\n// Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)\nif (process.client) {\n window.onNuxtReadyCbs = []\n window.onNuxtReady = (cb) => {\n window.onNuxtReadyCbs.push(cb)\n }\n}\n\nexport function empty() {}\n\nexport function globalHandleError(error) {\n if (Vue.config.errorHandler) {\n Vue.config.errorHandler(error)\n }\n}\n\nexport function interopDefault(promise) {\n return promise.then(m => m.default || m)\n}\n\nexport function applyAsyncData(Component, asyncData) {\n if (\n // For SSR, we once all this function without second param to just apply asyncData\n // Prevent doing this for each SSR request\n !asyncData && Component.options.__hasNuxtData\n ) {\n return\n }\n\n const ComponentData = Component.options._originDataFn || Component.options.data || function () { return {} }\n Component.options._originDataFn = ComponentData\n\n Component.options.data = function () {\n const data = ComponentData.call(this)\n if (this.$ssrContext) {\n asyncData = this.$ssrContext.asyncData[Component.cid]\n }\n return { ...data, ...asyncData }\n }\n\n Component.options.__hasNuxtData = true\n\n if (Component._Ctor && Component._Ctor.options) {\n Component._Ctor.options.data = Component.options.data\n }\n}\n\nexport function sanitizeComponent(Component) {\n // If Component already sanitized\n if (Component.options && Component._Ctor === Component) {\n return Component\n }\n if (!Component.options) {\n Component = Vue.extend(Component) // fix issue #6\n Component._Ctor = Component\n } else {\n Component._Ctor = Component\n Component.extendOptions = Component.options\n }\n // For debugging purpose\n if (!Component.options.name && Component.options.__file) {\n Component.options.name = Component.options.__file\n }\n return Component\n}\n\nexport function getMatchedComponents(route, matches = false) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.components).map((key) => {\n matches && matches.push(index)\n return m.components[key]\n })\n }))\n}\n\nexport function getMatchedComponentsInstances(route, matches = false) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.instances).map((key) => {\n matches && matches.push(index)\n return m.instances[key]\n })\n }))\n}\n\nexport function flatMapComponents(route, fn) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.components).reduce((promises, key) => {\n if (m.components[key]) {\n promises.push(fn(m.components[key], m.instances[key], m, key, index))\n } else {\n delete m.components[key]\n }\n return promises\n }, [])\n }))\n}\n\nexport function resolveRouteComponents(route, fn) {\n return Promise.all(\n flatMapComponents(route, async (Component, instance, match, key) => {\n // If component is a function, resolve it\n if (typeof Component === 'function' && !Component.options) {\n Component = await Component()\n }\n match.components[key] = Component = sanitizeComponent(Component)\n return typeof fn === 'function' ? fn(Component, instance, match, key) : Component\n })\n )\n}\n\nexport async function getRouteData(route) {\n if (!route) {\n return\n }\n // Make sure the components are resolved (code-splitting)\n await resolveRouteComponents(route)\n // Send back a copy of route with meta based on Component definition\n return {\n ...route,\n meta: getMatchedComponents(route).map((Component, index) => {\n return { ...Component.options.meta, ...(route.matched[index] || {}).meta }\n })\n }\n}\n\nexport async function setContext(app, context) {\n // If context not defined, create it\n if (!app.context) {\n app.context = {\n isStatic: process.static,\n isDev: false,\n isHMR: false,\n app,\n\n payload: context.payload,\n error: context.error,\n base: '/',\n env: {}\n }\n // Only set once\n if (context.req) {\n app.context.req = context.req\n }\n if (context.res) {\n app.context.res = context.res\n }\n if (context.ssrContext) {\n app.context.ssrContext = context.ssrContext\n }\n app.context.redirect = (status, path, query) => {\n if (!status) {\n return\n }\n app.context._redirected = true\n // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })\n let pathType = typeof path\n if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {\n query = path || {}\n path = status\n pathType = typeof path\n status = 302\n }\n if (pathType === 'object') {\n path = app.router.resolve(path).route.fullPath\n }\n // \"/absolute/route\", \"./relative/route\" or \"../relative/route\"\n if (/(^[.]{1,2}\\/)|(^\\/(?!\\/))/.test(path)) {\n app.context.next({\n path,\n query,\n status\n })\n } else {\n path = formatUrl(path, query)\n if (process.server) {\n app.context.next({\n path,\n status\n })\n }\n if (process.client) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Location/replace\n window.location.replace(path)\n\n // Throw a redirect error\n throw new Error('ERR_REDIRECT')\n }\n }\n }\n if (process.server) {\n app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn)\n }\n if (process.client) {\n app.context.nuxtState = window.__NUXT__\n }\n }\n\n // Dynamic keys\n const [currentRouteData, fromRouteData] = await Promise.all([\n getRouteData(context.route),\n getRouteData(context.from)\n ])\n\n if (context.route) {\n app.context.route = currentRouteData\n }\n\n if (context.from) {\n app.context.from = fromRouteData\n }\n\n app.context.next = context.next\n app.context._redirected = false\n app.context._errored = false\n app.context.isHMR = Boolean(context.isHMR)\n app.context.params = app.context.route.params || {}\n app.context.query = app.context.route.query || {}\n}\n\nexport function middlewareSeries(promises, appContext) {\n if (!promises.length || appContext._redirected || appContext._errored) {\n return Promise.resolve()\n }\n return promisify(promises[0], appContext)\n .then(() => {\n return middlewareSeries(promises.slice(1), appContext)\n })\n}\n\nexport function promisify(fn, context) {\n let promise\n if (fn.length === 2) {\n // fn(context, callback)\n promise = new Promise((resolve) => {\n fn(context, function (err, data) {\n if (err) {\n context.error(err)\n }\n data = data || {}\n resolve(data)\n })\n })\n } else {\n promise = fn(context)\n }\n if (!promise || (!(promise instanceof Promise) && (typeof promise.then !== 'function'))) {\n promise = Promise.resolve(promise)\n }\n return promise\n}\n\n// Imported from vue-router\nexport function getLocation(base, mode) {\n let path = decodeURI(window.location.pathname)\n if (mode === 'hash') {\n return window.location.hash.replace(/^#\\//, '')\n }\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length)\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\nexport function urlJoin() {\n return Array.prototype.slice.call(arguments).join('/').replace(/\\/+/g, '/')\n}\n\n// Imported from path-to-regexp\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options))\n}\n\nexport function getQueryDiff(toQuery, fromQuery) {\n const diff = {}\n const queries = { ...toQuery, ...fromQuery }\n for (const k in queries) {\n if (String(toQuery[k]) !== String(fromQuery[k])) {\n diff[k] = true\n }\n }\n return diff\n}\n\nexport function normalizeError(err) {\n let message\n if (!(err.message || typeof err === 'string')) {\n try {\n message = JSON.stringify(err, null, 2)\n } catch (e) {\n message = `[${err.constructor.name}]`\n }\n } else {\n message = err.message || err\n }\n return {\n ...err,\n message,\n statusCode: (err.statusCode || err.status || (err.response && err.response.status) || 500)\n }\n}\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nconst PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse(str, options) {\n const tokens = []\n let key = 0\n let index = 0\n let path = ''\n const defaultDelimiter = (options && options.delimiter) || '/'\n let res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n const m = res[0]\n const escaped = res[1]\n const offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n const next = str[index]\n const prefix = res[2]\n const name = res[3]\n const capture = res[4]\n const group = res[5]\n const modifier = res[6]\n const asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n const partial = prefix != null && next != null && next !== prefix\n const repeat = modifier === '+' || modifier === '*'\n const optional = modifier === '?' || modifier === '*'\n const delimiter = res[2] || defaultDelimiter\n const pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter,\n optional,\n repeat,\n partial,\n asterisk: Boolean(asterisk),\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty(str) {\n return encodeURI(str).replace(/[/?#]/g, (c) => {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk(str) {\n return encodeURI(str).replace(/[?#]/g, (c) => {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction(tokens) {\n // Compile all the tokens into regexps.\n const matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (let i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n let path = ''\n const data = obj || {}\n const options = opts || {}\n const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n const value = data[token.name || 'pathMatch']\n let segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (let j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup(group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Format given url, append query to url query string\n *\n * @param {string} url\n * @param {string} query\n * @return {string}\n */\nfunction formatUrl(url, query) {\n let protocol\n const index = url.indexOf('://')\n if (index !== -1) {\n protocol = url.substring(0, index)\n url = url.substring(index + 3)\n } else if (url.startsWith('//')) {\n url = url.substring(2)\n }\n\n let parts = url.split('/')\n let result = (protocol ? protocol + '://' : '//') + parts.shift()\n\n let path = parts.filter(Boolean).join('/')\n let hash\n parts = path.split('#')\n if (parts.length === 2) {\n [path, hash] = parts\n }\n\n result += path ? '/' + path : ''\n\n if (query && JSON.stringify(query) !== '{}') {\n result += (url.split('?').length === 2 ? '&' : '?') + formatQuery(query)\n }\n result += hash ? '#' + hash : ''\n\n return result\n}\n\n/**\n * Transform data object to query string\n *\n * @param {object} query\n * @return {string}\n */\nfunction formatQuery(query) {\n return Object.keys(query).sort().map((key) => {\n const val = query[key]\n if (val == null) {\n return ''\n }\n if (Array.isArray(val)) {\n return val.slice().map(val2 => [key, '=', val2].join('')).join('&')\n }\n return key + '=' + val\n }).filter(Boolean).join('&')\n}\n","import Vue from 'vue'\nimport fetch from 'unfetch'\nimport middleware from './middleware.js'\nimport {\n applyAsyncData,\n sanitizeComponent,\n resolveRouteComponents,\n getMatchedComponents,\n getMatchedComponentsInstances,\n flatMapComponents,\n setContext,\n middlewareSeries,\n promisify,\n getLocation,\n compile,\n getQueryDiff,\n globalHandleError\n} from './utils.js'\nimport { createApp, NuxtError } from './index.js'\nimport NuxtLink from './components/nuxt-link.server.js' // should be included after ./index.js\n\n// Component: \nVue.component(NuxtLink.name, NuxtLink)\nVue.component('NLink', NuxtLink)\n\nif (!global.fetch) { global.fetch = fetch }\n\n// Global shared references\nlet _lastPaths = []\nlet app\nlet router\n\n// Try to rehydrate SSR data from window\nconst NUXT = window.__NUXT__ || {}\n\nObject.assign(Vue.config, {\"silent\":true,\"performance\":false})\n\nconst errorHandler = Vue.config.errorHandler || console.error\n\n// Create and mount App\ncreateApp().then(mountApp).catch(errorHandler)\n\nfunction componentOption(component, key, ...args) {\n if (!component || !component.options || !component.options[key]) {\n return {}\n }\n const option = component.options[key]\n if (typeof option === 'function') {\n return option(...args)\n }\n return option\n}\n\nfunction mapTransitions(Components, to, from) {\n const componentTransitions = (component) => {\n const transition = componentOption(component, 'transition', to, from) || {}\n return (typeof transition === 'string' ? { name: transition } : transition)\n }\n\n return Components.map((Component) => {\n // Clone original object to prevent overrides\n const transitions = Object.assign({}, componentTransitions(Component))\n\n // Combine transitions & prefer `leave` transitions of 'from' route\n if (from && from.matched.length && from.matched[0].components.default) {\n const fromTransitions = componentTransitions(from.matched[0].components.default)\n Object.keys(fromTransitions)\n .filter(key => fromTransitions[key] && key.toLowerCase().includes('leave'))\n .forEach((key) => { transitions[key] = fromTransitions[key] })\n }\n\n return transitions\n })\n}\n\nasync function loadAsyncComponents(to, from, next) {\n // Check if route path changed (this._pathChanged), only if the page is not an error (for validate())\n this._pathChanged = Boolean(app.nuxt.err) || from.path !== to.path\n this._queryChanged = JSON.stringify(to.query) !== JSON.stringify(from.query)\n this._diffQuery = (this._queryChanged ? getQueryDiff(to.query, from.query) : [])\n\n if (this._pathChanged && this.$loading.start && !this.$loading.manual) {\n this.$loading.start()\n }\n\n try {\n const Components = await resolveRouteComponents(\n to,\n (Component, instance) => ({ Component, instance })\n )\n\n if (!this._pathChanged && this._queryChanged) {\n // Add a marker on each component that it needs to refresh or not\n const startLoader = Components.some(({Component, instance}) => {\n const watchQuery = Component.options.watchQuery\n if (watchQuery === true) {\n return true\n } else if (Array.isArray(watchQuery)) {\n return watchQuery.some(key => this._diffQuery[key])\n } else if (typeof watchQuery === 'function') {\n return watchQuery.apply(instance, [to.query, from.query])\n }\n return false\n })\n if (startLoader && this.$loading.start && !this.$loading.manual) {\n this.$loading.start()\n }\n }\n\n // Call next()\n next()\n } catch (error) {\n const err = error || {}\n const statusCode = err.statusCode || err.status || (err.response && err.response.status) || 500\n const message = err.message || ''\n\n // Handle chunk loading errors\n // This may be due to a new deployment or a network problem\n if (/^Loading( CSS)? chunk (\\d)+ failed\\./.test(message)) {\n window.location.reload(true /* skip cache */)\n return // prevent error page blinking for user\n }\n\n this.error({ statusCode, message })\n this.$nuxt.$emit('routeChanged', to, from, err)\n next()\n }\n}\n\nfunction applySSRData(Component, ssrData) {\n if (NUXT.serverRendered && ssrData) {\n applyAsyncData(Component, ssrData)\n }\n Component._Ctor = Component\n return Component\n}\n\n// Get matched components\nfunction resolveComponents(router) {\n const path = getLocation(router.options.base, router.options.mode)\n\n return flatMapComponents(router.match(path), async (Component, _, match, key, index) => {\n // If component is not resolved yet, resolve it\n if (typeof Component === 'function' && !Component.options) {\n Component = await Component()\n }\n // Sanitize it and save it\n const _Component = applySSRData(sanitizeComponent(Component), NUXT.data ? NUXT.data[index] : null)\n match.components[key] = _Component\n return _Component\n })\n}\n\nfunction callMiddleware(Components, context, layout) {\n let midd = []\n let unknownMiddleware = false\n\n // If layout is undefined, only call global middleware\n if (typeof layout !== 'undefined') {\n midd = [] // Exclude global middleware if layout defined (already called before)\n layout = sanitizeComponent(layout)\n if (layout.options.middleware) {\n midd = midd.concat(layout.options.middleware)\n }\n Components.forEach((Component) => {\n if (Component.options.middleware) {\n midd = midd.concat(Component.options.middleware)\n }\n })\n }\n\n midd = midd.map((name) => {\n if (typeof name === 'function') return name\n if (typeof middleware[name] !== 'function') {\n unknownMiddleware = true\n this.error({ statusCode: 500, message: 'Unknown middleware ' + name })\n }\n return middleware[name]\n })\n\n if (unknownMiddleware) return\n return middlewareSeries(midd, context)\n}\n\nasync function render(to, from, next) {\n if (this._pathChanged === false && this._queryChanged === false) return next()\n // Handle first render on SPA mode\n if (to === from) _lastPaths = []\n else {\n const fromMatches = []\n _lastPaths = getMatchedComponents(from, fromMatches).map((Component, i) => {\n return compile(from.matched[fromMatches[i]].path)(from.params)\n })\n }\n\n // nextCalled is true when redirected\n let nextCalled = false\n const _next = (path) => {\n if (from.path === path.path && this.$loading.finish) {\n this.$loading.finish()\n }\n\n if (from.path !== path.path && this.$loading.pause) {\n this.$loading.pause()\n }\n\n if (nextCalled) return\n nextCalled = true\n next(path)\n }\n\n // Update context\n await setContext(app, {\n route: to,\n from,\n next: _next.bind(this)\n })\n this._dateLastError = app.nuxt.dateErr\n this._hadError = Boolean(app.nuxt.err)\n\n // Get route's matched components\n const matches = []\n const Components = getMatchedComponents(to, matches)\n\n // If no Components matched, generate 404\n if (!Components.length) {\n // Default layout\n await callMiddleware.call(this, Components, app.context)\n if (nextCalled) return\n // Load layout for error page\n const layout = await this.loadLayout(\n typeof NuxtError.layout === 'function'\n ? NuxtError.layout(app.context)\n : NuxtError.layout\n )\n await callMiddleware.call(this, Components, app.context, layout)\n if (nextCalled) return\n // Show error page\n app.context.error({ statusCode: 404, message: `This page could not be found` })\n return next()\n }\n\n // Update ._data and other properties if hot reloaded\n Components.forEach((Component) => {\n if (Component._Ctor && Component._Ctor.options) {\n Component.options.asyncData = Component._Ctor.options.asyncData\n Component.options.fetch = Component._Ctor.options.fetch\n }\n })\n\n // Apply transitions\n this.setTransitions(mapTransitions(Components, to, from))\n\n try {\n // Call middleware\n await callMiddleware.call(this, Components, app.context)\n if (nextCalled) return\n if (app.context._errored) return next()\n\n // Set layout\n let layout = Components[0].options.layout\n if (typeof layout === 'function') {\n layout = layout(app.context)\n }\n layout = await this.loadLayout(layout)\n\n // Call middleware for layout\n await callMiddleware.call(this, Components, app.context, layout)\n if (nextCalled) return\n if (app.context._errored) return next()\n\n // Call .validate()\n let isValid = true\n try {\n for (const Component of Components) {\n if (typeof Component.options.validate !== 'function') {\n continue\n }\n\n isValid = await Component.options.validate(app.context)\n\n if (!isValid) {\n break\n }\n }\n } catch (validationError) {\n // ...If .validate() threw an error\n this.error({\n statusCode: validationError.statusCode || '500',\n message: validationError.message\n })\n return next()\n }\n\n // ...If .validate() returned false\n if (!isValid) {\n this.error({ statusCode: 404, message: `This page could not be found` })\n return next()\n }\n\n // Call asyncData & fetch hooks on components matched by the route.\n await Promise.all(Components.map((Component, i) => {\n // Check if only children route changed\n Component._path = compile(to.matched[matches[i]].path)(to.params)\n Component._dataRefresh = false\n // Check if Component need to be refreshed (call asyncData & fetch)\n // Only if its slug has changed or is watch query changes\n if ((this._pathChanged && this._queryChanged) || Component._path !== _lastPaths[i]) {\n Component._dataRefresh = true\n } else if (!this._pathChanged && this._queryChanged) {\n const watchQuery = Component.options.watchQuery\n if (watchQuery === true) {\n Component._dataRefresh = true\n } else if (Array.isArray(watchQuery)) {\n Component._dataRefresh = watchQuery.some(key => this._diffQuery[key])\n }\n }\n if (!this._hadError && this._isMounted && !Component._dataRefresh) {\n return Promise.resolve()\n }\n\n const promises = []\n\n const hasAsyncData = (\n Component.options.asyncData &&\n typeof Component.options.asyncData === 'function'\n )\n const hasFetch = Boolean(Component.options.fetch)\n\n const loadingIncrease = (hasAsyncData && hasFetch) ? 30 : 45\n\n // Call asyncData(context)\n if (hasAsyncData) {\n const promise = promisify(Component.options.asyncData, app.context)\n .then((asyncDataResult) => {\n applyAsyncData(Component, asyncDataResult)\n\n if (this.$loading.increase) {\n this.$loading.increase(loadingIncrease)\n }\n })\n promises.push(promise)\n }\n\n // Check disabled page loading\n this.$loading.manual = Component.options.loading === false\n\n // Call fetch(context)\n if (hasFetch) {\n let p = Component.options.fetch(app.context)\n if (!p || (!(p instanceof Promise) && (typeof p.then !== 'function'))) {\n p = Promise.resolve(p)\n }\n p.then((fetchResult) => {\n if (this.$loading.increase) {\n this.$loading.increase(loadingIncrease)\n }\n })\n promises.push(p)\n }\n\n return Promise.all(promises)\n }))\n\n // If not redirected\n if (!nextCalled) {\n if (this.$loading.finish && !this.$loading.manual) {\n this.$loading.finish()\n }\n\n next()\n }\n } catch (err) {\n const error = err || {}\n if (error.message === 'ERR_REDIRECT') {\n return this.$nuxt.$emit('routeChanged', to, from, error)\n }\n _lastPaths = []\n\n globalHandleError(error)\n\n // Load error layout\n let layout = NuxtError.layout\n if (typeof layout === 'function') {\n layout = layout(app.context)\n }\n await this.loadLayout(layout)\n\n this.error(error)\n this.$nuxt.$emit('routeChanged', to, from, error)\n next()\n }\n}\n\n// Fix components format in matched, it's due to code-splitting of vue-router\nfunction normalizeComponents(to, ___) {\n flatMapComponents(to, (Component, _, match, key) => {\n if (typeof Component === 'object' && !Component.options) {\n // Updated via vue-router resolveAsyncComponents()\n Component = Vue.extend(Component)\n Component._Ctor = Component\n match.components[key] = Component\n }\n return Component\n })\n}\n\nfunction showNextPage(to) {\n // Hide error component if no error\n if (this._hadError && this._dateLastError === this.$options.nuxt.dateErr) {\n this.error()\n }\n\n // Set layout\n let layout = this.$options.nuxt.err\n ? NuxtError.layout\n : to.matched[0].components.default.options.layout\n\n if (typeof layout === 'function') {\n layout = layout(app.context)\n }\n this.setLayout(layout)\n}\n\n// When navigating on a different route but the same component is used, Vue.js\n// Will not update the instance data, so we have to update $data ourselves\nfunction fixPrepatch(to, ___) {\n if (this._pathChanged === false && this._queryChanged === false) return\n\n const matches = []\n const instances = getMatchedComponentsInstances(to, matches)\n const Components = getMatchedComponents(to, matches)\n\n Vue.nextTick(() => {\n instances.forEach((instance, i) => {\n if (!instance || instance._isDestroyed) return\n // if (\n // !this._queryChanged &&\n // to.matched[matches[i]].path.indexOf(':') === -1 &&\n // to.matched[matches[i]].path.indexOf('*') === -1\n // ) return // If not a dynamic route, skip\n if (\n instance.constructor._dataRefresh &&\n Components[i] === instance.constructor &&\n instance.$vnode.data.keepAlive !== true &&\n typeof instance.constructor.options.data === 'function'\n ) {\n const newData = instance.constructor.options.data.call(instance)\n for (const key in newData) {\n Vue.set(instance.$data, key, newData[key])\n }\n\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n }\n })\n showNextPage.call(this, to)\n })\n}\n\nfunction nuxtReady(_app) {\n window.onNuxtReadyCbs.forEach((cb) => {\n if (typeof cb === 'function') {\n cb(_app)\n }\n })\n // Special JSDOM\n if (typeof window._onNuxtLoaded === 'function') {\n window._onNuxtLoaded(_app)\n }\n // Add router hooks\n router.afterEach((to, from) => {\n // Wait for fixPrepatch + $data updates\n Vue.nextTick(() => _app.$nuxt.$emit('routeChanged', to, from))\n })\n}\n\nasync function mountApp(__app) {\n // Set global variables\n app = __app.app\n router = __app.router\n\n // Resolve route components\n const Components = await Promise.all(resolveComponents(router))\n\n // Create Vue instance\n const _app = new Vue(app)\n\n // Load layout\n const layout = NUXT.layout || 'default'\n await _app.loadLayout(layout)\n _app.setLayout(layout)\n\n // Mounts Vue app to DOM element\n const mount = () => {\n _app.$mount('#__nuxt')\n\n // Add afterEach router hooks\n router.afterEach(normalizeComponents)\n router.afterEach(fixPrepatch.bind(_app))\n\n // Listen for first Vue update\n Vue.nextTick(() => {\n // Call window.{{globals.readyCallback}} callbacks\n nuxtReady(_app)\n })\n }\n\n // Enable transitions\n _app.setTransitions = _app.$options.nuxt.setTransitions.bind(_app)\n if (Components.length) {\n _app.setTransitions(mapTransitions(Components, router.currentRoute))\n _lastPaths = router.currentRoute.matched.map(route => compile(route.path)(router.currentRoute.params))\n }\n\n // Initialize error handler\n _app.$loading = {} // To avoid error while _app.$nuxt does not exist\n if (NUXT.error) _app.error(NUXT.error)\n\n // Add beforeEach router hooks\n router.beforeEach(loadAsyncComponents.bind(_app))\n router.beforeEach(render.bind(_app))\n\n // If page already is server rendered\n if (NUXT.serverRendered) {\n mount()\n return\n }\n\n // First render on client-side\n const clientFirstMount = () => {\n normalizeComponents(router.currentRoute, router.currentRoute)\n showNextPage.call(_app, router.currentRoute)\n // Don't call fixPrepatch.call(_app, router.currentRoute, router.currentRoute) since it's first render\n mount()\n }\n\n render.call(_app, router.currentRoute, router.currentRoute, (path) => {\n // If not redirected\n if (!path) {\n clientFirstMount()\n return\n }\n\n // Add a one-time afterEach hook to\n // mount the app wait for redirect and route gets resolved\n const unregisterHook = router.afterEach((to, from) => {\n unregisterHook()\n clientFirstMount()\n })\n\n // Push the path and let route to be resolved\n router.push(path, undefined, (err) => {\n if (err) errorHandler(err)\n })\n })\n}\n","import mod from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=style&index=0&id=489d35bd&lang=scss&scoped=true&\"; export default mod; export * from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=style&index=0&id=489d35bd&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--3-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--3-oneOf-1-2!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--3-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--3-oneOf-1-2!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"encs/ep_site/images/e031f90.svg\";","import mod from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=style&index=0&id=a56cfcb8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=style&index=0&id=a56cfcb8&lang=scss&scoped=true&\"","import mod from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=62a2faf4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=62a2faf4&lang=scss&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA3NJREFUWEfFV0uoTVEY/r51Nq5nQklJXJl4TChlQt4DJY8SEykjE3dmQGYYKQNkpjwGJq6IiVcxkAyYmEgyuqWI682956xP/75rnbZ9z9l73+Pc7Lp1O3vt//v+738u4j8/LMOXVHqmyAZJFb6vQqDMSDsbRr7s21LvJCUAppYRbfP+O8n6mBWIzCU5SfckrAPwHYCrSMQbaRKPSG4m6dup0VKBDIGapPsS1gL4MUYCU0g8JrmJZKMyAfMagAUvTR5JNQCTKnqeP/bbwIMdc9ZywtRpPu0U6AEw2fDDX2qkg8fIp8AAfpL8lbfRJGCeG7t6XdtIXQAwA4CxrRr3dvyijS8SDyUJ70Qs+yAlkIn5RO/1EsCSLoFHUpHEa+e4nORQxMwTmOm93gCYFQi0K9P4u4XIwmNSFz12zpT86BwXkxwsIvAWwMwQ+zyB6MlzgFcA9QFYCMBq3QDahcsImK1B57joXwgYUCLxYJLwoqS53vszAPcFxQyolRpdJ7A/SXhF0gSSw/W69pE6C2B2G+XGj0DoGXVJ8yVdlrC+RQKPG4HEer2kHqtxSWu815OQjfkp2NUcaIYgp8AlCRsADAGYEMs8o8gn59jbjSQsyoFYKabAl6DG9FAhRsCq4HOnZVhUBdYPrAyHAJ12zl0H8DUk5TTv/V6AB5zjUpKfOiWQ7QNXAR0OfWA4SD7gHDdbI5N0RMAKK1sCL0ieBjAA4D1JI5Y+rTphUSPKd7vYCW1pGXaOKz2wFZKBZefIyP/k8Rp5omgWVG3FZjAb6wTQSefcQy89CO9+QroGpk3KJquFKHHkbpL9NuZtVHdjGKU17hxXSzoqYEeQ6YMjV3npKYB5ppCFicA959yWqEKVcVy0Nxq4lZsNmY3B+wUZAqu99AzAnMzQeufIJSS/pYnYaoRZY8ksJGV7iNkw72zxexW8tW8ajlwGwIidz4SsmEB+JStDD/tEusx47+8KsCqIVWFg1ph6vXQ7ZH3rEGSBOriMWEJZS97ppf4wnmN4BiHdBLnHVHXkLpI3/krCKl6WnYlJ1Wg0ToA8lpuKI8NIOlWr1Y6NKsMy41XfR8OStkvqE7A0nRXAS5LnSN7KgjcbUVWAKueyAJLSGxVJu9TY7pnmStZO6dWsCuio9jhyl7C7RQoWEtvuBKPW+3EhEAnFZC66oP4BTTWsO+RduIIAAAAASUVORK5CYII=\"","import mod from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./sticker.vue?vue&type=style&index=0&id=7dfcfb19&lang=scss&scoped=true&\"; export default mod; export * from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./sticker.vue?vue&type=style&index=0&id=7dfcfb19&lang=scss&scoped=true&\"","import mod from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--5-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--5-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--5-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--5-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--5-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--5-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--5-oneOf-1-2!../node_modules/less-loader/dist/cjs.js??ref--5-oneOf-1-3!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=style&index=0&lang=less&\"","import { getMatchedComponents } from './utils'\n\nif (process.client) {\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual'\n\n // reset scrollRestoration to auto when leaving page, allowing page reload\n // and back-navigation from other pages to use the browser to restore the\n // scrolling position.\n window.addEventListener('beforeunload', () => {\n window.history.scrollRestoration = 'auto'\n })\n\n // Setting scrollRestoration to manual again when returning to this page.\n window.addEventListener('load', () => {\n window.history.scrollRestoration = 'manual'\n })\n }\n}\n\nexport default function (to, from, savedPosition) {\n // if the returned position is falsy or an empty object,\n // will retain current scroll position.\n let position = false\n\n // if no children detected and scrollToTop is not explicitly disabled\n const Pages = getMatchedComponents(to)\n if (\n Pages.length < 2 &&\n Pages.every(Page => Page.options.scrollToTop !== false)\n ) {\n // scroll to the top of the page\n position = { x: 0, y: 0 }\n } else if (Pages.some(Page => Page.options.scrollToTop)) {\n // if one of the children has scrollToTop option set to true\n position = { x: 0, y: 0 }\n }\n\n // savedPosition is only available for popstate navigations (back button)\n if (savedPosition) {\n position = savedPosition\n }\n\n const nuxt = window.$nuxt\n\n // triggerScroll is only fired when a new component is loaded\n if (to.path === from.path && to.hash !== from.hash) {\n nuxt.$nextTick(() => nuxt.$emit('triggerScroll'))\n }\n\n return new Promise((resolve) => {\n // wait for the out transition to complete (if necessary)\n nuxt.$once('triggerScroll', () => {\n // coords will be used if no selector is provided,\n // or if the selector didn't match any element.\n if (to.hash) {\n let hash = to.hash\n // CSS.escape() is not supported with IE and Edge.\n if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {\n hash = '#' + window.CSS.escape(hash.substr(1))\n }\n try {\n if (document.querySelector(hash)) {\n // scroll to anchor by returning the selector\n position = { selector: hash }\n }\n } catch (e) {\n console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).')\n }\n }\n resolve(position)\n })\n })\n}\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport { interopDefault } from './utils'\nimport scrollBehavior from './router.scrollBehavior.js'\n\nconst _bc25a68a = () => interopDefault(import('../pages/404.vue' /* webpackChunkName: \"pages/404\" */))\nconst _415a7460 = () => interopDefault(import('../pages/about.vue' /* webpackChunkName: \"pages/about\" */))\nconst _57709f5a = () => interopDefault(import('../pages/about/index.vue' /* webpackChunkName: \"pages/about\" */))\nconst _6cc2b02a = () => interopDefault(import('../pages/about/honor.vue' /* webpackChunkName: \"pages/about\" */))\nconst _4c500571 = () => interopDefault(import('../pages/about/milestone.vue' /* webpackChunkName: \"pages/about\" */))\nconst _52749d1c = () => interopDefault(import('../pages/about/value.vue' /* webpackChunkName: \"pages/about\" */))\nconst _b1f175d6 = () => interopDefault(import('../pages/download.vue' /* webpackChunkName: \"pages/download\" */))\nconst _41eebb1e = () => interopDefault(import('../pages/genuine.vue' /* webpackChunkName: \"pages/genuine\" */))\nconst _84eda410 = () => interopDefault(import('../pages/official.vue' /* webpackChunkName: \"pages/official\" */))\nconst _1947f3e1 = () => interopDefault(import('../pages/solution/energy.vue' /* webpackChunkName: \"pages/solution/energy\" */))\nconst _16d9e780 = () => interopDefault(import('../pages/solution/financial.vue' /* webpackChunkName: \"pages/solution/financial\" */))\nconst _438ab4fb = () => interopDefault(import('../pages/solution/mobile.vue' /* webpackChunkName: \"pages/solution/mobile\" */))\nconst _6d139ab4 = () => interopDefault(import('../pages/solution/safe.vue' /* webpackChunkName: \"pages/solution/safe\" */))\nconst _01eabed6 = () => interopDefault(import('../pages/index.vue' /* webpackChunkName: \"pages/index\" */))\n\nVue.use(Router)\n\nexport const routerOptions = {\n mode: 'history',\n base: decodeURI('/'),\n linkActiveClass: 'nuxt-link-active',\n linkExactActiveClass: 'nuxt-link-exact-active',\n scrollBehavior,\n\n routes: [{\n path: \"/404\",\n component: _bc25a68a,\n name: \"404\"\n }, {\n path: \"/about\",\n component: _415a7460,\n children: [{\n path: \"\",\n component: _57709f5a,\n name: \"about\"\n }, {\n path: \"honor\",\n component: _6cc2b02a,\n name: \"about-honor\"\n }, {\n path: \"milestone\",\n component: _4c500571,\n name: \"about-milestone\"\n }, {\n path: \"value\",\n component: _52749d1c,\n name: \"about-value\"\n }]\n }, {\n path: \"/download\",\n component: _b1f175d6,\n name: \"download\"\n }, {\n path: \"/genuine\",\n component: _41eebb1e,\n name: \"genuine\"\n }, {\n path: \"/official\",\n component: _84eda410,\n name: \"official\"\n }, {\n path: \"/solution/energy\",\n component: _1947f3e1,\n name: \"solution-energy\"\n }, {\n path: \"/solution/financial\",\n component: _16d9e780,\n name: \"solution-financial\"\n }, {\n path: \"/solution/mobile\",\n component: _438ab4fb,\n name: \"solution-mobile\"\n }, {\n path: \"/solution/safe\",\n component: _6d139ab4,\n name: \"solution-safe\"\n }, {\n path: \"/\",\n component: _01eabed6,\n name: \"index\"\n }],\n\n fallback: false\n}\n\nexport function createRouter() {\n return new Router(routerOptions)\n}\n","\nexport default {\n name: 'NuxtChild',\n functional: true,\n props: {\n nuxtChildKey: {\n type: String,\n default: ''\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n }\n },\n render(h, { parent, data, props }) {\n data.nuxtChild = true\n const _parent = parent\n const transitions = parent.$nuxt.nuxt.transitions\n const defaultTransition = parent.$nuxt.nuxt.defaultTransition\n\n let depth = 0\n while (parent) {\n if (parent.$vnode && parent.$vnode.data.nuxtChild) {\n depth++\n }\n parent = parent.$parent\n }\n data.nuxtChildDepth = depth\n const transition = transitions[depth] || defaultTransition\n const transitionProps = {}\n transitionsKeys.forEach((key) => {\n if (typeof transition[key] !== 'undefined') {\n transitionProps[key] = transition[key]\n }\n })\n\n const listeners = {}\n listenersKeys.forEach((key) => {\n if (typeof transition[key] === 'function') {\n listeners[key] = transition[key].bind(_parent)\n }\n })\n // Add triggerScroll event on beforeEnter (fix #1376)\n const beforeEnter = listeners.beforeEnter\n listeners.beforeEnter = (el) => {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n if (beforeEnter) {\n return beforeEnter.call(_parent, el)\n }\n }\n\n // make sure that leave is called asynchronous (fix #5703)\n if (transition.css === false) {\n const leave = listeners.leave\n\n // only add leave listener when user didnt provide one\n // or when it misses the done argument\n if (!leave || leave.length < 2) {\n listeners.leave = (el, done) => {\n if (leave) {\n leave.call(_parent, el)\n }\n\n _parent.$nextTick(done)\n }\n }\n }\n\n let routerView = h('routerView', data)\n\n if (props.keepAlive) {\n routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView])\n }\n\n return h('transition', {\n props: transitionProps,\n on: listeners\n }, [routerView])\n }\n}\n\nconst transitionsKeys = [\n 'name',\n 'mode',\n 'appear',\n 'css',\n 'type',\n 'duration',\n 'enterClass',\n 'leaveClass',\n 'appearClass',\n 'enterActiveClass',\n 'enterActiveClass',\n 'leaveActiveClass',\n 'appearActiveClass',\n 'enterToClass',\n 'leaveToClass',\n 'appearToClass'\n]\n\nconst listenersKeys = [\n 'beforeEnter',\n 'enter',\n 'afterEnter',\n 'enterCancelled',\n 'beforeLeave',\n 'leave',\n 'afterLeave',\n 'leaveCancelled',\n 'beforeAppear',\n 'appear',\n 'afterAppear',\n 'appearCancelled'\n]\n","import Vue from 'vue'\nimport { getMatchedComponentsInstances, promisify, globalHandleError } from './utils'\nimport NuxtLoading from './components/nuxt-loading.vue'\n\nimport '../node_modules/normalize.css/normalize.css'\n\nimport _6f6c098b from '../layouts/default.vue'\n\nconst layouts = { \"_default\": _6f6c098b }\n\nexport default {\n head: {\"titleTemplate\":function (title) {\n const t = '金山WPS企业版官网,WPS Office提供兼容、正版、适用OFFICE'\n return title ? `${title} - ${t}` : t\n },\"meta\":[{\"name\":\"keywords\",\"content\":\"wps企业版,wps专业版,wps2013,wps2013专业版,wps2019专业版\"},{\"name\":\"description\",\"content\":\"金山办公旗下包括WPS、金山文档等产品服务,在“简单创作、轻松表达、实现价值的连接”使命引领下,围绕“多屏、内容、云、AI和协作”深耕业务,为全球220多个国家和地区的用户提供办公服务。\"},{\"name\":\"renderer\",\"content\":\"webkit\"},{\"charset\":\"utf-8\"},{\"http-equiv\":\"X-UA-Compatible\",\"content\":\"IE=edge,chrome=1\"},{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],\"link\":[{\"rel\":\"icon\",\"type\":\"image\\u002Fx-icon\",\"href\":\"\\u002Ffavicon.ico\"}],\"style\":[],\"script\":[]},\n\n render(h, props) {\n const loadingEl = h('NuxtLoading', { ref: 'loading' })\n const layoutEl = h(this.layout || 'nuxt')\n const templateEl = h('div', {\n domProps: {\n id: '__layout'\n },\n key: this.layoutName\n }, [ layoutEl ])\n\n const transitionEl = h('transition', {\n props: {\n name: 'layout',\n mode: 'out-in'\n },\n on: {\n beforeEnter(el) {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n }\n }\n }, [ templateEl ])\n\n return h('div', {\n domProps: {\n id: '__nuxt'\n }\n }, [loadingEl, transitionEl])\n },\n data: () => ({\n isOnline: true,\n layout: null,\n layoutName: ''\n }),\n beforeCreate() {\n Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)\n },\n created() {\n // Add this.$nuxt in child instances\n Vue.prototype.$nuxt = this\n // add to window so we can listen when ready\n if (process.client) {\n window.$nuxt = this\n this.refreshOnlineStatus()\n // Setup the listeners\n window.addEventListener('online', this.refreshOnlineStatus)\n window.addEventListener('offline', this.refreshOnlineStatus)\n }\n // Add $nuxt.error()\n this.error = this.nuxt.error\n // Add $nuxt.context\n this.context = this.$options.context\n },\n\n mounted() {\n this.$loading = this.$refs.loading\n },\n watch: {\n 'nuxt.err': 'errorChanged'\n },\n\n computed: {\n isOffline() {\n return !this.isOnline\n }\n },\n methods: {\n refreshOnlineStatus() {\n if (process.client) {\n if (typeof window.navigator.onLine === 'undefined') {\n // If the browser doesn't support connection status reports\n // assume that we are online because most apps' only react\n // when they now that the connection has been interrupted\n this.isOnline = true\n } else {\n this.isOnline = window.navigator.onLine\n }\n }\n },\n async refresh() {\n const pages = getMatchedComponentsInstances(this.$route)\n\n if (!pages.length) {\n return\n }\n this.$loading.start()\n const promises = pages.map(async (page) => {\n const p = []\n\n if (page.$options.fetch) {\n p.push(promisify(page.$options.fetch, this.context))\n }\n if (page.$options.asyncData) {\n p.push(\n promisify(page.$options.asyncData, this.context)\n .then((newData) => {\n for (const key in newData) {\n Vue.set(page.$data, key, newData[key])\n }\n })\n )\n }\n return Promise.all(p)\n })\n try {\n await Promise.all(promises)\n } catch (error) {\n this.$loading.fail()\n globalHandleError(error)\n this.error(error)\n }\n this.$loading.finish()\n },\n\n errorChanged() {\n if (this.nuxt.err && this.$loading) {\n if (this.$loading.fail) this.$loading.fail()\n if (this.$loading.finish) this.$loading.finish()\n }\n },\n\n setLayout(layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n this.layoutName = layout\n this.layout = layouts['_' + layout]\n return this.layout\n },\n loadLayout(layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n return Promise.resolve(layouts['_' + layout])\n }\n },\n components: {\n NuxtLoading\n }\n}\n","import Vue from 'vue'\nimport { compile } from '../utils'\n\nimport NuxtError from '../../layouts/error.vue'\n\nimport NuxtChild from './nuxt-child'\n\nexport default {\n name: 'Nuxt',\n components: {\n NuxtChild,\n NuxtError\n },\n props: {\n nuxtChildKey: {\n type: String,\n default: undefined\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n },\n name: {\n type: String,\n default: 'default'\n }\n },\n computed: {\n routerViewKey() {\n // If nuxtChildKey prop is given or current route has children\n if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {\n return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)\n }\n\n const [matchedRoute] = this.$route.matched\n\n if (!matchedRoute) {\n return this.$route.path\n }\n\n const Component = matchedRoute.components.default\n\n if (Component && Component.options) {\n const { options } = Component\n\n if (options.key) {\n return (typeof options.key === 'function' ? options.key(this.$route) : options.key)\n }\n }\n\n const strict = /\\/$/.test(matchedRoute.path)\n return strict ? this.$route.path : this.$route.path.replace(/\\/$/, '')\n }\n },\n beforeCreate() {\n Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)\n },\n render(h) {\n // If there is some error\n if (this.nuxt.err) {\n return h('NuxtError', {\n props: {\n error: this.nuxt.err\n }\n })\n }\n // Directly return nuxt child\n return h('NuxtChild', {\n key: this.routerViewKey,\n props: this.$props\n })\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"","\n\n\n","var render, staticRenderFns\nimport script from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nexport * from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./nuxt-loading.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=a56cfcb8&scoped=true&lang=pug&\"\nimport script from \"./header.vue?vue&type=script&lang=js&\"\nexport * from \"./header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./header.vue?vue&type=style&index=0&id=a56cfcb8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a56cfcb8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{ref:\"header\"},[_c('div',{staticClass:\"container\"},[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:([_vm.c,'$action','WPSLOGO']),expression:\"[c,'$action','WPSLOGO']\",arg:\"click\"}],staticClass:\"logo\",attrs:{\"href\":\"//www.wps.cn\"}},[_c('img',{staticStyle:{\"height\":\"28px\"},attrs:{\"src\":require(\"assets/logo-dah.svg\"),\"alt\":\"金山办公\",\"title\":\"金山办公\"}})]),_c('ul',{staticClass:\"nav\"},[_c('li',{staticClass:\"nav-item\"},[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:([_vm.c,'$action','首页']),expression:\"[c,'$action','首页']\",arg:\"click\"}],attrs:{\"to\":\"/\"}},[_vm._v(\"首页\")])],1),_c('li',{staticClass:\"nav-item\"},[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:([_vm.c,'$action','立即购买']),expression:\"[c,'$action','立即购买']\",arg:\"click\"}],attrs:{\"href\":\"https://plus.wps.cn/govBuy?utm_buysource=buy&utm_medium=navigation&utm_source=ep\",\"target\":\"_blank\"}},[_vm._v(\"立即购买\")])]),_c('li',{staticClass:\"nav-item\"},[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:([_vm.c,'$action','购买咨询']),expression:\"[c,'$action','购买咨询']\",arg:\"click\"}],attrs:{\"href\":\"https://f.wps.cn/ksform/w/write/dW0LUoex?qid_oe29fv=EP_site\",\"target\":\"_blank\"}},[_vm._v(\"购买咨询\")])]),_c('li',{staticClass:\"nav-item has-dropdown\",on:{\"mouseover\":_vm.mouseover,\"mouseout\":_vm.mouseout}},[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:mouseenter\",value:([_vm.c,'移入','解决方案']),expression:\"[c,'移入','解决方案']\",arg:\"mouseenter\"}],staticClass:\"nav-link\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\"解决方案\")]),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menu),expression:\"menu\"}],staticClass:\"nav-dropdown tooltip tooltip-top-left\"},_vm._l((_vm.solutions),function(i){return _c('li',{staticClass:\"nav-item\"},[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:([_vm.c, '$action', (\"解决方案-\" + (i.label))]),expression:\"[c, '$action', `解决方案-${i.label}`]\",arg:\"click\"}],staticClass:\"nav-link\",attrs:{\"to\":i.url},nativeOn:{\"click\":function($event){_vm.menu = false}}},[_vm._v(_vm._s(i.label))])],1)}),0)])]),_c('div',{staticClass:\"phone\"},[_c('icon',{attrs:{\"type\":\"kf\"}}),_c('span',[_vm._v(\"400-677-5005\")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./footer.vue?vue&type=template&id=62a2faf4&scoped=true&lang=pug&\"\nvar script = {}\nimport style0 from \"./footer.vue?vue&type=style&index=0&id=62a2faf4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62a2faf4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"footer\"},[_c('div',{staticClass:\"container\"},[_c('ul',{staticClass:\"title-box clearfix\"},[_c('li',{staticClass:\"title-item\"},[_c('icon',{attrs:{\"type\":\"stack\"}}),_c('span',[_vm._v(\"高效的办公解决方案\")])],1),_c('li',{staticClass:\"title-item\"},[_c('icon',{attrs:{\"type\":\"service\"}}),_c('span',[_vm._v(\"专业的定制化服务\")])],1),_c('li',{staticClass:\"title-item\"},[_c('icon',{attrs:{\"type\":\"phone\"}}),_c('span',[_vm._v(\"7×8小时服务\")])],1)]),_c('div',{staticClass:\"line\"}),_c('div',{staticClass:\"footer-more-link-box\"},[_c('div',{staticClass:\"link-item\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"产品\")]),_c('ul',{staticClass:\"sub-title\"},[_c('li',[_vm._v(\"WPS Office\")]),_c('li',[_vm._v(\"WPS 云文档\")]),_c('li',[_vm._v(\"金山PDF专业版\")]),_c('li',[_vm._v(\"金山词霸企业版\")]),_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"https://open.wps.cn/\",\"target\":\"_blank\"}},[_vm._v(\"WPS开放平台\")])]),_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"https://kos.wps.cn/activity/p/intro?frpo=wpsOfficialAbout\",\"target\":\"_blank\"}},[_vm._v(\"WPS认证\")])])])]),_c('div',{staticClass:\"link-item\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"解决方案\")]),_c('ul',{staticClass:\"sub-title\"},[_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/official\",\"target\":\"_blank\"}},[_vm._v(\"正版化办公\")])],1),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/solution/mobile\",\"target\":\"_blank\"}},[_vm._v(\"移动办公\")])],1),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/solution/safe\",\"target\":\"_blank\"}},[_vm._v(\"文档安全\")])],1),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/solution/financial\",\"target\":\"_blank\"}},[_vm._v(\"金融行业\")])],1),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/solution/energy\",\"target\":\"_blank\"}},[_vm._v(\"能源行业\")])],1)])]),_c('div',{staticClass:\"link-item\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"帮助\")]),_c('ul',{staticClass:\"sub-title\"},[_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"http://wps.udesk.cn/hc\",\"target\":\"_blank\"}},[_vm._v(\"常见问题\")])]),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/genuine\",\"target\":\"_blank\"}},[_vm._v(\"正版授权\")])],1),_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"https://www.wps.cn/kingsoftcommonproblem.pdf\",\"target\":\"_blank\"}},[_vm._v(\"XC常见问题解决方案\")])])])]),_c('div',{staticClass:\"link-item\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"关于\")]),_c('ul',{staticClass:\"sub-title\"},[_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"https://www.wps.cn/\",\"target\":\"_blank\"}},[_vm._v(\"WPS官网\")])]),_c('li',[_c('nuxt-link',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"to\":\"/about\",\"target\":\"_blank\"}},[_vm._v(\"关于金山办公\")])],1),_c('li',[_c('a',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click.c\",value:('底栏'),expression:\"'底栏'\",arg:\"click\",modifiers:{\"c\":true}}],attrs:{\"href\":\"https://plus.wps.cn/\",\"target\":\"_blank\"}},[_vm._v(\"WPS+云办公\")])])])]),_c('div',{staticClass:\"link-item\"},[_c('img',{staticClass:\"qrcode\",attrs:{\"src\":require('~/assets/common/qrcode.png'),\"alt\":\"微信二维码\"}}),_c('div',{staticClass:\"qrcode-txt\"},[_vm._v(\"扫一扫微信咨询\")])]),_c('div',{staticClass:\"link-item\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"客服电话\")]),_c('ul',{staticClass:\"sub-title contact\"},[_c('li',[_c('icon',{attrs:{\"type\":\"phone-filled\"}}),_c('span',[_vm._v(\"400-677-5005\")])],1),_c('li',[_c('icon',{attrs:{\"type\":\"mail-filled\"}}),_c('span',[_vm._v(\"wps@wps.cn\")])],1),_c('li',{staticClass:\"service-time\"},[_vm._v(\" 服务时间\")]),_c('li',[_vm._v(\" 周一至周日: 09:00-18:00\")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./sticker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./sticker.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./sticker.vue?vue&type=template&id=7dfcfb19&scoped=true&lang=pug&\"\nimport script from \"./sticker.vue?vue&type=script&lang=js&\"\nexport * from \"./sticker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./sticker.vue?vue&type=style&index=0&id=7dfcfb19&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7dfcfb19\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sticker\"},[_c('div',{directives:[{name:\"cnzz\",rawName:\"v-cnzz:click\",value:(['全局_banner', '$action', '购买咨询-btn']),expression:\"['全局_banner', '$action', '购买咨询-btn']\",arg:\"click\"}],staticClass:\"appointment\",on:{\"click\":_vm.toAppointment}},[_c('div',[_c('img',{attrs:{\"src\":require('~/assets/enterprise/appointment.png')}})]),_c('div',{staticClass:\"content\"},[_vm._v(\"购买咨询\")])]),_c('div',{staticClass:\"wx\"},[_c('icon',{attrs:{\"type\":\"wechat\"}}),_c('div',{staticClass:\"qrcode-box tooltip tooltip-bottom-right\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"扫一扫微信咨询\")]),_c('img',{staticClass:\"qrcode\",attrs:{\"src\":require('~/assets/common/qrcode.png'),\"alt\":\"微信二维码\"}})])],1),_c('div',{staticClass:\"backtop\",on:{\"click\":_vm.backtop}},[_c('icon',{attrs:{\"type\":\"top\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=4bf1ce32&lang=pug&\"\nimport script from \"./default.vue?vue&type=script&lang=js&\"\nexport * from \"./default.vue?vue&type=script&lang=js&\"\nimport style0 from \"./default.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('app-header'),_c('nuxt',{staticClass:\"main\"}),_c('app-footer'),_c('sticker')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default ({ app }) => {\n app.router.beforeEach((to, from, next) => {\n // 路由跳转比埋点上报更快,导致数据平台统计来源页面时出现问题\n setTimeout(next)\n })\n}\n","/*!\n * Vue-Lazyload.js v1.3.1\n * (c) 2019 Awe \n * Released under the MIT License.\n */\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/*!\n * is-primitive \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n// see http://jsperf.com/testing-value-is-primitive/7\n\nvar isPrimitive = function isPrimitive(value) {\n return value == null || typeof value !== 'function' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object';\n};\n\n/*!\n * assign-symbols \n *\n * Copyright (c) 2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\nvar assignSymbols = function assignSymbols(receiver, objects) {\n if (receiver === null || typeof receiver === 'undefined') {\n throw new TypeError('expected first argument to be an object.');\n }\n\n if (typeof objects === 'undefined' || typeof Symbol === 'undefined') {\n return receiver;\n }\n\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return receiver;\n }\n\n var isEnumerable = Object.prototype.propertyIsEnumerable;\n var target = Object(receiver);\n var len = arguments.length,\n i = 0;\n\n while (++i < len) {\n var provider = Object(arguments[i]);\n var names = Object.getOwnPropertySymbols(provider);\n\n for (var j = 0; j < names.length; j++) {\n var key = names[j];\n\n if (isEnumerable.call(provider, key)) {\n target[key] = provider[key];\n }\n }\n }\n return target;\n};\n\nvar toString = Object.prototype.toString;\n\n/**\n * Get the native `typeof` a value.\n *\n * @param {*} `val`\n * @return {*} Native javascript type\n */\n\nvar kindOf = function kindOf(val) {\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n\n // primitivies\n if (type === 'undefined') {\n return 'undefined';\n }\n if (val === null) {\n return 'null';\n }\n if (val === true || val === false || val instanceof Boolean) {\n return 'boolean';\n }\n if (type === 'string' || val instanceof String) {\n return 'string';\n }\n if (type === 'number' || val instanceof Number) {\n return 'number';\n }\n\n // functions\n if (type === 'function' || val instanceof Function) {\n if (typeof val.constructor.name !== 'undefined' && val.constructor.name.slice(0, 9) === 'Generator') {\n return 'generatorfunction';\n }\n return 'function';\n }\n\n // array\n if (typeof Array.isArray !== 'undefined' && Array.isArray(val)) {\n return 'array';\n }\n\n // check for instances of RegExp and Date before calling `toString`\n if (val instanceof RegExp) {\n return 'regexp';\n }\n if (val instanceof Date) {\n return 'date';\n }\n\n // other objects\n type = toString.call(val);\n\n if (type === '[object RegExp]') {\n return 'regexp';\n }\n if (type === '[object Date]') {\n return 'date';\n }\n if (type === '[object Arguments]') {\n return 'arguments';\n }\n if (type === '[object Error]') {\n return 'error';\n }\n if (type === '[object Promise]') {\n return 'promise';\n }\n\n // buffer\n if (isBuffer(val)) {\n return 'buffer';\n }\n\n // es6: Map, WeakMap, Set, WeakSet\n if (type === '[object Set]') {\n return 'set';\n }\n if (type === '[object WeakSet]') {\n return 'weakset';\n }\n if (type === '[object Map]') {\n return 'map';\n }\n if (type === '[object WeakMap]') {\n return 'weakmap';\n }\n if (type === '[object Symbol]') {\n return 'symbol';\n }\n\n if (type === '[object Map Iterator]') {\n return 'mapiterator';\n }\n if (type === '[object Set Iterator]') {\n return 'setiterator';\n }\n if (type === '[object String Iterator]') {\n return 'stringiterator';\n }\n if (type === '[object Array Iterator]') {\n return 'arrayiterator';\n }\n\n // typed arrays\n if (type === '[object Int8Array]') {\n return 'int8array';\n }\n if (type === '[object Uint8Array]') {\n return 'uint8array';\n }\n if (type === '[object Uint8ClampedArray]') {\n return 'uint8clampedarray';\n }\n if (type === '[object Int16Array]') {\n return 'int16array';\n }\n if (type === '[object Uint16Array]') {\n return 'uint16array';\n }\n if (type === '[object Int32Array]') {\n return 'int32array';\n }\n if (type === '[object Uint32Array]') {\n return 'uint32array';\n }\n if (type === '[object Float32Array]') {\n return 'float32array';\n }\n if (type === '[object Float64Array]') {\n return 'float64array';\n }\n\n // must be a plain object\n return 'object';\n};\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n return val.constructor && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\nfunction assign(target /*, objects*/) {\n target = target || {};\n var len = arguments.length,\n i = 0;\n if (len === 1) {\n return target;\n }\n while (++i < len) {\n var val = arguments[i];\n if (isPrimitive(target)) {\n target = val;\n }\n if (isObject$1(val)) {\n extend(target, val);\n }\n }\n return target;\n}\n\n/**\n * Shallow extend\n */\n\nfunction extend(target, obj) {\n assignSymbols(target, obj);\n\n for (var key in obj) {\n if (isValidKey(key) && hasOwn(obj, key)) {\n var val = obj[key];\n if (isObject$1(val)) {\n if (kindOf(target[key]) === 'undefined' && kindOf(val) === 'function') {\n target[key] = val;\n }\n target[key] = assign(target[key] || {}, val);\n } else {\n target[key] = val;\n }\n }\n }\n return target;\n}\n\n/**\n * Returns true if the object is a plain object or a function.\n */\n\nfunction isObject$1(obj) {\n return kindOf(obj) === 'object' || kindOf(obj) === 'function';\n}\n\n/**\n * Returns true if the given `key` is an own property of `obj`.\n */\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\n/**\n * Returns true if the given `key` is a valid key that can be used for assigning properties.\n */\n\nfunction isValidKey(key) {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n}\n\n/**\n * Expose `assign`\n */\n\nvar assignDeep = assign;\n\nvar inBrowser = typeof window !== 'undefined';\nvar hasIntersectionObserver = checkIntersectionObserver();\n\nfunction checkIntersectionObserver() {\n if (inBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get$$1() {\n return this.intersectionRatio > 0;\n }\n });\n }\n return true;\n }\n return false;\n}\n\nvar modeType = {\n event: 'event',\n observer: 'observer'\n\n // CustomEvent polyfill\n};var CustomEvent = function () {\n if (!inBrowser) return;\n if (typeof window.CustomEvent === 'function') return window.CustomEvent;\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n CustomEvent.prototype = window.Event.prototype;\n return CustomEvent;\n}();\n\nfunction remove(arr, item) {\n if (!arr.length) return;\n var index = arr.indexOf(item);\n if (index > -1) return arr.splice(index, 1);\n}\n\nfunction some(arr, fn) {\n var has = false;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n has = true;\n break;\n }\n }\n return has;\n}\n\nfunction getBestSelectionFromSrcset(el, scale) {\n if (el.tagName !== 'IMG' || !el.getAttribute('data-srcset')) return;\n\n var options = el.getAttribute('data-srcset');\n var result = [];\n var container = el.parentNode;\n var containerWidth = container.offsetWidth * scale;\n\n var spaceIndex = void 0;\n var tmpSrc = void 0;\n var tmpWidth = void 0;\n\n options = options.trim().split(',');\n\n options.map(function (item) {\n item = item.trim();\n spaceIndex = item.lastIndexOf(' ');\n if (spaceIndex === -1) {\n tmpSrc = item;\n tmpWidth = 999998;\n } else {\n tmpSrc = item.substr(0, spaceIndex);\n tmpWidth = parseInt(item.substr(spaceIndex + 1, item.length - spaceIndex - 2), 10);\n }\n result.push([tmpWidth, tmpSrc]);\n });\n\n result.sort(function (a, b) {\n if (a[0] < b[0]) {\n return 1;\n }\n if (a[0] > b[0]) {\n return -1;\n }\n if (a[0] === b[0]) {\n if (b[1].indexOf('.webp', b[1].length - 5) !== -1) {\n return 1;\n }\n if (a[1].indexOf('.webp', a[1].length - 5) !== -1) {\n return -1;\n }\n }\n return 0;\n });\n var bestSelectedSrc = '';\n var tmpOption = void 0;\n\n for (var i = 0; i < result.length; i++) {\n tmpOption = result[i];\n bestSelectedSrc = tmpOption[1];\n var next = result[i + 1];\n if (next && next[0] < containerWidth) {\n bestSelectedSrc = tmpOption[1];\n break;\n } else if (!next) {\n bestSelectedSrc = tmpOption[1];\n break;\n }\n }\n\n return bestSelectedSrc;\n}\n\nfunction find(arr, fn) {\n var item = void 0;\n for (var i = 0, len = arr.length; i < len; i++) {\n if (fn(arr[i])) {\n item = arr[i];\n break;\n }\n }\n return item;\n}\n\nvar getDPR = function getDPR() {\n var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return inBrowser ? window.devicePixelRatio || scale : scale;\n};\n\nfunction supportWebp() {\n if (!inBrowser) return false;\n\n var support = true;\n var d = document;\n\n try {\n var el = d.createElement('object');\n el.type = 'image/webp';\n el.style.visibility = 'hidden';\n el.innerHTML = '!';\n d.body.appendChild(el);\n support = !el.offsetWidth;\n d.body.removeChild(el);\n } catch (err) {\n support = false;\n }\n\n return support;\n}\n\nfunction throttle(action, delay) {\n var timeout = null;\n var lastRun = 0;\n return function () {\n if (timeout) {\n return;\n }\n var elapsed = Date.now() - lastRun;\n var context = this;\n var args = arguments;\n var runCallback = function runCallback() {\n lastRun = Date.now();\n timeout = false;\n action.apply(context, args);\n };\n if (elapsed >= delay) {\n runCallback();\n } else {\n timeout = setTimeout(runCallback, delay);\n }\n };\n}\n\nfunction testSupportsPassive() {\n if (!inBrowser) return;\n var support = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get$$1() {\n support = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return support;\n}\n\nvar supportsPassive = testSupportsPassive();\n\nvar _ = {\n on: function on(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (supportsPassive) {\n el.addEventListener(type, func, {\n capture: capture,\n passive: true\n });\n } else {\n el.addEventListener(type, func, capture);\n }\n },\n off: function off(el, type, func) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n el.removeEventListener(type, func, capture);\n }\n};\n\nvar loadImageAsync = function loadImageAsync(item, resolve, reject) {\n var image = new Image();\n image.src = item.src;\n\n image.onload = function () {\n resolve({\n naturalHeight: image.naturalHeight,\n naturalWidth: image.naturalWidth,\n src: image.src\n });\n };\n\n image.onerror = function (e) {\n reject(e);\n };\n};\n\nvar style = function style(el, prop) {\n return typeof getComputedStyle !== 'undefined' ? getComputedStyle(el, null).getPropertyValue(prop) : el.style[prop];\n};\n\nvar overflow = function overflow(el) {\n return style(el, 'overflow') + style(el, 'overflow-y') + style(el, 'overflow-x');\n};\n\nvar scrollParent = function scrollParent(el) {\n if (!inBrowser) return;\n if (!(el instanceof HTMLElement)) {\n return window;\n }\n\n var parent = el;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nfunction isObject(obj) {\n return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';\n}\n\nfunction ObjectKeys(obj) {\n if (!(obj instanceof Object)) return [];\n if (Object.keys) {\n return Object.keys(obj);\n } else {\n var keys = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n return keys;\n }\n}\n\nfunction ArrayFrom(arrLike) {\n var len = arrLike.length;\n var list = [];\n for (var i = 0; i < len; i++) {\n list.push(arrLike[i]);\n }\n return list;\n}\n\nfunction noop() {}\n\nvar ImageCache = function () {\n function ImageCache(_ref) {\n var max = _ref.max;\n classCallCheck(this, ImageCache);\n\n this.options = {\n max: max || 100\n };\n this._caches = [];\n }\n\n createClass(ImageCache, [{\n key: 'has',\n value: function has(key) {\n return this._caches.indexOf(key) > -1;\n }\n }, {\n key: 'add',\n value: function add(key) {\n if (this.has(key)) return;\n this._caches.push(key);\n if (this._caches.length > this.options.max) {\n this.free();\n }\n }\n }, {\n key: 'free',\n value: function free() {\n this._caches.shift();\n }\n }]);\n return ImageCache;\n}();\n\n// el: {\n// state,\n// src,\n// error,\n// loading\n// }\n\nvar ReactiveListener = function () {\n function ReactiveListener(_ref) {\n var el = _ref.el,\n src = _ref.src,\n error = _ref.error,\n loading = _ref.loading,\n bindType = _ref.bindType,\n $parent = _ref.$parent,\n options = _ref.options,\n elRenderer = _ref.elRenderer,\n imageCache = _ref.imageCache;\n classCallCheck(this, ReactiveListener);\n\n this.el = el;\n this.src = src;\n this.error = error;\n this.loading = loading;\n this.bindType = bindType;\n this.attempt = 0;\n\n this.naturalHeight = 0;\n this.naturalWidth = 0;\n\n this.options = options;\n\n this.rect = null;\n\n this.$parent = $parent;\n this.elRenderer = elRenderer;\n this._imageCache = imageCache;\n this.performanceData = {\n init: Date.now(),\n loadStart: 0,\n loadEnd: 0\n };\n\n this.filter();\n this.initState();\n this.render('loading', false);\n }\n\n /*\n * init listener state\n * @return\n */\n\n\n createClass(ReactiveListener, [{\n key: 'initState',\n value: function initState() {\n if ('dataset' in this.el) {\n this.el.dataset.src = this.src;\n } else {\n this.el.setAttribute('data-src', this.src);\n }\n\n this.state = {\n loading: false,\n error: false,\n loaded: false,\n rendered: false\n };\n }\n\n /*\n * record performance\n * @return\n */\n\n }, {\n key: 'record',\n value: function record(event) {\n this.performanceData[event] = Date.now();\n }\n\n /*\n * update image listener data\n * @param {String} image uri\n * @param {String} loading image uri\n * @param {String} error image uri\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(_ref2) {\n var src = _ref2.src,\n loading = _ref2.loading,\n error = _ref2.error;\n\n var oldSrc = this.src;\n this.src = src;\n this.loading = loading;\n this.error = error;\n this.filter();\n if (oldSrc !== this.src) {\n this.attempt = 0;\n this.initState();\n }\n }\n\n /*\n * get el node rect\n * @return\n */\n\n }, {\n key: 'getRect',\n value: function getRect() {\n this.rect = this.el.getBoundingClientRect();\n }\n\n /*\n * check el is in view\n * @return {Boolean} el is in view\n */\n\n }, {\n key: 'checkInView',\n value: function checkInView() {\n this.getRect();\n return this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0;\n }\n\n /*\n * listener filter\n */\n\n }, {\n key: 'filter',\n value: function filter() {\n var _this = this;\n\n ObjectKeys(this.options.filter).map(function (key) {\n _this.options.filter[key](_this, _this.options);\n });\n }\n\n /*\n * render loading first\n * @params cb:Function\n * @return\n */\n\n }, {\n key: 'renderLoading',\n value: function renderLoading(cb) {\n var _this2 = this;\n\n this.state.loading = true;\n loadImageAsync({\n src: this.loading\n }, function (data) {\n _this2.render('loading', false);\n _this2.state.loading = false;\n cb();\n }, function () {\n // handler `loading image` load failed\n cb();\n _this2.state.loading = false;\n if (!_this2.options.silent) console.warn('VueLazyload log: load failed with loading image(' + _this2.loading + ')');\n });\n }\n\n /*\n * try load image and render it\n * @return\n */\n\n }, {\n key: 'load',\n value: function load() {\n var _this3 = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.attempt > this.options.attempt - 1 && this.state.error) {\n if (!this.options.silent) console.log('VueLazyload log: ' + this.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n if (this.state.rendered && this.state.loaded) return;\n if (this._imageCache.has(this.src)) {\n this.state.loaded = true;\n this.render('loaded', true);\n this.state.rendered = true;\n return onFinish();\n }\n\n this.renderLoading(function () {\n _this3.attempt++;\n\n _this3.options.adapter['beforeLoad'] && _this3.options.adapter['beforeLoad'](_this3, _this3.options);\n _this3.record('loadStart');\n\n loadImageAsync({\n src: _this3.src\n }, function (data) {\n _this3.naturalHeight = data.naturalHeight;\n _this3.naturalWidth = data.naturalWidth;\n _this3.state.loaded = true;\n _this3.state.error = false;\n _this3.record('loadEnd');\n _this3.render('loaded', false);\n _this3.state.rendered = true;\n _this3._imageCache.add(_this3.src);\n onFinish();\n }, function (err) {\n !_this3.options.silent && console.error(err);\n _this3.state.error = true;\n _this3.state.loaded = false;\n _this3.render('error', false);\n });\n });\n }\n\n /*\n * render image\n * @param {String} state to render // ['loading', 'src', 'error']\n * @param {String} is form cache\n * @return\n */\n\n }, {\n key: 'render',\n value: function render(state, cache) {\n this.elRenderer(this, state, cache);\n }\n\n /*\n * output performance data\n * @return {Object} performance data\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var state = 'loading';\n var time = 0;\n\n if (this.state.loaded) {\n state = 'loaded';\n time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1000;\n }\n\n if (this.state.error) state = 'error';\n\n return {\n src: this.src,\n state: state,\n time: time\n };\n }\n\n /*\n * destroy\n * @return\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.el = null;\n this.src = null;\n this.error = null;\n this.loading = null;\n this.bindType = null;\n this.attempt = 0;\n }\n }]);\n return ReactiveListener;\n}();\n\nvar DEFAULT_URL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nvar DEFAULT_EVENTS = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'];\nvar DEFAULT_OBSERVER_OPTIONS = {\n rootMargin: '0px',\n threshold: 0\n};\n\nvar Lazy = function (Vue) {\n return function () {\n function Lazy(_ref) {\n var preLoad = _ref.preLoad,\n error = _ref.error,\n throttleWait = _ref.throttleWait,\n preLoadTop = _ref.preLoadTop,\n dispatchEvent = _ref.dispatchEvent,\n loading = _ref.loading,\n attempt = _ref.attempt,\n _ref$silent = _ref.silent,\n silent = _ref$silent === undefined ? true : _ref$silent,\n scale = _ref.scale,\n listenEvents = _ref.listenEvents,\n hasbind = _ref.hasbind,\n filter = _ref.filter,\n adapter = _ref.adapter,\n observer = _ref.observer,\n observerOptions = _ref.observerOptions;\n classCallCheck(this, Lazy);\n\n this.version = '1.3.1';\n this.mode = modeType.event;\n this.ListenerQueue = [];\n this.TargetIndex = 0;\n this.TargetQueue = [];\n this.options = {\n silent: silent,\n dispatchEvent: !!dispatchEvent,\n throttleWait: throttleWait || 200,\n preLoad: preLoad || 1.3,\n preLoadTop: preLoadTop || 0,\n error: error || DEFAULT_URL,\n loading: loading || DEFAULT_URL,\n attempt: attempt || 3,\n scale: scale || getDPR(scale),\n ListenEvents: listenEvents || DEFAULT_EVENTS,\n hasbind: false,\n supportWebp: supportWebp(),\n filter: filter || {},\n adapter: adapter || {},\n observer: !!observer,\n observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS\n };\n this._initEvent();\n this._imageCache = new ImageCache({ max: 200 });\n this.lazyLoadHandler = throttle(this._lazyLoadHandler.bind(this), this.options.throttleWait);\n\n this.setMode(this.options.observer ? modeType.observer : modeType.event);\n }\n\n /**\n * update config\n * @param {Object} config params\n * @return\n */\n\n\n createClass(Lazy, [{\n key: 'config',\n value: function config() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n assignDeep(this.options, options);\n }\n\n /**\n * output listener's load performance\n * @return {Array}\n */\n\n }, {\n key: 'performance',\n value: function performance() {\n var list = [];\n\n this.ListenerQueue.map(function (item) {\n list.push(item.performance());\n });\n\n return list;\n }\n\n /*\n * add lazy component to queue\n * @param {Vue} vm lazy component instance\n * @return\n */\n\n }, {\n key: 'addLazyBox',\n value: function addLazyBox(vm) {\n this.ListenerQueue.push(vm);\n if (inBrowser) {\n this._addListenerTarget(window);\n this._observer && this._observer.observe(vm.el);\n if (vm.$el && vm.$el.parentNode) {\n this._addListenerTarget(vm.$el.parentNode);\n }\n }\n }\n\n /*\n * add image listener to queue\n * @param {DOM} el\n * @param {object} binding vue directive binding\n * @param {vnode} vnode vue directive vnode\n * @return\n */\n\n }, {\n key: 'add',\n value: function add(el, binding, vnode) {\n var _this = this;\n\n if (some(this.ListenerQueue, function (item) {\n return item.el === el;\n })) {\n this.update(el, binding);\n return Vue.nextTick(this.lazyLoadHandler);\n }\n\n var _valueFormatter2 = this._valueFormatter(binding.value),\n src = _valueFormatter2.src,\n loading = _valueFormatter2.loading,\n error = _valueFormatter2.error;\n\n Vue.nextTick(function () {\n src = getBestSelectionFromSrcset(el, _this.options.scale) || src;\n _this._observer && _this._observer.observe(el);\n\n var container = Object.keys(binding.modifiers)[0];\n var $parent = void 0;\n\n if (container) {\n $parent = vnode.context.$refs[container];\n // if there is container passed in, try ref first, then fallback to getElementById to support the original usage\n $parent = $parent ? $parent.$el || $parent : document.getElementById(container);\n }\n\n if (!$parent) {\n $parent = scrollParent(el);\n }\n\n var newListener = new ReactiveListener({\n bindType: binding.arg,\n $parent: $parent,\n el: el,\n loading: loading,\n error: error,\n src: src,\n elRenderer: _this._elRenderer.bind(_this),\n options: _this.options,\n imageCache: _this._imageCache\n });\n\n _this.ListenerQueue.push(newListener);\n\n if (inBrowser) {\n _this._addListenerTarget(window);\n _this._addListenerTarget($parent);\n }\n\n _this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this.lazyLoadHandler();\n });\n });\n }\n\n /**\n * update image src\n * @param {DOM} el\n * @param {object} vue directive binding\n * @return\n */\n\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var _this2 = this;\n\n var _valueFormatter3 = this._valueFormatter(binding.value),\n src = _valueFormatter3.src,\n loading = _valueFormatter3.loading,\n error = _valueFormatter3.error;\n\n src = getBestSelectionFromSrcset(el, this.options.scale) || src;\n\n var exist = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (!exist) {\n this.add(el, binding, vnode);\n } else {\n exist.update({\n src: src,\n loading: loading,\n error: error\n });\n }\n if (this._observer) {\n this._observer.unobserve(el);\n this._observer.observe(el);\n }\n this.lazyLoadHandler();\n Vue.nextTick(function () {\n return _this2.lazyLoadHandler();\n });\n }\n\n /**\n * remove listener form list\n * @param {DOM} el\n * @return\n */\n\n }, {\n key: 'remove',\n value: function remove$$1(el) {\n if (!el) return;\n this._observer && this._observer.unobserve(el);\n var existItem = find(this.ListenerQueue, function (item) {\n return item.el === el;\n });\n if (existItem) {\n this._removeListenerTarget(existItem.$parent);\n this._removeListenerTarget(window);\n remove(this.ListenerQueue, existItem);\n existItem.destroy();\n }\n }\n\n /*\n * remove lazy components form list\n * @param {Vue} vm Vue instance\n * @return\n */\n\n }, {\n key: 'removeComponent',\n value: function removeComponent(vm) {\n if (!vm) return;\n remove(this.ListenerQueue, vm);\n this._observer && this._observer.unobserve(vm.el);\n if (vm.$parent && vm.$el.parentNode) {\n this._removeListenerTarget(vm.$el.parentNode);\n }\n this._removeListenerTarget(window);\n }\n }, {\n key: 'setMode',\n value: function setMode(mode) {\n var _this3 = this;\n\n if (!hasIntersectionObserver && mode === modeType.observer) {\n mode = modeType.event;\n }\n\n this.mode = mode; // event or observer\n\n if (mode === modeType.event) {\n if (this._observer) {\n this.ListenerQueue.forEach(function (listener) {\n _this3._observer.unobserve(listener.el);\n });\n this._observer = null;\n }\n\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, true);\n });\n } else {\n this.TargetQueue.forEach(function (target) {\n _this3._initListen(target.el, false);\n });\n this._initIntersectionObserver();\n }\n }\n\n /*\n *** Private functions ***\n */\n\n /*\n * add listener target\n * @param {DOM} el listener target\n * @return\n */\n\n }, {\n key: '_addListenerTarget',\n value: function _addListenerTarget(el) {\n if (!el) return;\n var target = find(this.TargetQueue, function (target) {\n return target.el === el;\n });\n if (!target) {\n target = {\n el: el,\n id: ++this.TargetIndex,\n childrenCount: 1,\n listened: true\n };\n this.mode === modeType.event && this._initListen(target.el, true);\n this.TargetQueue.push(target);\n } else {\n target.childrenCount++;\n }\n return this.TargetIndex;\n }\n\n /*\n * remove listener target or reduce target childrenCount\n * @param {DOM} el or window\n * @return\n */\n\n }, {\n key: '_removeListenerTarget',\n value: function _removeListenerTarget(el) {\n var _this4 = this;\n\n this.TargetQueue.forEach(function (target, index) {\n if (target.el === el) {\n target.childrenCount--;\n if (!target.childrenCount) {\n _this4._initListen(target.el, false);\n _this4.TargetQueue.splice(index, 1);\n target = null;\n }\n }\n });\n }\n\n /*\n * add or remove eventlistener\n * @param {DOM} el DOM or Window\n * @param {boolean} start flag\n * @return\n */\n\n }, {\n key: '_initListen',\n value: function _initListen(el, start) {\n var _this5 = this;\n\n this.options.ListenEvents.forEach(function (evt) {\n return _[start ? 'on' : 'off'](el, evt, _this5.lazyLoadHandler);\n });\n }\n }, {\n key: '_initEvent',\n value: function _initEvent() {\n var _this6 = this;\n\n this.Event = {\n listeners: {\n loading: [],\n loaded: [],\n error: []\n }\n };\n\n this.$on = function (event, func) {\n if (!_this6.Event.listeners[event]) _this6.Event.listeners[event] = [];\n _this6.Event.listeners[event].push(func);\n };\n\n this.$once = function (event, func) {\n var vm = _this6;\n function on() {\n vm.$off(event, on);\n func.apply(vm, arguments);\n }\n _this6.$on(event, on);\n };\n\n this.$off = function (event, func) {\n if (!func) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].length = 0;\n return;\n }\n remove(_this6.Event.listeners[event], func);\n };\n\n this.$emit = function (event, context, inCache) {\n if (!_this6.Event.listeners[event]) return;\n _this6.Event.listeners[event].forEach(function (func) {\n return func(context, inCache);\n });\n };\n }\n\n /**\n * find nodes which in viewport and trigger load\n * @return\n */\n\n }, {\n key: '_lazyLoadHandler',\n value: function _lazyLoadHandler() {\n var _this7 = this;\n\n var freeList = [];\n this.ListenerQueue.forEach(function (listener, index) {\n if (!listener.el || !listener.el.parentNode) {\n freeList.push(listener);\n }\n var catIn = listener.checkInView();\n if (!catIn) return;\n listener.load();\n });\n freeList.forEach(function (item) {\n remove(_this7.ListenerQueue, item);\n item.destroy();\n });\n }\n /**\n * init IntersectionObserver\n * set mode to observer\n * @return\n */\n\n }, {\n key: '_initIntersectionObserver',\n value: function _initIntersectionObserver() {\n var _this8 = this;\n\n if (!hasIntersectionObserver) return;\n this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions);\n if (this.ListenerQueue.length) {\n this.ListenerQueue.forEach(function (listener) {\n _this8._observer.observe(listener.el);\n });\n }\n }\n\n /**\n * init IntersectionObserver\n * @return\n */\n\n }, {\n key: '_observerHandler',\n value: function _observerHandler(entries, observer) {\n var _this9 = this;\n\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n _this9.ListenerQueue.forEach(function (listener) {\n if (listener.el === entry.target) {\n if (listener.state.loaded) return _this9._observer.unobserve(listener.el);\n listener.load();\n }\n });\n }\n });\n }\n\n /**\n * set element attribute with image'url and state\n * @param {object} lazyload listener object\n * @param {string} state will be rendered\n * @param {bool} inCache is rendered from cache\n * @return\n */\n\n }, {\n key: '_elRenderer',\n value: function _elRenderer(listener, state, cache) {\n if (!listener.el) return;\n var el = listener.el,\n bindType = listener.bindType;\n\n\n var src = void 0;\n switch (state) {\n case 'loading':\n src = listener.loading;\n break;\n case 'error':\n src = listener.error;\n break;\n default:\n src = listener.src;\n break;\n }\n\n if (bindType) {\n el.style[bindType] = 'url(\"' + src + '\")';\n } else if (el.getAttribute('src') !== src) {\n el.setAttribute('src', src);\n }\n\n el.setAttribute('lazy', state);\n\n this.$emit(state, listener, cache);\n this.options.adapter[state] && this.options.adapter[state](listener, this.options);\n\n if (this.options.dispatchEvent) {\n var event = new CustomEvent(state, {\n detail: listener\n });\n el.dispatchEvent(event);\n }\n }\n\n /**\n * generate loading loaded error image url\n * @param {string} image's src\n * @return {object} image's loading, loaded, error url\n */\n\n }, {\n key: '_valueFormatter',\n value: function _valueFormatter(value) {\n var src = value;\n var loading = this.options.loading;\n var error = this.options.error;\n\n // value is object\n if (isObject(value)) {\n if (!value.src && !this.options.silent) console.error('Vue Lazyload warning: miss src with ' + value);\n src = value.src;\n loading = value.loading || this.options.loading;\n error = value.error || this.options.error;\n }\n return {\n src: src,\n loading: loading,\n error: error\n };\n }\n }]);\n return Lazy;\n }();\n};\n\nvar LazyComponent = (function (lazy) {\n return {\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h) {\n if (this.show === false) {\n return h(this.tag);\n }\n return h(this.tag, null, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n state: {\n loaded: false\n },\n rect: {},\n show: false\n };\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazy.addLazyBox(this);\n lazy.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazy.removeComponent(this);\n },\n\n methods: {\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazy.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazy.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n this.show = true;\n this.state.loaded = true;\n this.$emit('show', this);\n }\n }\n };\n});\n\nvar LazyContainerMananger = function () {\n function LazyContainerMananger(_ref) {\n var lazy = _ref.lazy;\n classCallCheck(this, LazyContainerMananger);\n\n this.lazy = lazy;\n lazy.lazyContainerMananger = this;\n this._queue = [];\n }\n\n createClass(LazyContainerMananger, [{\n key: 'bind',\n value: function bind(el, binding, vnode) {\n var container = new LazyContainer$1({ el: el, binding: binding, vnode: vnode, lazy: this.lazy });\n this._queue.push(container);\n }\n }, {\n key: 'update',\n value: function update(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.update({ el: el, binding: binding, vnode: vnode });\n }\n }, {\n key: 'unbind',\n value: function unbind(el, binding, vnode) {\n var container = find(this._queue, function (item) {\n return item.el === el;\n });\n if (!container) return;\n container.clear();\n remove(this._queue, container);\n }\n }]);\n return LazyContainerMananger;\n}();\n\nvar defaultOptions = {\n selector: 'img'\n};\n\nvar LazyContainer$1 = function () {\n function LazyContainer(_ref2) {\n var el = _ref2.el,\n binding = _ref2.binding,\n vnode = _ref2.vnode,\n lazy = _ref2.lazy;\n classCallCheck(this, LazyContainer);\n\n this.el = null;\n this.vnode = vnode;\n this.binding = binding;\n this.options = {};\n this.lazy = lazy;\n\n this._queue = [];\n this.update({ el: el, binding: binding });\n }\n\n createClass(LazyContainer, [{\n key: 'update',\n value: function update(_ref3) {\n var _this = this;\n\n var el = _ref3.el,\n binding = _ref3.binding;\n\n this.el = el;\n this.options = assignDeep({}, defaultOptions, binding.value);\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n _this.lazy.add(el, assignDeep({}, _this.binding, {\n value: {\n src: 'dataset' in el ? el.dataset.src : el.getAttribute('data-src'),\n error: ('dataset' in el ? el.dataset.error : el.getAttribute('data-error')) || _this.options.error,\n loading: ('dataset' in el ? el.dataset.loading : el.getAttribute('data-loading')) || _this.options.loading\n }\n }), _this.vnode);\n });\n }\n }, {\n key: 'getImgs',\n value: function getImgs() {\n return ArrayFrom(this.el.querySelectorAll(this.options.selector));\n }\n }, {\n key: 'clear',\n value: function clear() {\n var _this2 = this;\n\n var imgs = this.getImgs();\n imgs.forEach(function (el) {\n return _this2.lazy.remove(el);\n });\n\n this.vnode = null;\n this.binding = null;\n this.lazy = null;\n }\n }]);\n return LazyContainer;\n}();\n\nvar LazyImage = (function (lazyManager) {\n return {\n props: {\n src: [String, Object],\n tag: {\n type: String,\n default: 'img'\n }\n },\n render: function render(h) {\n return h(this.tag, {\n attrs: {\n src: this.renderSrc\n }\n }, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n options: {\n src: '',\n error: '',\n loading: '',\n attempt: lazyManager.options.attempt\n },\n state: {\n loaded: false,\n error: false,\n attempt: 0\n },\n rect: {},\n renderSrc: ''\n };\n },\n\n watch: {\n src: function src() {\n this.init();\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n }\n },\n created: function created() {\n this.init();\n this.renderSrc = this.options.loading;\n },\n mounted: function mounted() {\n this.el = this.$el;\n lazyManager.addLazyBox(this);\n lazyManager.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n lazyManager.removeComponent(this);\n },\n\n methods: {\n init: function init() {\n var _lazyManager$_valueFo = lazyManager._valueFormatter(this.src),\n src = _lazyManager$_valueFo.src,\n loading = _lazyManager$_valueFo.loading,\n error = _lazyManager$_valueFo.error;\n\n this.state.loaded = false;\n this.options.src = src;\n this.options.error = error;\n this.options.loading = loading;\n this.renderSrc = this.options.loading;\n },\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n this.getRect();\n return inBrowser && this.rect.top < window.innerHeight * lazyManager.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazyManager.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n var _this = this;\n\n var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (this.state.attempt > this.options.attempt - 1 && this.state.error) {\n if (!lazyManager.options.silent) console.log('VueLazyload log: ' + this.options.src + ' tried too more than ' + this.options.attempt + ' times');\n onFinish();\n return;\n }\n var src = this.options.src;\n loadImageAsync({ src: src }, function (_ref) {\n var src = _ref.src;\n\n _this.renderSrc = src;\n _this.state.loaded = true;\n }, function (e) {\n _this.state.attempt++;\n _this.renderSrc = _this.options.error;\n _this.state.error = true;\n });\n }\n }\n };\n});\n\nvar index = {\n /*\n * install function\n * @param {Vue} Vue\n * @param {object} options lazyload options\n */\n install: function install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var LazyClass = Lazy(Vue);\n var lazy = new LazyClass(options);\n var lazyContainer = new LazyContainerMananger({ lazy: lazy });\n\n var isVue2 = Vue.version.split('.')[0] === '2';\n\n Vue.prototype.$Lazyload = lazy;\n\n if (options.lazyComponent) {\n Vue.component('lazy-component', LazyComponent(lazy));\n }\n\n if (options.lazyImage) {\n Vue.component('lazy-image', LazyImage(lazy));\n }\n\n if (isVue2) {\n Vue.directive('lazy', {\n bind: lazy.add.bind(lazy),\n update: lazy.update.bind(lazy),\n componentUpdated: lazy.lazyLoadHandler.bind(lazy),\n unbind: lazy.remove.bind(lazy)\n });\n Vue.directive('lazy-container', {\n bind: lazyContainer.bind.bind(lazyContainer),\n componentUpdated: lazyContainer.update.bind(lazyContainer),\n unbind: lazyContainer.unbind.bind(lazyContainer)\n });\n } else {\n Vue.directive('lazy', {\n bind: lazy.lazyLoadHandler.bind(lazy),\n update: function update(newValue, oldValue) {\n assignDeep(this.vm.$refs, this.vm.$els);\n lazy.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazy.remove(this.el);\n }\n });\n\n Vue.directive('lazy-container', {\n update: function update(newValue, oldValue) {\n lazyContainer.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: newValue,\n oldValue: oldValue\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n lazyContainer.unbind(this.el);\n }\n });\n }\n }\n};\n\nexport default index;\n","import Vue from 'vue'\nimport VueLazyload from 'vue-lazyload'\n\nconst hasWindow = typeof window !== 'undefined'\nconst environment = Math.round(hasWindow ? window.devicePixelRatio || 1 : 1)\nconst chooseCap = (cap) => {\n const numericCap = parseInt(cap, 10)\n if (environment < numericCap) {\n return environment\n } else {\n return numericCap\n }\n}\n\nVue.use(VueLazyload, {\n preLoad: 1.4,\n filter: {\n progressive(listener) {\n const isCDN = /ee.wpscdn.cn/\n const { src } = listener\n if (isCDN.test(src) && /\\.(png|jpg|jpeg)$/.test(src)) {\n const parmas = []\n const dataset = listener.el.dataset\n if (chooseCap(2) < 2) {\n parmas.push(`thumbnail/!50p`)\n }\n if (dataset.format) {\n const q = `format/${dataset.format}`\n if (dataset.format === 'webp') {\n if (\n document\n .createElement('canvas')\n .toDataURL('image/webp')\n .indexOf('data:image/webp') === 0\n ) {\n parmas.push(q)\n } else {\n // 不支持 webp\n }\n } else {\n parmas.push(q)\n }\n }\n if (parmas.length !== 0) {\n listener.src = `${src}?imageMogr2/${parmas.join('/')}`\n }\n }\n }\n }\n})\n","import Vue from 'vue'\n\nconst isSPALink = (node) => {\n const $vue = node.__vue__\n if ($vue && 'exactActiveClass' in $vue && 'to' in $vue) {\n return true\n }\n}\n\nconst cnzz = {\n dispatch(payload) {\n // eslint-disable-next-line\n // console.log(payload)\n if (window._czc) {\n window._czc.push(['_trackEvent', ...payload])\n }\n if (window._hmt) {\n window._hmt.push(['_trackEvent', ...payload])\n }\n }\n}\n\nVue.prototype.$cnzz = cnzz\n\nVue.directive('cnzz', {\n bind: (el, { arg, value, modifiers }) => {\n const actions = {\n click: '点击',\n mouseenter: '悬停'\n }\n const handler = (e) => {\n const node = e.srcElement || e.target\n\n // 阻止 a 标签的默认事件,不然可能没上报页面就发生了跳转\n if (node.nodeName === 'A' && arg === 'click') {\n // 如果不是 nuxt-link 才需要阻止默认事件\n if (!isSPALink(node)) {\n e.preventDefault()\n setTimeout(() => {\n node.cloneNode().click()\n }, 100)\n }\n }\n\n const vars = {\n action: actions[arg],\n content: node.textContent\n }\n let payload = []\n\n if (modifiers.c) {\n // c: 代表 cnzz 中的 category\n // 调用方式 v-cnzz:click.c=\"导航\"\n // 自动推断 category为导航,action为click,content为当前节点的textContent\n payload = [value, vars.action, vars.content]\n } else if (Array.isArray(value)) {\n // 调用方式 v-cnzz:click=[\"导航\", \"$action\", \"$content\", \"xxx\"]\n // 其中 $ 开头的会自动替换为 vars 中的内容\n payload = value.map((i) => {\n if (i[0] === '$') {\n i = vars[i.substring(1)]\n }\n return i\n })\n }\n\n if (payload.length !== 0) {\n // eslint-disable-next-line\n // console.log(['_trackEvent', ...payload])\n cnzz.dispatch(payload)\n }\n // e.srcElement.cloneNode().click()\n // window._czc.push(['_trackEvent', ...payload])\n }\n el.addEventListener(arg, handler)\n }\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',_vm._g(_vm._b({staticClass:\"ico\",attrs:{\"aria-hidden\":\"true\"}},'svg',_vm.$attrs,false),_vm.$listeners),[_c('use',{attrs:{\"xlink:href\":(\"#ep-icon-\" + (_vm.$attrs.type))}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=7acd757c&lang=pug&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Icon from './src/main'\n\nIcon.install = (Vue) => {\n Vue.component(Icon.name, Icon)\n}\n\nexport default Icon\n","import Vue from 'vue'\nimport Icon from '~/components/common/icon'\n\nVue.use(Icon)\n","import Vue from 'vue'\n\nVue.prototype.$rem = (source) => {\n const PXRegExp = new RegExp(/(\\d+)px/.source, 'ig')\n if (PXRegExp.test(source)) {\n return source.replace(PXRegExp, ($0, $1) => {\n let val = $1 / 16\n val = parseFloat(val.toFixed(5))\n return val === 0 ? val : `${val}rem`\n })\n } else {\n return source\n }\n}\n","import Vue from 'vue'\nimport Meta from 'vue-meta'\nimport ClientOnly from 'vue-client-only'\nimport NoSsr from 'vue-no-ssr'\nimport { createRouter } from './router.js'\nimport NuxtChild from './components/nuxt-child.js'\nimport NuxtError from '../layouts/error.vue'\nimport Nuxt from './components/nuxt.js'\nimport App from './App.js'\nimport { setContext, getLocation, getRouteData, normalizeError } from './utils'\n\n/* Plugins */\n\nimport nuxt_plugin_route_338f5eda from 'nuxt_plugin_route_338f5eda' // Source: ../plugins/route (mode: 'client')\nimport nuxt_plugin_lazyload_af447860 from 'nuxt_plugin_lazyload_af447860' // Source: ../plugins/lazyload (mode: 'all')\nimport nuxt_plugin_cnzz_6a7f1d61 from 'nuxt_plugin_cnzz_6a7f1d61' // Source: ../plugins/cnzz (mode: 'all')\nimport nuxt_plugin_icon_6a81acef from 'nuxt_plugin_icon_6a81acef' // Source: ../plugins/icon (mode: 'all')\nimport nuxt_plugin_rem_5e466164 from 'nuxt_plugin_rem_5e466164' // Source: ../plugins/rem (mode: 'all')\nimport nuxt_plugin_iconfont_71b8ac84 from 'nuxt_plugin_iconfont_71b8ac84' // Source: ../plugins/iconfont (mode: 'client')\n\n// Component: \nVue.component(ClientOnly.name, ClientOnly)\n// TODO: Remove in Nuxt 3: \nVue.component(NoSsr.name, {\n ...NoSsr,\n render(h, ctx) {\n if (process.client && !NoSsr._warned) {\n NoSsr._warned = true\n console.warn(` has been deprecated and will be removed in Nuxt 3, please use instead`)\n }\n return NoSsr.render(h, ctx)\n }\n})\n\n// Component: \nVue.component(NuxtChild.name, NuxtChild)\nVue.component('NChild', NuxtChild)\n\n// Component NuxtLink is imported in server.js or client.js\n\n// Component: `\nVue.component(Nuxt.name, Nuxt)\n\n// vue-meta configuration\nVue.use(Meta, {\n keyName: 'head', // the component option name that vue-meta looks for meta info on.\n attribute: 'data-n-head', // the attribute name vue-meta adds to the tags it observes\n ssrAttribute: 'data-n-head-ssr', // the attribute name that lets vue-meta know that meta info has already been server-rendered\n tagIDKeyName: 'hid' // the property name that vue-meta uses to determine whether to overwrite or append a tag\n})\n\nconst defaultTransition = {\"name\":\"page\",\"mode\":\"out-in\",\"appear\":false,\"appearClass\":\"appear\",\"appearActiveClass\":\"appear-active\",\"appearToClass\":\"appear-to\"}\n\nasync function createApp(ssrContext) {\n const router = await createRouter(ssrContext)\n\n // Create Root instance\n\n // here we inject the router and store to all child components,\n // making them available everywhere as `this.$router` and `this.$store`.\n const app = {\n router,\n\n nuxt: {\n defaultTransition,\n transitions: [ defaultTransition ],\n setTransitions(transitions) {\n if (!Array.isArray(transitions)) {\n transitions = [ transitions ]\n }\n transitions = transitions.map((transition) => {\n if (!transition) {\n transition = defaultTransition\n } else if (typeof transition === 'string') {\n transition = Object.assign({}, defaultTransition, { name: transition })\n } else {\n transition = Object.assign({}, defaultTransition, transition)\n }\n return transition\n })\n this.$options.nuxt.transitions = transitions\n return transitions\n },\n err: null,\n dateErr: null,\n error(err) {\n err = err || null\n app.context._errored = Boolean(err)\n err = err ? normalizeError(err) : null\n const nuxt = this.nuxt || this.$options.nuxt\n nuxt.dateErr = Date.now()\n nuxt.err = err\n // Used in src/server.js\n if (ssrContext) ssrContext.nuxt.error = err\n return err\n }\n },\n ...App\n }\n\n const next = ssrContext ? ssrContext.next : location => app.router.push(location)\n // Resolve route\n let route\n if (ssrContext) {\n route = router.resolve(ssrContext.url).route\n } else {\n const path = getLocation(router.options.base)\n route = router.resolve(path).route\n }\n\n // Set context to app.context\n await setContext(app, {\n route,\n next,\n error: app.nuxt.error.bind(app),\n\n payload: ssrContext ? ssrContext.payload : undefined,\n req: ssrContext ? ssrContext.req : undefined,\n res: ssrContext ? ssrContext.res : undefined,\n beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,\n ssrContext\n })\n\n const inject = function (key, value) {\n if (!key) throw new Error('inject(key, value) has no key provided')\n if (typeof value === 'undefined') throw new Error('inject(key, value) has no value provided')\n key = '$' + key\n // Add into app\n app[key] = value\n\n // Check if plugin not already installed\n const installKey = '__nuxt_' + key + '_installed__'\n if (Vue[installKey]) return\n Vue[installKey] = true\n // Call Vue.use() to install the plugin into vm\n Vue.use(() => {\n if (!Vue.prototype.hasOwnProperty(key)) {\n Object.defineProperty(Vue.prototype, key, {\n get() {\n return this.$root.$options[key]\n }\n })\n }\n })\n }\n\n // Plugin execution\n\n if (process.client && typeof nuxt_plugin_route_338f5eda === 'function') {\n await nuxt_plugin_route_338f5eda(app.context, inject)\n }\n\n if (typeof nuxt_plugin_lazyload_af447860 === 'function') {\n await nuxt_plugin_lazyload_af447860(app.context, inject)\n }\n\n if (typeof nuxt_plugin_cnzz_6a7f1d61 === 'function') {\n await nuxt_plugin_cnzz_6a7f1d61(app.context, inject)\n }\n\n if (typeof nuxt_plugin_icon_6a81acef === 'function') {\n await nuxt_plugin_icon_6a81acef(app.context, inject)\n }\n\n if (typeof nuxt_plugin_rem_5e466164 === 'function') {\n await nuxt_plugin_rem_5e466164(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_iconfont_71b8ac84 === 'function') {\n await nuxt_plugin_iconfont_71b8ac84(app.context, inject)\n }\n\n // If server-side, wait for async component to be resolved first\n if (process.server && ssrContext && ssrContext.url) {\n await new Promise((resolve, reject) => {\n router.push(ssrContext.url, resolve, () => {\n // navigated to a different route in router guard\n const unregister = router.afterEach(async (to, from, next) => {\n ssrContext.url = to.fullPath\n app.context.route = await getRouteData(to)\n app.context.params = to.params || {}\n app.context.query = to.query || {}\n unregister()\n resolve()\n })\n })\n })\n }\n\n return {\n app,\n\n router\n }\n}\n\nexport { createApp, NuxtError }\n","/*!\n * vue-no-ssr v1.1.1\n * (c) 2018-present egoist <0x142857@gmail.com>\n * Released under the MIT License.\n */\n'use strict';\n\nvar index = {\n name: 'NoSsr',\n functional: true,\n props: {\n placeholder: String,\n placeholderTag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h, ref) {\n var parent = ref.parent;\n var slots = ref.slots;\n var props = ref.props;\n\n var ref$1 = slots();\n var defaultSlot = ref$1.default; if ( defaultSlot === void 0 ) defaultSlot = [];\n var placeholderSlot = ref$1.placeholder;\n\n if (parent._isMounted) {\n return defaultSlot\n }\n\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n\n if (props.placeholderTag && (props.placeholder || placeholderSlot)) {\n return h(\n props.placeholderTag,\n {\n class: ['no-ssr-placeholder']\n },\n props.placeholder || placeholderSlot\n )\n }\n\n // Return a placeholder element for each child in the default slot\n // Or if no children return a single placeholder\n return defaultSlot.length > 0 ? defaultSlot.map(function () { return h(false); }) : h(false)\n }\n};\n\nmodule.exports = index;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"error\"},[_c('div',{staticClass:\"banner\"}),_vm._v(\" \"),(_vm.error.statusCode === 404)?[_c('h1',{staticClass:\"title not-found\"},[_vm._v(\"您要打开的页面不存在\")]),_vm._v(\" \"),_vm._m(0)]:[_c('h1',{staticClass:\"title\"},[_vm._v(\"应用服务发生异常\")])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"content\"},[_vm._v(\"\\n 您可能输入了错误的地址或者该页面已经被移走了,您可以\\n \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"//www.wps.cn\"}},[_vm._v(\"返回首页\")]),_vm._v(\",浏览更多内容\\n \")])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./error.vue?vue&type=template&id=489d35bd&scoped=true&\"\nimport script from \"./error.vue?vue&type=script&lang=js&\"\nexport * from \"./error.vue?vue&type=script&lang=js&\"\nimport style0 from \"./error.vue?vue&type=style&index=0&id=489d35bd&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"489d35bd\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\n\nexport default {\n name: 'NuxtLink',\n extends: Vue.component('RouterLink'),\n props: {\n noPrefetch: {\n type: Boolean,\n default: false\n }\n }\n}\n","const middleware = {}\n\nexport default middleware\n","/*!\n * vue-client-only v2.0.0\n * (c) 2019-present egoist <0x142857@gmail.com>\n * Released under the MIT License.\n */\n'use strict';\n\nvar index = {\n name: 'ClientOnly',\n functional: true,\n props: {\n placeholder: String,\n placeholderTag: {\n type: String,\n default: 'div'\n }\n },\n render: function render(h, ref) {\n var parent = ref.parent;\n var slots = ref.slots;\n var props = ref.props;\n\n var ref$1 = slots();\n var defaultSlot = ref$1.default; if ( defaultSlot === void 0 ) defaultSlot = [];\n var placeholderSlot = ref$1.placeholder;\n\n if (parent._isMounted) {\n return defaultSlot\n }\n\n parent.$once('hook:mounted', function () {\n parent.$forceUpdate();\n });\n\n if (props.placeholderTag && (props.placeholder || placeholderSlot)) {\n return h(\n props.placeholderTag,\n {\n class: ['client-only-placeholder']\n },\n props.placeholder || placeholderSlot\n )\n }\n\n // Return a placeholder element for each child in the default slot\n // Or if no children return a single placeholder\n return defaultSlot.length > 0 ? defaultSlot.map(function () { return h(false); }) : h(false)\n }\n};\n\nmodule.exports = index;\n","// eslint-disable-next-line\n!function(n){var c,t='',e=(c=document.getElementsByTagName(\"script\"))[c.length-1].getAttribute(\"data-injectcss\");if(e&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write(\"\")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~[\"complete\",\"loaded\",\"interactive\"].indexOf(document.readyState))setTimeout(c,0);else{var e=function(){document.removeEventListener(\"DOMContentLoaded\",e,!1),c()};document.addEventListener(\"DOMContentLoaded\",e,!1)}else document.attachEvent&&(a=c,l=n.document,o=!1,(i=function(){try{l.documentElement.doScroll(\"left\")}catch(c){return void setTimeout(i,50)}t()})(),l.onreadystatechange=function(){\"complete\"==l.readyState&&(l.onreadystatechange=null,t())});function t(){o||(o=!0,a())}var a,l,o,i}(function(){var c,e;(c=document.createElement(\"div\")).innerHTML=t,t=null,(e=c.getElementsByTagName(\"svg\")[0])&&(e.setAttribute(\"aria-hidden\",\"true\"),e.style.position=\"absolute\",e.style.width=0,e.style.height=0,e.style.overflow=\"hidden\",function(c,e){e.firstChild?function(c,e){e.parentNode.insertBefore(c,e)}(c,e.firstChild):e.appendChild(c)}(e,document.body))})}(window);\n","module.exports = __webpack_public_path__ + \"encs/ep_site/images/02ff190.png\";","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(JSON.parse(s.responseText))},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.mjs.map\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n"],"sourceRoot":""}