| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/parsmega.nuxt/node_modules/.cache/nuxt/dist/server/ |
Upload File : |
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded chunks
/******/ // "0" means "already loaded"
/******/ var installedChunks = {
/******/ 0: 0
/******/ };
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
/******/ var promises = [];
/******/
/******/
/******/ // require() chunk loading for javascript
/******/
/******/ // "0" is the signal for "already loaded"
/******/ if(installedChunks[chunkId] !== 0) {
/******/ var chunk = require("./" + ({"1":"pages/about-us/index","2":"pages/articles/index","3":"pages/articles/post/_slug/index","4":"pages/contact-us/index","5":"pages/index","6":"pages/products/_slug/index","7":"pages/products/category/_slug/index","8":"pages/products/index"}[chunkId]||chunkId) + ".js");
/******/ var moreModules = chunk.modules, chunkIds = chunk.ids;
/******/ for(var moduleId in moreModules) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ for(var i = 0; i < chunkIds.length; i++)
/******/ installedChunks[chunkIds[i]] = 0;
/******/ }
/******/ return Promise.all(promises);
/******/ };
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/_nuxt/";
/******/
/******/ // uncaught error handler for webpack runtime
/******/ __webpack_require__.oe = function(err) {
/******/ process.nextTick(function() {
/******/ throw err; // catch this error by using import().catch()
/******/ });
/******/ };
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 35);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = require("vue");
/***/ }),
/* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent(
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier /* server only */,
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options =
typeof scriptExports === 'function' ? scriptExports.options : scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) {
// server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection(h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/* 2 */
/***/ (function(module, exports) {
module.exports = require("ufo");
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
// eslint-disable-next-line func-names
module.exports = function (useSourceMap) {
var list = []; // return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if (item[2]) {
return "@media ".concat(item[2], " {").concat(content, "}");
}
return content;
}).join('');
}; // import a list of modules into the list
// eslint-disable-next-line func-names
list.i = function (modules, mediaQuery, dedupe) {
if (typeof modules === 'string') {
// eslint-disable-next-line no-param-reassign
modules = [[null, modules, '']];
}
var alreadyImportedModules = {};
if (dedupe) {
for (var i = 0; i < this.length; i++) {
// eslint-disable-next-line prefer-destructuring
var id = this[i][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
}
for (var _i = 0; _i < modules.length; _i++) {
var item = [].concat(modules[_i]);
if (dedupe && alreadyImportedModules[item[0]]) {
// eslint-disable-next-line no-continue
continue;
}
if (mediaQuery) {
if (!item[2]) {
item[2] = mediaQuery;
} else {
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
}
}
list.push(item);
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
} // Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
return "/*# ".concat(data, " */");
}
/***/ }),
/* 4 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesServer; });
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js
/**
* Translates the list format produced by css-loader into something
* easier to manipulate.
*/
function listToStyles (parentId, list) {
var styles = []
var newStyles = {}
for (var i = 0; i < list.length; i++) {
var item = list[i]
var id = item[0]
var css = item[1]
var media = item[2]
var sourceMap = item[3]
var part = {
id: parentId + ':' + i,
css: css,
media: media,
sourceMap: sourceMap
}
if (!newStyles[id]) {
styles.push(newStyles[id] = { id: id, parts: [part] })
} else {
newStyles[id].parts.push(part)
}
}
return styles
}
// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesServer.js
function addStylesServer (parentId, list, isProduction, context) {
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
if (context) {
if (!context.hasOwnProperty('styles')) {
Object.defineProperty(context, 'styles', {
enumerable: true,
get: function() {
return renderStyles(context._styles)
}
})
// expose renderStyles for vue-server-renderer (vuejs/#6353)
context._renderStyles = renderStyles
}
var styles = context._styles || (context._styles = {})
list = listToStyles(parentId, list)
if (isProduction) {
addStyleProd(styles, list)
} else {
addStyleDev(styles, list)
}
}
}
// In production, render as few style tags as possible.
// (mostly because IE9 has a limit on number of style tags)
function addStyleProd (styles, list) {
for (var i = 0; i < list.length; i++) {
var parts = list[i].parts
for (var j = 0; j < parts.length; j++) {
var part = parts[j]
// group style tags by media types.
var id = part.media || 'default'
var style = styles[id]
if (style) {
if (style.ids.indexOf(part.id) < 0) {
style.ids.push(part.id)
style.css += '\n' + part.css
}
} else {
styles[id] = {
ids: [part.id],
css: part.css,
media: part.media
}
}
}
}
}
// In dev we use individual style tag for each module for hot-reload
// and source maps.
function addStyleDev (styles, list) {
for (var i = 0; i < list.length; i++) {
var parts = list[i].parts
for (var j = 0; j < parts.length; j++) {
var part = parts[j]
styles[part.id] = {
ids: [part.id],
css: part.css,
media: part.media
}
}
}
}
function renderStyles (styles) {
var css = ''
for (var key in styles) {
var style = styles[key]
css += '<style data-vue-ssr-id="' + style.ids.join(' ') + '"' +
(style.media ? ( ' media="' + style.media + '"' ) : '') + '>' +
style.css + '</style>'
}
return css
}
/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(URLSearchParams) {
Object.defineProperty(exports, '__esModule', { value: true });
const n = /[^\0-\x7E]/;
const t = /[\x2E\u3002\uFF0E\uFF61]/g;
const o = { overflow: "Overflow Error", "not-basic": "Illegal Input", "invalid-input": "Invalid Input" };
const e = Math.floor;
const r = String.fromCharCode;
function s(n2) {
throw new RangeError(o[n2]);
}
const c = function(n2, t2) {
return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5);
};
const u = function(n2, t2, o2) {
let r2 = 0;
for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) {
n2 = e(n2 / 35);
}
return e(r2 + 36 * n2 / (n2 + 38));
};
function toASCII(o2) {
return function(n2, o3) {
const e2 = n2.split("@");
let r2 = "";
e2.length > 1 && (r2 = e2[0] + "@", n2 = e2[1]);
const s2 = function(n3, t2) {
const o4 = [];
let e3 = n3.length;
for (; e3--; ) {
o4[e3] = t2(n3[e3]);
}
return o4;
}((n2 = n2.replace(t, ".")).split("."), o3).join(".");
return r2 + s2;
}(o2, function(t2) {
return n.test(t2) ? "xn--" + function(n2) {
const t3 = [];
const o3 = (n2 = function(n3) {
const t4 = [];
let o4 = 0;
const e2 = n3.length;
for (; o4 < e2; ) {
const r2 = n3.charCodeAt(o4++);
if (r2 >= 55296 && r2 <= 56319 && o4 < e2) {
const e3 = n3.charCodeAt(o4++);
(64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--);
} else {
t4.push(r2);
}
}
return t4;
}(n2)).length;
let f = 128;
let i = 0;
let l = 72;
for (const o4 of n2) {
o4 < 128 && t3.push(r(o4));
}
const h = t3.length;
let p = h;
for (h && t3.push("-"); p < o3; ) {
let o4 = 2147483647;
for (const t4 of n2) {
t4 >= f && t4 < o4 && (o4 = t4);
}
const a = p + 1;
o4 - f > e((2147483647 - i) / a) && s("overflow"), i += (o4 - f) * a, f = o4;
for (const o5 of n2) {
if (o5 < f && ++i > 2147483647 && s("overflow"), o5 == f) {
let n3 = i;
for (let o6 = 36; ; o6 += 36) {
const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l;
if (n3 < s2) {
break;
}
const u2 = n3 - s2;
const f2 = 36 - s2;
t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2);
}
t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p;
}
}
++i, ++f;
}
return t3.join("");
}(t2) : t2;
});
}
const HASH_RE = /#/g;
const AMPERSAND_RE = /&/g;
const SLASH_RE = /\//g;
const EQUAL_RE = /=/g;
const IM_RE = /\?/g;
const PLUS_RE = /\+/g;
const ENC_BRACKET_OPEN_RE = /%5B/gi;
const ENC_BRACKET_CLOSE_RE = /%5D/gi;
const ENC_CARET_RE = /%5E/gi;
const ENC_BACKTICK_RE = /%60/gi;
const ENC_CURLY_OPEN_RE = /%7B/gi;
const ENC_PIPE_RE = /%7C/gi;
const ENC_CURLY_CLOSE_RE = /%7D/gi;
const ENC_SPACE_RE = /%20/gi;
const ENC_SLASH_RE = /%2F/gi;
const ENC_ENC_SLASH_RE = /%252F/gi;
function encode(text) {
return encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]");
}
function encodeHash(text) {
return encode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
}
function encodeQueryValue(text) {
return encode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
}
function encodeQueryKey(text) {
return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
}
function encodePath(text) {
return encode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F").replace(ENC_ENC_SLASH_RE, "%2F").replace(AMPERSAND_RE, "%26").replace(PLUS_RE, "%2B");
}
function encodeParam(text) {
return encodePath(text).replace(SLASH_RE, "%2F");
}
function decode(text = "") {
try {
return decodeURIComponent("" + text);
} catch (_err) {
return "" + text;
}
}
function decodePath(text) {
return decode(text.replace(ENC_SLASH_RE, "%252F"));
}
function decodeQueryValue(text) {
return decode(text.replace(PLUS_RE, " "));
}
function encodeHost(name = "") {
return toASCII(name);
}
function parseQuery(paramsStr = "") {
const obj = {};
if (paramsStr[0] === "?") {
paramsStr = paramsStr.substr(1);
}
for (const param of paramsStr.split("&")) {
const s = param.match(/([^=]+)=?(.*)/) || [];
if (s.length < 2) {
continue;
}
const key = decode(s[1]);
if (key === "__proto__" || key === "constructor") {
continue;
}
const value = decodeQueryValue(s[2] || "");
if (obj[key]) {
if (Array.isArray(obj[key])) {
obj[key].push(value);
} else {
obj[key] = [obj[key], value];
}
} else {
obj[key] = value;
}
}
return obj;
}
function encodeQueryItem(key, val) {
if (!val) {
return encodeQueryKey(key);
}
if (Array.isArray(val)) {
return val.map((_val) => `${encodeQueryKey(key)}=${encodeQueryValue(_val)}`).join("&");
}
return `${encodeQueryKey(key)}=${encodeQueryValue(val)}`;
}
function stringifyQuery(query) {
return Object.keys(query).map((k) => encodeQueryItem(k, query[k])).join("&");
}
class $URL {
constructor(input = "") {
this.query = {};
if (typeof input !== "string") {
throw new TypeError(`URL input should be string received ${typeof input} (${input})`);
}
const parsed = parseURL(input);
this.protocol = decode(parsed.protocol);
this.host = decode(parsed.host);
this.auth = decode(parsed.auth);
this.pathname = decodePath(parsed.pathname);
this.query = parseQuery(parsed.search);
this.hash = decode(parsed.hash);
}
get hostname() {
return parseHost(this.host).hostname;
}
get port() {
return parseHost(this.host).port || "";
}
get username() {
return parseAuth(this.auth).username;
}
get password() {
return parseAuth(this.auth).password || "";
}
get hasProtocol() {
return this.protocol.length;
}
get isAbsolute() {
return this.hasProtocol || this.pathname[0] === "/";
}
get search() {
const q = stringifyQuery(this.query);
return q.length ? "?" + q : "";
}
get searchParams() {
const p = new URLSearchParams();
for (const name in this.query) {
const value = this.query[name];
if (Array.isArray(value)) {
value.forEach((v) => p.append(name, v));
} else {
p.append(name, value || "");
}
}
return p;
}
get origin() {
return (this.protocol ? this.protocol + "//" : "") + encodeHost(this.host);
}
get fullpath() {
return encodePath(this.pathname) + this.search + encodeHash(this.hash);
}
get encodedAuth() {
if (!this.auth) {
return "";
}
const { username, password } = parseAuth(this.auth);
return encodeURIComponent(username) + (password ? ":" + encodeURIComponent(password) : "");
}
get href() {
const auth = this.encodedAuth;
const originWithAuth = (this.protocol ? this.protocol + "//" : "") + (auth ? auth + "@" : "") + encodeHost(this.host);
return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath;
}
append(url) {
if (url.hasProtocol) {
throw new Error("Cannot append a URL with protocol");
}
Object.assign(this.query, url.query);
if (url.pathname) {
this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname);
}
if (url.hash) {
this.hash = url.hash;
}
}
toJSON() {
return this.href;
}
toString() {
return this.href;
}
}
function isRelative(inputStr) {
return ["./", "../"].some((str) => inputStr.startsWith(str));
}
function hasProtocol(inputStr, acceptProtocolRelative = false) {
return /^\w+:\/\/.+/.test(inputStr) || acceptProtocolRelative && /^\/\/[^/]+/.test(inputStr);
}
const TRAILING_SLASH_RE = /\/$|\/\?/;
function hasTrailingSlash(input = "", queryParams = false) {
if (!queryParams) {
return input.endsWith("/");
}
return TRAILING_SLASH_RE.test(input);
}
function withoutTrailingSlash(input = "", queryParams = false) {
if (!queryParams) {
return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
}
if (!hasTrailingSlash(input, true)) {
return input || "/";
}
const [s0, ...s] = input.split("?");
return (s0.slice(0, -1) || "/") + (s.length ? `?${s.join("?")}` : "");
}
function withTrailingSlash(input = "", queryParams = false) {
if (!queryParams) {
return input.endsWith("/") ? input : input + "/";
}
if (hasTrailingSlash(input, true)) {
return input || "/";
}
const [s0, ...s] = input.split("?");
return s0 + "/" + (s.length ? `?${s.join("?")}` : "");
}
function hasLeadingSlash(input = "") {
return input.startsWith("/");
}
function withoutLeadingSlash(input = "") {
return (hasLeadingSlash(input) ? input.substr(1) : input) || "/";
}
function withLeadingSlash(input = "") {
return hasLeadingSlash(input) ? input : "/" + input;
}
function cleanDoubleSlashes(input = "") {
return input.split("://").map((str) => str.replace(/\/{2,}/g, "/")).join("://");
}
function withBase(input, base) {
if (isEmptyURL(base)) {
return input;
}
const _base = withoutTrailingSlash(base);
if (input.startsWith(_base)) {
return input;
}
return joinURL(_base, input);
}
function withoutBase(input, base) {
if (isEmptyURL(base)) {
return input;
}
const _base = withoutTrailingSlash(base);
if (input.startsWith(_base)) {
return input.substr(_base.length) || "/";
}
return input;
}
function withQuery(input, query) {
const parsed = parseURL(input);
const mergedQuery = { ...parseQuery(parsed.search), ...query };
parsed.search = stringifyQuery(mergedQuery);
return stringifyParsedURL(parsed);
}
function getQuery(input) {
return parseQuery(parseURL(input).search);
}
function isEmptyURL(url) {
return !url || url === "/";
}
function isNonEmptyURL(url) {
return url && url !== "/";
}
function joinURL(base, ...input) {
let url = base || "";
for (const i of input.filter(isNonEmptyURL)) {
url = url ? withTrailingSlash(url) + withoutLeadingSlash(i) : i;
}
return url;
}
function createURL(input) {
return new $URL(input);
}
function normalizeURL(input) {
return createURL(input).toString();
}
function resolveURL(base, ...input) {
const url = createURL(base);
for (const i of input.filter(isNonEmptyURL)) {
url.append(createURL(i));
}
return url.toString();
}
function isSamePath(p1, p2) {
return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2));
}
function parseURL(input = "", defaultProto) {
if (!hasProtocol(input, true)) {
return defaultProto ? parseURL(defaultProto + input) : parsePath(input);
}
const [protocol = "", auth, hostAndPath] = (input.replace(/\\/g, "/").match(/([^:/]+:)?\/\/([^/@]+@)?(.*)/) || []).splice(1);
const [host = "", path = ""] = (hostAndPath.match(/([^/?#]*)(.*)?/) || []).splice(1);
const { pathname, search, hash } = parsePath(path);
return {
protocol,
auth: auth ? auth.substr(0, auth.length - 1) : "",
host,
pathname,
search,
hash
};
}
function parsePath(input = "") {
const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1);
return {
pathname,
search,
hash
};
}
function parseAuth(input = "") {
const [username, password] = input.split(":");
return {
username: decode(username),
password: decode(password)
};
}
function parseHost(input = "") {
const [hostname, port] = (input.match(/([^/]*)(:0-9+)?/) || []).splice(1);
return {
hostname: decode(hostname),
port
};
}
function stringifyParsedURL(parsed) {
const fullpath = parsed.pathname + (parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : "") + parsed.hash;
if (!parsed.protocol) {
return fullpath;
}
return parsed.protocol + "//" + (parsed.auth ? parsed.auth + "@" : "") + parsed.host + fullpath;
}
exports.$URL = $URL;
exports.cleanDoubleSlashes = cleanDoubleSlashes;
exports.createURL = createURL;
exports.decode = decode;
exports.decodePath = decodePath;
exports.decodeQueryValue = decodeQueryValue;
exports.encode = encode;
exports.encodeHash = encodeHash;
exports.encodeHost = encodeHost;
exports.encodeParam = encodeParam;
exports.encodePath = encodePath;
exports.encodeQueryItem = encodeQueryItem;
exports.encodeQueryKey = encodeQueryKey;
exports.encodeQueryValue = encodeQueryValue;
exports.getQuery = getQuery;
exports.hasLeadingSlash = hasLeadingSlash;
exports.hasProtocol = hasProtocol;
exports.hasTrailingSlash = hasTrailingSlash;
exports.isEmptyURL = isEmptyURL;
exports.isNonEmptyURL = isNonEmptyURL;
exports.isRelative = isRelative;
exports.isSamePath = isSamePath;
exports.joinURL = joinURL;
exports.normalizeURL = normalizeURL;
exports.parseAuth = parseAuth;
exports.parseHost = parseHost;
exports.parsePath = parsePath;
exports.parseQuery = parseQuery;
exports.parseURL = parseURL;
exports.resolveURL = resolveURL;
exports.stringifyParsedURL = stringifyParsedURL;
exports.stringifyQuery = stringifyQuery;
exports.withBase = withBase;
exports.withLeadingSlash = withLeadingSlash;
exports.withQuery = withQuery;
exports.withTrailingSlash = withTrailingSlash;
exports.withoutBase = withoutBase;
exports.withoutLeadingSlash = withoutLeadingSlash;
exports.withoutTrailingSlash = withoutTrailingSlash;
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(67)["URLSearchParams"]))
/***/ }),
/* 6 */
/***/ (function(module, exports) {
module.exports = require("vuex");
/***/ }),
/* 7 */
/***/ (function(module, exports) {
module.exports = require("vue-meta");
/***/ }),
/* 8 */
/***/ (function(module, exports) {
module.exports = require("axios");
/***/ }),
/* 9 */
/***/ (function(module, exports) {
module.exports = require("vue-no-ssr");
/***/ }),
/* 10 */
/***/ (function(module, exports) {
module.exports = require("vue-client-only");
/***/ }),
/* 11 */
/***/ (function(module, exports) {
module.exports = require("vue-router");
/***/ }),
/* 12 */
/***/ (function(module, exports) {
module.exports = require("cookie");
/***/ }),
/* 13 */
/***/ (function(module, exports) {
module.exports = require("vue-i18n");
/***/ }),
/* 14 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addComment; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getBlogSlider; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getArticle; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getArticles; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getCategory; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getComments; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getCustomers; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getFooterLinks; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return getProduct; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return getProducts; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return getProductsByCategoryId; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return getSimilarProducts; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return getSlides; });
const faBaseUrl = "https://panel.parsmega.com/index.php/wp-json/wp/v2/";
const enBaseUrl = "https://enpanel.parsmega.com/index.php/wp-json/wp/v2/";
function getBaseUrlForLocale(local) {
return local == "fa" ? faBaseUrl : enBaseUrl;
}
function apiValidator(response) {
if (!response && !response.data) {
return {
isValid: false,
result: null
};
}
return {
isValid: parseInt(response.status) < 300,
result: response.data || null
};
}
function mapArticle(article) {
return {
id: article.id,
slug: article.slug,
title: article.title.rendered,
content: article.acf.content,
image: article.acf.image,
canonicalAdress: article.acf.canonical_address,
summary: article.acf.summary,
seoDescription: article.acf.seo_description,
link: `/articles/post/${article.slug}`,
publishDate: article.date_gmt,
seoJsonLd: article.acf.structured_data || null
};
}
function mapCategory(category) {
return {
id: category.id,
slug: category.slug,
parent: category.parent,
image: category.acf.banner,
content: category.acf.content,
seoDescription: category.acf.seo_description,
title: category.acf.browser_tab_title,
seoJsonLd: category.acf.structured_data || null
};
}
function mapProduct(product) {
let images = [];
if (product.acf.gallery_image_1) images.push(product.acf.gallery_image_1);
if (product.acf.gallery_image_2) images.push(product.acf.gallery_image_2);
if (product.acf.gallery_image_3) images.push(product.acf.gallery_image_3);
if (product.acf.gallery_image_4) images.push(product.acf.gallery_image_4);
let files = [];
if (product.acf.manual_file1 && product.acf.manual_file1.manual_file_adress) {
files.push({
name: product.acf.manual_file1.manual_file_name,
url: product.acf.manual_file1.manual_file_adress
});
}
if (product.acf.manual_file2 && product.acf.manual_file2.manual_file_adress) {
files.push({
name: product.acf.manual_file2.manual_file_name,
url: product.acf.manual_file2.manual_file_adress
});
}
if (product.acf.manual_file3 && product.acf.manual_file3.manual_file_adress) {
files.push({
name: product.acf.manual_file3.manual_file_name,
url: product.acf.manual_file3.manual_file_adress
});
}
if (product.acf.manual_file4 && product.acf.manual_file4.manual_file_adress) {
files.push({
name: product.acf.manual_file4.manual_file_name,
url: product.acf.manual_file4.manual_file_adress
});
}
let videos = [];
if (product.acf.videos_000_video_link_1) videos.push(product.acf.videos_000_video_link_1);
if (product.acf.videos_001_video_link_2) videos.push(product.acf.videos_001_video_link_2);
if (product.acf.videos_002_video_link_3) videos.push(product.acf.videos_002_video_link_3);
if (product.acf.videos_003_video_link_4) videos.push(product.acf.videos_003_video_link_4);
if (product.acf.videos_004_video_link_5) videos.push(product.acf.videos_004_video_link_5);
if (product.acf.videos_005_video_link_6) videos.push(product.acf.videos_005_video_link_6);
if (product.acf.videos_006_video_link_7) videos.push(product.acf.videos_006_video_link_7);
if (product.acf.videos_007_video_link_8) videos.push(product.acf.videos_007_video_link_8);
if (product.acf.videos_008_video_link_9) videos.push(product.acf.videos_008_video_link_9);
if (product.acf.videos_009_video_link_10) videos.push(product.acf.videos_009_video_link_10);
return {
acf: product.acf,
categories: product.categories || [],
id: product.id,
title: product.title.rendered,
slug: product.slug,
summary: product.acf.summary,
canonicalAdress: product.acf.canonical_address,
hasGuarantee: product.acf.has_guarantee,
guaranteeValue: product.acf.guarantee_value,
images: images,
files: files,
price: product.acf.product_price,
purchaseLink: product.acf.purchase_link,
seoDescription: product.acf.seo_description,
sourcePageAddress: product.acf.source_page_address,
description: product.acf.description,
videos: videos,
link: `/products/${product.slug}`,
seoJsonLd: product.acf.structured_data || null,
order: {
homePage: product.acf.home_page_order || 100000,
productsPage: product.acf.main_category_order || 100000,
categoryPage: product.acf.products_page_order || 100000
}
};
}
function addComment(connector, local, name, email, content, postId) {
console.log("local addComment", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}/comments?author_name=${name}&author_email=${email}&content=${content}&post=${postId}`;
return connector.post(url);
}
async function getBlogSlider(connector, local) {
const sliderCategory = 8;
console.log("local getBlogSlider", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}articles?_embed&categories=${sliderCategory}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (!isValid) return null;
let articles = result.map(mapArticle);
return articles.length > 0 ? articles[0] : null;
} catch (e) {
return null;
}
}
async function getArticle(connector, local, slug) {
console.log("local getArticle", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}articles?_embed&filter[name]=${slug}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (!isValid) return null;
let articles = result.map(mapArticle);
return articles.length > 0 ? articles[0] : null;
} catch (e) {
return null;
}
}
async function getArticles(connector, local, articleCount = 1, page = 1) {
console.log("local getArticles", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}articles?status=publish&per_page=${articleCount}&page=${page}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(mapArticle);
return [];
} catch (e) {
return [];
}
}
async function getCategory(connector, local, slug) {
console.log("local getCategory", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}categories?slug=${slug}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (!isValid) return null;
return result.map(mapCategory)[0];
} catch (e) {
return null;
}
}
async function getComments(connector, local, postId) {
console.log("local getComments", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}/comments?per_page=50&post=${postId}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (!isValid) return [];
return result.map(comment => {
return {
id: comment.id,
authorName: comment.author_name,
parent: comment.parent,
date: comment.date_gmt,
content: comment.content.rendered
};
});
} catch (e) {
return [];
}
}
async function getCustomers(connector, local, customerCount = 1, page = 1) {
console.log("local getCustomers", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}customers?status=publish&per_page=${customerCount}&page=${page}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(slide => {
return {
id: slide.id,
name: slide.acf.customer_name,
link: slide.acf.customer_link,
logo: slide.acf.customer_logo
};
});
return [];
} catch (e) {
return [];
}
}
async function getFooterLinks(connector, local) {
console.log("local getFooterLinks", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}footerlinks?status=publish&per_page=100&page=1`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(item => {
return {
id: item.id,
showName: item.acf.showname,
order: item.acf.order_in_column,
column: item.acf.column_number,
linkUrl: item.acf.link_url,
isExternal: item.acf.is_external_link == "true"
};
});
return [];
} catch (e) {
return [];
}
}
async function getProduct(connector, local, slug) {
console.log("local getProduct", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}products?_embed&filter[name]=${slug}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (!isValid) return null;
return result.map(mapProduct)[0];
} catch (e) {
return null;
}
}
async function getProducts(connector, local, productCount = 1, page = 1) {
console.log("local getProducts", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}products?status=publish&per_page=${productCount}&page=${page}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(mapProduct);
return [];
} catch (e) {
return [];
}
}
async function getProductsByCategoryId(connector, local, categoryId, productCount = 100, page = 1) {
console.log("local getProductsByCategoryId", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}products?status=publish&categories=${categoryId}&per_page=${productCount}&page=${page}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(mapProduct);
return [];
} catch (e) {
return [];
}
}
async function getSimilarProducts(connector, local, productCount = 4, categoryId) {
console.log("local getSimilarProducts", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}products?status=publish&per_page=${productCount}&categories=${categoryId}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(mapProduct);
return [];
} catch (e) {
return [];
}
}
async function getSlides(connector, local, slideCount = 1, page = 1) {
console.log("local getSlides", local);
const baseUrl = getBaseUrlForLocale(local);
const url = `${baseUrl}slides?status=publish&per_page=${slideCount}&page=${page}`;
try {
const apiResult = await connector.get(url);
const {
isValid,
result
} = apiValidator(apiResult);
if (isValid) return result.map(slide => {
return {
id: slide.id,
title: slide.acf.slide_title,
description: slide.acf.slide_description,
link: slide.acf.slide_link,
image: slide.acf.slide_image
};
});
return [];
} catch (e) {
return [];
}
}
/***/ }),
/* 15 */
/***/ (function(module, exports) {
module.exports = require("vue-lazy-hydration");
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(39);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("437f22e0", content, true, context)
};
/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(41);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("339a7c13", content, true, context)
};
/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(43);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("84ee9680", content, true, context)
};
/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(45);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("85fb410c", content, true, context)
};
/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(47);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("b4f63620", content, true, context)
};
/***/ }),
/* 21 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(49);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("29db2d29", content, true, context)
};
/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(51);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("55f6db62", content, true, context)
};
/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(54);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("4f719460", content, true, context)
};
/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(56);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("339d3072", content, true, context)
};
/***/ }),
/* 25 */
/***/ (function(module) {
module.exports = JSON.parse("{\"telegramLink\":\"https://t.me/ParsMega\",\"twitterLink\":\"https://twitter.com/parsmega_com\",\"instagramLink\":\"https://www.instagram.com/parsmega\",\"customerCount\":\"340\",\"productsCount\":\"23\",\"selledProductsCount\":\"5000\",\"mainMenuItems\":[{\"name\":\"Home Page\",\"showName\":\"home\",\"url\":\"/\",\"parent\":null,\"order\":1,\"visible\":true},{\"name\":\"Products\",\"showName\":\"products\",\"url\":\"/products\",\"parent\":null,\"order\":10,\"visible\":true},{\"name\":\"Weight\",\"showName\":\"weight\",\"url\":\"/products/category/weight\",\"parent\":\"Products\",\"order\":11,\"visible\":true},{\"name\":\"Temperature & Humidity\",\"showName\":\"temperature-humidity\",\"url\":\"/products/category/temperature-humidity\",\"parent\":\"Products\",\"order\":12,\"visible\":false},{\"name\":\"Counter & Timer\",\"showName\":\"counter-timer\",\"url\":\"/products/category/counter-timer\",\"parent\":\"Products\",\"order\":13,\"visible\":false},{\"name\":\"analog converter\",\"showName\":\"analog-converter\",\"url\":\"/products/category/analog-converter\",\"parent\":\"Products\",\"order\":14,\"visible\":true},{\"name\":\"Serial Converter\",\"showName\":\"serial-converter\",\"url\":\"/products/category/serial-converter\",\"parent\":\"Products\",\"order\":15,\"visible\":true},{\"name\":\"IO Development Module\",\"showName\":\"io-development-module\",\"url\":\"/products/category/io-development-module\",\"parent\":\"Products\",\"order\":16,\"visible\":true},{\"name\":\"blog\",\"showName\":\"articles\",\"url\":\"/articles\",\"parent\":null,\"order\":30,\"visible\":true},{\"name\":\"Contact Us\",\"showName\":\"contact-us\",\"url\":\"/contact-us\",\"parent\":null,\"order\":50,\"visible\":true},{\"name\":\"About Us\",\"showName\":\"about-us\",\"url\":\"/about-us\",\"parent\":null,\"order\":60,\"visible\":true}],\"homeProperties\":[{\"icon\":\"icon-guarantee\",\"title\":\"guarantee\",\"description\":\"18-month warranty for return of products\"},{\"icon\":\"icon-support\",\"title\":\"support\",\"description\":\"support during business hours\"},{\"icon\":\"icon-local_shipping\",\"title\":\"immediate sending\",\"description\":\"send immediately after ordering products\",\"visible\":true}],\"map\":\"https://www.google.com/maps/d/u/0/embed?mid=zJGPNW41fQcI.k2bljognXxaI\"}");
/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(58);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("08e6ec88", content, true, context)
};
/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(60);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("49459634", content, true, context)
};
/***/ }),
/* 28 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(62);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("731ba4e7", content, true, context)
};
/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(64);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(4).default
module.exports.__inject__ = function (context) {
add("efbe4050", content, true, context)
};
/***/ }),
/* 30 */
/***/ (function(module, exports) {
// This file is intentionally left empty for noop aliases
/***/ }),
/* 31 */
/***/ (function(module, exports) {
module.exports = require("node-fetch");
/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
function isHTTPS(req, trustProxy = true) {
const _xForwardedProto = trustProxy && req.headers ? req.headers["x-forwarded-proto"] : void 0;
const protoCheck = typeof _xForwardedProto === "string" ? _xForwardedProto.includes("https") : void 0;
if (protoCheck) {
return true;
}
const _encrypted = req.connection ? req.connection.encrypted : void 0;
const encryptedCheck = _encrypted !== void 0 ? _encrypted === true : void 0;
if (encryptedCheck) {
return true;
}
if (protoCheck === void 0 && encryptedCheck === void 0) {
return void 0;
}
return false;
}
module.exports = isHTTPS;
/***/ }),
/* 33 */
/***/ (function(module, exports) {
module.exports = require("defu");
/***/ }),
/* 34 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFilterDataByCategorySlug", function() { return getFilterDataByCategorySlug; });
const analogConvertorFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "converter type",
key: "technical__008_converter_type",
inputType: "checkbox",
values: ["Analog to digital", "Digital to analog", "Isolator signal", "Signal converter"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC", "no power supply"],
selectedValues: []
}]
}, {
sectionTitle: "Display Properties",
items: [{
title: "display",
key: "display__000_display",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Analog Input Properties",
items: [{
title: "analog input",
key: "analog_input__000_analog_input",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "analog input type",
key: "analog_input__002_analog_input_type",
inputType: "radio",
values: ["0-10V; 0-5V; 0-20mA; 4-20mA", "0/4-20 mA; 0-5/10 V; ±5/10 V", "±0-20 mA; 0/4-20 mA; 0-5/10 V; ±5/10 V"],
selectedValues: []
}]
}, {
sectionTitle: "Analog Output Properties",
items: [{
title: "analog output",
key: "analog_output__000_analog_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "analog output type",
key: "analog_output__003_analog_output_type",
inputType: "checkbox",
values: ["0-10V; 0-5V; 0-20mA; 4-20mA", "0/4-20 mA; 0-5/10 V; ±5/10 V"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}];
const counterTimerFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "controller type",
key: "technical__012_controller_type",
inputType: "checkbox",
values: ["timer", "counter", "telemeter"],
selectedValues: []
}, {
title: "controller input type",
key: "technical__013_controller_input_type",
inputType: "checkbox",
values: ["Encoder", "NPN", "PNP"],
selectedValues: []
}]
}, {
sectionTitle: "inputOutputFilter",
items: [{
title: "analog output",
key: "analog_output__000_analog_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "analog output type",
key: "analog_output__003_analog_output_type",
inputType: "radio",
values: ["0-10V; 0-5V; 0-20mA; 4-20mA", "0/4-20 mA; 0-5/10 V; ±5/10 V"],
selectedValues: []
}]
}, {
sectionTitle: "connectionFilter",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "serial port type",
key: "serial__002_serial_port_type",
inputType: "radio",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}, {
sectionTitle: "otherFilter",
items: [{
title: "display",
key: "display__000_display",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC"],
selectedValues: []
}, {
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}];
const ioDevelopmentFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "number of digital outputs",
key: "technical__010_number_of_digital_outputs",
inputType: "checkbox",
values: ["4", "8", "12", "16"],
selectedValues: []
}, {
title: "number of digital inputs",
key: "technical__011_number_of_digital_inputs",
inputType: "checkbox",
values: ["4", "8", "12", "16"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Input Properties",
items: [{
title: "digital input",
key: "digital_input__000_digital_input",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Output Properties",
items: [{
title: "digital output",
key: "digital_output__000_digital_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}];
const productsPageFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "controller type",
key: "technical__012_controller_type",
inputType: "checkbox",
values: ["timer", "counter", "telemeter", "USB to RS232", "USB to RS485", "RS485 to FIELDBUS", "RS232 to FIELDBUS", "RS232 to RS485"],
selectedValues: []
}, {
title: "controller input type",
key: "technical__013_controller_input_type",
inputType: "checkbox",
values: ["Encoder", "NPN", "PNP"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC", "no power supply"],
selectedValues: []
}, {
title: "battery",
key: "electrical__002_battery",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Input Properties",
items: [{
title: "digital input",
key: "digital_input__000_digital_input",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Output Properties",
items: [{
title: "digital output",
key: "digital_output__000_digital_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}, {
sectionTitle: "Display Properties",
items: [{
title: "display",
key: "display__000_display",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}];
const serialConvertorFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "converter type",
key: "technical__008_converter_type",
inputType: "checkbox",
values: ["USB to RS232", "USB to RS485", "RS485 to FIELDBUS", "RS232 to FIELDBUS", "RS232 to RS485"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC", "no power supply"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}, {
sectionTitle: "Fieldbus Properties",
items: [{
title: "fieldbus port type",
key: "fieldbus__002_fieldbus_port_type",
inputType: "checkbox",
values: ["CANopen", "CC-LINK", "DeviceNet", "EtherCAT", "Ethernet/IP", "Ethernet TCP/IP", "Modbus/TCP", "POWERLINK", "Profibus DP", "Profinet IO"],
selectedValues: []
}]
}];
const temperatureHumidityFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "controller type",
key: "technical__012_controller_type",
inputType: "checkbox",
values: ["temperature", "humidity"],
selectedValues: []
}, {
title: "controller input type",
key: "technical__013_controller_input_type",
inputType: "checkbox",
values: ["RTD", "thermocouple k", "thermocouple j", "0-10V", "0/4-20mA"],
selectedValues: []
}, {
title: "control method",
key: "technical__014_control_method",
inputType: "checkbox",
values: ["pid", "on/off"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC"],
selectedValues: []
}]
}, {
sectionTitle: "Display Properties",
items: [{
title: "display",
key: "display__000_display",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Analog Output Properties",
items: [{
title: "analog output",
key: "analog_output__000_analog_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "analog output type",
key: "analog_output__003_analog_output_type",
inputType: "radio",
values: ["0-10V; 0-5V; 0-20mA; 4-20mA", "0/4-20 mA; 0-5/10 V; ±5/10 V"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}];
const weighingFilterData = [{
sectionTitle: "technicalFilter",
items: [{
title: "load cells supply",
key: "technical__001_load_cells_supply",
inputType: "checkbox",
values: ["5 VDC", "10 VDC"],
selectedValues: []
}, {
title: "a/d_converter",
key: "technical__003_a/d_converter",
inputType: "checkbox",
values: ["24bit", "20bit", "16bit"],
selectedValues: []
}]
}, {
sectionTitle: "Electrical Properties",
items: [{
title: "power supply",
key: "electrical__000_power_supply",
inputType: "checkbox",
values: ["12 VDC", "24 VDC", "230 VAC", "no power supply"],
selectedValues: []
}]
}, {
sectionTitle: "Display Properties",
items: [{
title: "display",
key: "display__000_display",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Physical Properties",
items: [{
title: "installation type",
key: "physical__003_installation_type",
inputType: "checkbox",
values: ["Din Rail", "Panel", "walled", "desktop"],
selectedValues: []
}]
}, {
sectionTitle: "Analog Output Properties",
items: [{
title: "analog output",
key: "analog_output__000_analog_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}, {
title: "analog output type",
key: "analog_output__003_analog_output_type",
inputType: "checkbox",
values: ["0-10V; 0-5V; 0-20mA; 4-20mA", "0/4-20 mA; 0-5/10 V; ±5/10 V"],
selectedValues: []
}, {
title: "isolation",
key: "analog_output__005_isolation",
inputType: "checkbox",
values: ["isolated", "non-isolated"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Input Properties",
items: [{
title: "digital input",
key: "digital_input__000_digital_input",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Digital Output Properties",
items: [{
title: "digital output",
key: "digital_output__000_digital_output",
inputType: "radio",
values: ["true", "false"],
selectedValues: []
}]
}, {
sectionTitle: "Serial Communication Properties",
items: [{
title: "serial communication",
key: "serial__000_serial_communication",
inputType: "radio",
values: ["true", "false"],
selectedValues: null
}, {
title: "port type",
key: "serial__002_serial_port_type",
inputType: "checkbox",
values: ["RS485", "RS232", "RS422"],
selectedValues: []
}]
}];
function getFilterDataByCategorySlug(slug) {
if (slug === "counter-timer") return counterTimerFilterData;
if (slug === "analog-converter") return analogConvertorFilterData;
if (slug === "serial-converter") return serialConvertorFilterData;
if (slug === "temperature-humidity") return temperatureHumidityFilterData;
if (slug === "io-development-module") return ioDevelopmentFilterData;
if (slug === "weight") return weighingFilterData;
return productsPageFilterData;
}
/***/ }),
/* 35 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(81);
/***/ }),
/* 36 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
const redirects = [
//articles
{
from: "/articles/36-industrial-automation/54-تفاوت-لودسل-4-سیم-و-6-سیم",
to: "/articles/post/تفاوت-لودسل-4-سیم-و-6-سیم"
}, {
from: "/articles/36-industrial-automation/49-روش-های-تست-لودسل",
to: "/articles/post/روش-های-تست-لودسل"
}, {
from: "/articles/36-industrial-automation/40-افزایش-دقت-اندازه-گیری-لودسل-به-کمک-ارت",
to: "/articles/post/افزایش-دقت-اندازه-گیری-لودسل-به-کمک-ارت"
},
//categories
{
from: "/products/weight",
to: "/products/category/weight"
}, {
from: "/products/converter",
to: "/products/category/analog-converter"
}, {
from: "/products/relay-board",
to: "/products/category/io-development-module"
}, {
from: "/products/controlers",
to: "/products/category/io-development-module"
},
//products
{
from: "/products/converter/usb/usb-rs485-isolated-converter",
to: "/products/مبدل-usb-به-rs485-ایزوله-pm-us01"
}, {
from: "/products/weight/transmitter/pm-ltd11a-weight-transmitter-analog-digital-rs485",
to: "/products/ترانسمیتر-و-نمایشگر-وزن-pm-ltd11a"
}, {
from: "/products/weight/transmitter/pm-ltd11t-weight-transmitter-digital-rs485",
to: "/products/ترانسمیتر-و-نمایشگر-وزنpm-ltd11r"
}, {
from: "/products/weight/indicator/pm-ld01-weight-indicator-rs485",
to: "/products/نمایشگر-وزن-pm-ld01"
}, {
from: "/products/weight/indicator/pm-ld01a-weight-indicator-rs485-analog",
to: "/products/نمایشگر-وزن-pm-ld01a"
}, {
from: "/products/weight/indicator/pm-ld31-weight-indicator-rs485",
to: "/products/نمایشگر-وزن-pm-ld31"
}, {
from: "/products/weight/indicator/pm-ld31a-weight-indicator-rs485-analog",
to: "/products/نمایشگر-وزن-pm-ld31a"
}, {
from: "/products/weight/transmitter/pm-lt11a-weight-transmitter-analog-rs485",
to: "/products/ترانسمیتر-وزن-pm-lt11a"
}, {
from: "/products/weight/transmitter/pm-lt11t-weight-transmitter-rs485",
to: "/products/ترانسمیتر-وزن-pm-lt11t"
}, {
from: "/products/weight/transmitter/pm-lt12a-2-channel-weight-transmitter-analog-rs485",
to: "/products/ترانسمیتر-وزن-دو-کانال-pm-lt12a"
}, {
from: "/products/weight/transmitter/pm-lt12t-2-channel-weight-transmitter-rs485",
to: "/products/ترانسمیتر-وزن-دو-کانال-pm-lt12t"
}, {
from: "/products/weight/transmitter/pm-lt12-2-channel-weight-transmitter-rs485",
to: "/products/ترانسمیتر-وزن-دو-کانال-pm-lt12"
}, {
from: "/products/temperature-humidity/display/temperature-indicator-controller-pm-tdc21",
to: "/products"
}, {
from: "/products/controlers/two-chanel-vibrate-controller",
to: "/products/کنترلر-ویبره-دو-کانال-pm-vc12"
}, {
from: "/products/converter/analog/signal-isolator-pm-iso11",
to: "/products/سیگنال-ایزولاتور-pm-iso11"
}, {
from: "/products/converter/analog/analog-converter-transmitter-pm-at13",
to: "/products/ترانسمیتر-آنالوگ-3-کانال-pm-at13"
}, {
from: "/products/relay-board/remote-io-rtu-module-pm-rio18t",
to: "/products/ماژول-ریموت-io-خروجی-ترانزیستور-pm-rio18t"
}, {
from: "/products/relay-board/remote-io-rtu-module-pm-rio18l",
to: "/products/ماژول-ریموت-io-خروجی-رله-5-آمپر-pm-rio18l"
}, {
from: "/products/relay-board/remote-io-rtu-module-pm-rio18h",
to: "/products/ماژول-ریموت-io-خروجی-رله-16-آمپر-pm-rio18h"
}, {
from: "/products/relay-board/relay-board-8",
to: "/products/برد-رله-8-کانال-pm-rl08s"
}];
/* harmony default export */ __webpack_exports__["default"] = (function (req, res, next) {
var url = req.url.split("?")[0];
var urlParams = null;
if (req.url.includes("?")) urlParams = "?" + req.url.split("?")[1];
const redirect = redirects.find(r => encodeURI(r.from) === url);
if (redirect) {
var newLocation = redirect.to;
if (urlParams) newLocation += urlParams;
res.writeHead(301, {
Location: encodeURI(newLocation)
});
res.end();
} else next();
});
/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "img/error_page.289c1aa.png";
/***/ }),
/* 38 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_error_vue_vue_type_style_index_0_id_f1fe3c98_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_error_vue_vue_type_style_index_0_id_f1fe3c98_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_error_vue_vue_type_style_index_0_id_f1fe3c98_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_error_vue_vue_type_style_index_0_id_f1fe3c98_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_error_vue_vue_type_style_index_0_id_f1fe3c98_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".error__page[data-v-f1fe3c98]{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:15px;text-align:center}.error__image[data-v-f1fe3c98]{display:block;margin:0 auto;max-width:550px;width:80%}.error__text[data-v-f1fe3c98]{font-size:14px;font-weight:700;margin-top:20px;text-align:center}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 40 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_0a6c674f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
/* harmony import */ var _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_0a6c674f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_0a6c674f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_0a6c674f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _vue_style_loader_index_js_ref_3_oneOf_1_0_css_loader_dist_cjs_js_ref_3_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_3_oneOf_1_2_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_id_0a6c674f_prod_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".nuxt-progress{position:fixed;top:0;left:0;right:0;height:5px;width:0;opacity:1;transition:width .1s,opacity .4s;background-color:#ffb301;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 42 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_copyright_vue_vue_type_style_index_0_id_11bd7140_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_copyright_vue_vue_type_style_index_0_id_11bd7140_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_copyright_vue_vue_type_style_index_0_id_11bd7140_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_copyright_vue_vue_type_style_index_0_id_11bd7140_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_copyright_vue_vue_type_style_index_0_id_11bd7140_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".copyright[data-v-11bd7140]{background:#191b1e;color:#fff;font-size:12px;padding:8px 16px;text-align:center}.copyright__company[data-v-11bd7140]{color:#ffb301;display:inline-block;font-weight:700;margin:0 3px}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 44 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_link_vue_vue_type_style_index_0_id_1a59aadf_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_link_vue_vue_type_style_index_0_id_1a59aadf_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_link_vue_vue_type_style_index_0_id_1a59aadf_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_link_vue_vue_type_style_index_0_id_1a59aadf_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_link_vue_vue_type_style_index_0_id_1a59aadf_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".footer-link[data-v-1a59aadf]{color:#f7f7f7;display:block;font-size:13px;margin:10.66667px 0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;width:100%;white-space:nowrap}.footer-link[data-v-1a59aadf]:hover{color:#ffb301}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 46 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_title_vue_vue_type_style_index_0_id_26b8a362_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_title_vue_vue_type_style_index_0_id_26b8a362_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_title_vue_vue_type_style_index_0_id_26b8a362_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_title_vue_vue_type_style_index_0_id_26b8a362_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_title_vue_vue_type_style_index_0_id_26b8a362_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 47 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".footer-title[data-v-26b8a362]{color:#fff;font-size:14px;font-weight:700;margin:16px 0;opacity:.8}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 48 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_vue_vue_type_style_index_0_id_39e1f500_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_vue_vue_type_style_index_0_id_39e1f500_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_vue_vue_type_style_index_0_id_39e1f500_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_vue_vue_type_style_index_0_id_39e1f500_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_app_footer_vue_vue_type_style_index_0_id_39e1f500_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 49 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".footer[data-v-39e1f500]{justify-self:end;background:#30343a;bottom:0;content-visibility:auto;right:0;width:100%}.footer__content[data-v-39e1f500]{margin:0 auto;max-width:1080px;padding:16px}.footer__column-1[data-v-39e1f500],.footer__column-2[data-v-39e1f500]{display:inline-block;vertical-align:top;width:49%}.footer__column-3[data-v-39e1f500]{border-top:1px solid #b7b7b7;display:block;margin-top:8px}.footer__column-4[data-v-39e1f500]{display:none}.footer__text[data-v-39e1f500]{color:#f7f7f7;display:block;font-size:13px;line-height:1.8;margin:10.66667px 0;text-decoration:none}.footer__text--en[data-v-39e1f500]{direction:ltr;text-align:right}.footer__text__icon[data-v-39e1f500]{font-size:20px;float:right;margin-left:8px}.footer__text__icon--map[data-v-39e1f500]{margin-bottom:30px}.footer__text--phone[data-v-39e1f500]{display:inline-block;margin-left:5px;vertical-align:top}.footer__social-link[data-v-39e1f500]{color:#f7f7f7;display:inline-block;font-size:20px;margin:5px 5px 5px 32px;text-decoration:none}@media (min-width:1024px){.footer__column-1[data-v-39e1f500],.footer__column-2[data-v-39e1f500],.footer__column-3[data-v-39e1f500],.footer__column-4[data-v-39e1f500]{border:none;display:inline-block;margin-top:0;vertical-align:top;width:24.6%}.footer__column-1[data-v-39e1f500],.footer__column-2[data-v-39e1f500]{width:20.6%}.footer__column-3[data-v-39e1f500],.footer__column-4[data-v-39e1f500]{width:28.6%}.footer__column-4[data-v-39e1f500]{padding-right:4%}}[data-lang=en] .footer__text[data-v-39e1f500]{text-align:left}[data-lang=en] .footer__text--en[data-v-39e1f500]{direction:ltr;text-align:left}[data-lang=en] .footer__text--phone[data-v-39e1f500]{margin-left:0;margin-right:5px}[data-lang=en] .footer__text__icon[data-v-39e1f500]{float:left;margin-left:0;margin-right:8px}[data-lang=en] .footer__social-link[data-v-39e1f500]{margin-left:0;margin-right:32px}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 50 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_contact_bar_vue_vue_type_style_index_0_id_8875293a_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_contact_bar_vue_vue_type_style_index_0_id_8875293a_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_contact_bar_vue_vue_type_style_index_0_id_8875293a_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_contact_bar_vue_vue_type_style_index_0_id_8875293a_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_contact_bar_vue_vue_type_style_index_0_id_8875293a_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".contact-bar[data-v-8875293a]{background:#30343a;color:#fff;height:30px;font-size:13px;line-height:30px;overflow:hidden;position:relative;white-space:nowrap;z-index:102}.contact-bar__contents[data-v-8875293a]{margin:0 auto;max-width:1080px;padding:0 16px}.contact-bar__icon[data-v-8875293a]{display:inline-block;font-size:20px;vertical-align:middle}.contact-bar__mail[data-v-8875293a],.contact-bar__support[data-v-8875293a]{color:#fff;display:inline-block;direction:ltr;text-decoration:none;vertical-align:middle}.contact-bar__support[data-v-8875293a]{text-align:right}.contact-bar__mail[data-v-8875293a]{float:left;text-align:left}.contact-bar__social-link[data-v-8875293a],.contact-bar__times[data-v-8875293a]{display:none}@media (min-width:1024px){.contact-bar__mail[data-v-8875293a],.contact-bar__support[data-v-8875293a],.contact-bar__times[data-v-8875293a]{display:inline-block;float:none;margin-left:32px}.contact-bar__social-link[data-v-8875293a]{color:#fff;display:block;float:left;font-size:17px;margin-right:32px;margin-top:3px;text-decoration:none}}[data-lang=en] .contact-bar__support[data-v-8875293a]{float:right;text-align:right}[data-lang=en] .contact-bar__icon[data-v-8875293a]{float:left;margin-left:0;margin-right:4px;margin-top:4px}@media (min-width:1024px){[data-lang=en] .contact-bar__social-link[data-v-8875293a]{float:right;margin-left:32px;margin-right:0}[data-lang=en] .contact-bar__mail[data-v-8875293a],[data-lang=en] .contact-bar__support[data-v-8875293a],[data-lang=en] .contact-bar__times[data-v-8875293a]{float:none;margin-left:0;margin-right:32px}}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "img/logo.237ab1d.svg";
/***/ }),
/* 53 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_logo_link_vue_vue_type_style_index_0_id_2301b45b_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_logo_link_vue_vue_type_style_index_0_id_2301b45b_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_logo_link_vue_vue_type_style_index_0_id_2301b45b_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_logo_link_vue_vue_type_style_index_0_id_2301b45b_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_logo_link_vue_vue_type_style_index_0_id_2301b45b_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 54 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".logo-link[data-v-2301b45b]{display:inline-block;overflow:hidden;position:relative;text-decoration:none;vertical-align:text-top;width:100px}.logo-link[data-v-2301b45b]:after{content:\"\";display:block;padding-top:24%}.logo[data-v-2301b45b]{display:block;position:absolute;right:0;top:0;width:100%}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 55 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_item_vue_vue_type_style_index_0_id_4f134f80_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_item_vue_vue_type_style_index_0_id_4f134f80_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_item_vue_vue_type_style_index_0_id_4f134f80_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_item_vue_vue_type_style_index_0_id_4f134f80_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_item_vue_vue_type_style_index_0_id_4f134f80_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".child-link[data-v-4f134f80],.root-link[data-v-4f134f80]{color:#30343a;cursor:pointer;display:block;height:32px;line-height:32px;overflow:hidden;text-align:center;text-decoration:none;width:100%}.child-link[data-v-4f134f80]:hover,.root-link[data-v-4f134f80]:hover{color:#ffb301}.root-link[data-v-4f134f80]{font-weight:700;position:relative}.root-link__go-parent-on-desktop[data-v-4f134f80]{display:none}.root-link--has-child[data-v-4f134f80]{height:auto}@media (min-width:1024px){.root-link[data-v-4f134f80]{display:inline-block;height:50px;line-height:50px;padding:0 16px;vertical-align:middle;width:auto}.root-link--has-child[data-v-4f134f80]{position:relative}.root-link--has-child .root-link__go-parent-on-desktop[data-v-4f134f80]{display:block;height:100%;position:absolute;right:0;top:0;width:100%}.root-link--has-child[data-v-4f134f80]:hover{overflow:visible}.root-link--has-child:hover .links-childs-wrapper[data-v-4f134f80]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16);height:auto;opacity:1;right:0;top:50px;width:260px}}.root-link--active[data-v-4f134f80]{color:#ffb301}.links-childs-wrapper[data-v-4f134f80]{height:0;opacity:0;overflow:hidden;position:relative;transition:all .2s ease-in-out}.links-childs-wrapper--active[data-v-4f134f80]{height:auto;opacity:1}@media (min-width:1024px){.links-childs-wrapper[data-v-4f134f80]{position:absolute}}.child-link[data-v-4f134f80]{font-weight:400}@media (min-width:1024px){.child-link[data-v-4f134f80]{padding:0 16px;text-align:right}}@media (min-width:1024px){[data-lang=en] .links-childs-wrapper[data-v-4f134f80]{left:0;right:unset}[data-lang=en] .child-link[data-v-4f134f80]{text-align:left}}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 57 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_drawer_vue_vue_type_style_index_0_id_119f9dc8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_drawer_vue_vue_type_style_index_0_id_119f9dc8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_drawer_vue_vue_type_style_index_0_id_119f9dc8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_drawer_vue_vue_type_style_index_0_id_119f9dc8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_drawer_vue_vue_type_style_index_0_id_119f9dc8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 58 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".drawer[data-v-119f9dc8]{background:#fff;bottom:0;display:inline-block;height:100vh;left:0;opacity:0;overflow:hidden;padding:50px 16px 100px;position:fixed;right:0;top:30px;transform:translateX(100%);transition:all .2s ease-in-out;vertical-align:middle;width:100%;z-index:101}.drawer--active[data-v-119f9dc8]{opacity:1;transform:translateX(0)}.drawer__header[data-v-119f9dc8]{background:#fff;height:50px;line-height:50px;padding:0 16px;position:fixed;right:0;top:0;width:100%}.drawer__close-btn[data-v-119f9dc8]{display:inline-block;font-size:32px;margin-left:8px;vertical-align:middle}.drawer__body[data-v-119f9dc8]{height:100%;overflow-y:auto}.drawer__footer[data-v-119f9dc8]{background:#fff;bottom:50px;height:100px;line-height:1;padding:10px 16px;position:fixed;right:0;text-align:center;width:100%}.drawer__call-btn[data-v-119f9dc8]{background:#30343a;border-radius:4px;color:#fff;display:block;direction:ltr;font-weight:700;height:32px;line-height:32px;margin:0 auto 24px;max-width:200px;padding:0 16px;text-align:center;text-decoration:none}.drawer__call-btn__icon[data-v-119f9dc8]{display:inline-block;font-size:22px;margin-right:8px;vertical-align:middle}.drawer__social-link[data-v-119f9dc8]{color:#30343a;display:inline-block;font-size:18px;margin:0 16px;text-decoration:none;vertical-align:middle}@media (min-width:1024px){.drawer[data-v-119f9dc8]{bottom:auto;height:50px;line-height:50px;left:auto;opacity:1;overflow:visible;padding:0;position:relative;right:auto;top:auto;transform:none;transition:none;width:auto;z-index:inherit}.drawer__footer[data-v-119f9dc8],.drawer__header[data-v-119f9dc8]{display:none}.drawer__body[data-v-119f9dc8]{overflow:visible}}[data-lang=en] .drawer__close-btn[data-v-119f9dc8]{margin-left:0;margin-right:8px}[data-lang=en] .drawer__call-btn__icon[data-v-119f9dc8]{margin-left:8px;margin-right:0}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 59 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_bar_vue_vue_type_style_index_0_id_8336deaa_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_bar_vue_vue_type_style_index_0_id_8336deaa_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_bar_vue_vue_type_style_index_0_id_8336deaa_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_bar_vue_vue_type_style_index_0_id_8336deaa_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_menu_bar_vue_vue_type_style_index_0_id_8336deaa_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 60 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".menu-bar[data-v-8336deaa]{height:50px;line-height:50px}.menu-bar--colored[data-v-8336deaa]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16)}.menu-bar__contents[data-v-8336deaa]{padding:0 16px;margin:0 auto;max-width:1080px}.menu-bar__hamburger-btn[data-v-8336deaa]{display:inline-block;font-size:32px;margin-left:8px;vertical-align:middle}@media (min-width:1024px){.menu-bar__hamburger-btn[data-v-8336deaa]{display:none}}@media (min-width:1024px){.menu-bar__logo[data-v-8336deaa]{margin-left:32px}}[data-lang=en] .menu-bar__hamburger-btn[data-v-8336deaa]{margin-left:0;margin-right:8px}@media (min-width:1024px){[data-lang=en] .menu-bar__logo[data-v-8336deaa]{margin-left:0;margin-right:32px}}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 61 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_bar_vue_vue_type_style_index_0_id_237fa5d8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_bar_vue_vue_type_style_index_0_id_237fa5d8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_bar_vue_vue_type_style_index_0_id_237fa5d8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_bar_vue_vue_type_style_index_0_id_237fa5d8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_navigation_bar_vue_vue_type_style_index_0_id_237fa5d8_prod_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 62 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".navigation[data-v-237fa5d8]{height:80px;position:fixed;right:0;top:0;width:100%;will-change:transform;z-index:100}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 63 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_default_vue_vue_type_style_index_0_id_f4ecc31a_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29);
/* harmony import */ var _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_default_vue_vue_type_style_index_0_id_f4ecc31a_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_default_vue_vue_type_style_index_0_id_f4ecc31a_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_default_vue_vue_type_style_index_0_id_f4ecc31a_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_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_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_vue_loader_lib_index_js_vue_loader_options_node_modules_string_replace_loader_index_js_ref_12_default_vue_vue_type_style_index_0_id_f4ecc31a_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/* 64 */
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, "@font-face{font-family:\"icomoon\";src:url(/fonts/icomoon.ttf?3ikylm) format(\"truetype\"),url(/fonts/icomoon.woff?3ikylm) format(\"woff\"),url(/fonts/icomoon.svg?3ikylm#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:swap}[class*=\" icon-\"],[class^=icon-]{font-family:\"icomoon\"!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-aparat:before{content:\"\\e900\"}.icon-linkedin:before{content:\"\\e901\"}.icon-youtube:before{content:\"\\e902\"}.icon-mail_outline:before{content:\"\\e903\"}.icon-add:before{content:\"\\e904\"}.icon-clear:before{content:\"\\e905\"}.icon-map:before{content:\"\\e906\"}.icon-filter_list:before{content:\"\\e907\"}.icon-remove:before{content:\"\\e908\"}.icon-guarantee:before{content:\"\\e909\"}.icon-access_time:before{content:\"\\e90a\"}.icon-storage:before{content:\"\\e90b\"}.icon-instagram:before{content:\"\\e90c\"}.icon-mode_comment:before{content:\"\\e90d\"}.icon-file_download:before{content:\"\\e90e\"}.icon-telegram:before{content:\"\\e90f\"}.icon-compare:before{content:\"\\e910\"}.icon-support:before{content:\"\\e911\"}.icon-local_shipping:before{content:\"\\e912\"}.icon-arrow_back:before{content:\"\\e913\"}.icon-arrow_forward:before{content:\"\\e914\"}.icon-check:before{content:\"\\e915\"}.icon-menu:before{content:\"\\e916\"}.icon-share:before{content:\"\\e917\"}.icon-check_box:before{content:\"\\e918\"}.icon-star:before{content:\"\\e919\"}.icon-star_half:before{content:\"\\e91a\"}.icon-star_outline:before{content:\"\\e91b\"}.icon-twitter:before{content:\"\\e91c\"}.icon-description:before{content:\"\\e91d\"}.icon-done:before{content:\"\\e91e\"}.icon-keyboard_arrow_right:before{content:\"\\e91f\"}.icon-keyboard_arrow_left:before{content:\"\\e920\"}.icon-find_in_page:before{content:\"\\e921\"}.icon-language:before{content:\"\\e922\"}.icon-keyboard_arrow_down:before{content:\"\\e923\"}.icon-search:before{content:\"\\e924\"}.icon-view_list:before{content:\"\\e925\"}.icon-zoom_in:before{content:\"\\e926\"}.icon-zoom_out:before{content:\"\\e927\"}@font-face{font-family:Shabnam;src:url(/fonts/Shabnam-FD.eot);src:url(/fonts/Shabnam-FD.eot?#iefix) format(\"embedded-opentype\"),url(/fonts/Shabnam-FD.woff2) format(\"woff2\"),url(/fonts/Shabnam-FD.woff) format(\"woff\"),url(/fonts/Shabnam-FD.ttf) format(\"truetype\");font-weight:400;font-display:swap}@font-face{font-family:Shabnam;src:url(/fonts/Shabnam-Bold-FD.eot);src:url(/fonts/Shabnam-Bold-FD.eot?#iefix) format(\"embedded-opentype\"),url(/fonts/Shabnam-Bold-FD.woff2) format(\"woff2\"),url(/fonts/Shabnam-Bold-FD.woff) format(\"woff\"),url(/fonts/Shabnam-Bold-FD.ttf) format(\"truetype\");font-weight:700;font-display:swap}@font-face{font-family:Shabnam;src:url(/fonts/Shabnam-Thin-FD.eot);src:url(/fonts/Shabnam-Thin-FD.eot?#iefix) format(\"embedded-opentype\"),url(/fonts/Shabnam-Thin-FD.woff2) format(\"woff2\"),url(/fonts/Shabnam-Thin-FD.woff) format(\"woff\"),url(/fonts/Shabnam-Thin-FD.ttf) format(\"truetype\");font-weight:100;font-display:swap}@font-face{font-family:Shabnam;src:url(/fonts/Shabnam-Light-FD.eot);src:url(/fonts/Shabnam-Light-FD.eot?#iefix) format(\"embedded-opentype\"),url(/fonts/Shabnam-Light-FD.woff2) format(\"woff2\"),url(/fonts/Shabnam-Light-FD.woff) format(\"woff\"),url(/fonts/Shabnam-Light-FD.ttf) format(\"truetype\");font-weight:300;font-display:swap}@font-face{font-family:Shabnam;src:url(/fonts/Shabnam-Medium-FD.eot);src:url(/fonts/Shabnam-Medium-FD.eot?#iefix) format(\"embedded-opentype\"),url(/fonts/Shabnam-Medium-FD.woff2) format(\"woff2\"),url(/fonts/Shabnam-Medium-FD.woff) format(\"woff\"),url(/fonts/Shabnam-Medium-FD.ttf) format(\"truetype\");font-weight:500;font-display:swap}*{box-sizing:border-box}html{background:#f7f7f7;font-family:Shabnam,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,tahoma;font-size:14px}body{margin:0;padding:0}.app{direction:rtl;display:flex;flex-direction:column;justify-content:starts;min-height:100vh;padding-top:80px}.app--en{direction:ltr;font-family:Roboto,system-ui,-apple-system,Segoe UI,Ubuntu,Cantarell,Noto Sans,sans-serif,tahoma}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/* 65 */
/***/ (function(module, exports) {
module.exports = require("intersection-observer");
/***/ }),
/* 66 */
/***/ (function(module, exports) {
module.exports = require("js-cookie");
/***/ }),
/* 67 */
/***/ (function(module, exports) {
module.exports = require("url");
/***/ }),
/* 68 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.delete-all.js");
/***/ }),
/* 69 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.every.js");
/***/ }),
/* 70 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.filter.js");
/***/ }),
/* 71 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.find.js");
/***/ }),
/* 72 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.find-key.js");
/***/ }),
/* 73 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.includes.js");
/***/ }),
/* 74 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.key-of.js");
/***/ }),
/* 75 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.map-keys.js");
/***/ }),
/* 76 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.map-values.js");
/***/ }),
/* 77 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.merge.js");
/***/ }),
/* 78 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.reduce.js");
/***/ }),
/* 79 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.some.js");
/***/ }),
/* 80 */
/***/ (function(module, exports) {
module.exports = require("core-js/modules/esnext.map.update.js");
/***/ }),
/* 81 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(0);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
// EXTERNAL MODULE: external "ufo"
var external_ufo_ = __webpack_require__(2);
// EXTERNAL MODULE: external "node-fetch"
var external_node_fetch_ = __webpack_require__(31);
var external_node_fetch_default = /*#__PURE__*/__webpack_require__.n(external_node_fetch_);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/middleware.js
const middleware = {};
middleware['redirects'] = __webpack_require__(36);
middleware['redirects'] = middleware['redirects'].default || middleware['redirects'];
/* harmony default export */ var nuxt_middleware = (middleware);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/utils.js
// window.{{globals.loadedCallback}} hook
// Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)
if (false) {}
function createGetCounter(counterObject, defaultKey = '') {
return function getCounter(id = defaultKey) {
if (counterObject[id] === undefined) {
counterObject[id] = 0;
}
return counterObject[id]++;
};
}
function empty() {}
function globalHandleError(error) {
if (external_vue_default.a.config.errorHandler) {
external_vue_default.a.config.errorHandler(error);
}
}
function interopDefault(promise) {
return promise.then(m => m.default || m);
}
function hasFetch(vm) {
return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length;
}
function purifyData(data) {
if (true) {
return data;
}
return Object.entries(data).filter(([key, value]) => {
const valid = !(value instanceof Function) && !(value instanceof Promise);
if (!valid) {
console.warn(`${key} is not able to be stringified. This will break in a production environment.`);
}
return valid;
}).reduce((obj, [key, value]) => {
obj[key] = value;
return obj;
}, {});
}
function getChildrenComponentInstancesUsingFetch(vm, instances = []) {
const children = vm.$children || [];
for (const child of children) {
if (child.$fetch) {
instances.push(child);
continue; // Don't get the children since it will reload the template
}
if (child.$children) {
getChildrenComponentInstancesUsingFetch(child, instances);
}
}
return instances;
}
function applyAsyncData(Component, asyncData) {
if (
// For SSR, we once all this function without second param to just apply asyncData
// Prevent doing this for each SSR request
!asyncData && Component.options.__hasNuxtData) {
return;
}
const ComponentData = Component.options._originDataFn || Component.options.data || function () {
return {};
};
Component.options._originDataFn = ComponentData;
Component.options.data = function () {
const data = ComponentData.call(this, this);
if (this.$ssrContext) {
asyncData = this.$ssrContext.asyncData[Component.cid];
}
return {
...data,
...asyncData
};
};
Component.options.__hasNuxtData = true;
if (Component._Ctor && Component._Ctor.options) {
Component._Ctor.options.data = Component.options.data;
}
}
function sanitizeComponent(Component) {
// If Component already sanitized
if (Component.options && Component._Ctor === Component) {
return Component;
}
if (!Component.options) {
Component = external_vue_default.a.extend(Component); // fix issue #6
Component._Ctor = Component;
} else {
Component._Ctor = Component;
Component.extendOptions = Component.options;
}
// If no component name defined, set file path as name, (also fixes #5703)
if (!Component.options.name && Component.options.__file) {
Component.options.name = Component.options.__file;
}
return Component;
}
function getMatchedComponents(route, matches = false, prop = 'components') {
return Array.prototype.concat.apply([], route.matched.map((m, index) => {
return Object.keys(m[prop]).map(key => {
matches && matches.push(index);
return m[prop][key];
});
}));
}
function getMatchedComponentsInstances(route, matches = false) {
return getMatchedComponents(route, matches, 'instances');
}
function flatMapComponents(route, fn) {
return Array.prototype.concat.apply([], route.matched.map((m, index) => {
return Object.keys(m.components).reduce((promises, key) => {
if (m.components[key]) {
promises.push(fn(m.components[key], m.instances[key], m, key, index));
} else {
delete m.components[key];
}
return promises;
}, []);
}));
}
function resolveRouteComponents(route, fn) {
return Promise.all(flatMapComponents(route, async (Component, instance, match, key) => {
// If component is a function, resolve it
if (typeof Component === 'function' && !Component.options) {
try {
Component = await Component();
} catch (error) {
// Handle webpack chunk loading errors
// This may be due to a new deployment or a network problem
if (error && error.name === 'ChunkLoadError' && typeof window !== 'undefined' && window.sessionStorage) {
const timeNow = Date.now();
const previousReloadTime = parseInt(window.sessionStorage.getItem('nuxt-reload'));
// check for previous reload time not to reload infinitely
if (!previousReloadTime || previousReloadTime + 60000 < timeNow) {
window.sessionStorage.setItem('nuxt-reload', timeNow);
window.location.reload(true /* skip cache */);
}
}
throw error;
}
}
match.components[key] = Component = sanitizeComponent(Component);
return typeof fn === 'function' ? fn(Component, instance, match, key) : Component;
}));
}
async function getRouteData(route) {
if (!route) {
return;
}
// Make sure the components are resolved (code-splitting)
await resolveRouteComponents(route);
// Send back a copy of route with meta based on Component definition
return {
...route,
meta: getMatchedComponents(route).map((Component, index) => {
return {
...Component.options.meta,
...(route.matched[index] || {}).meta
};
})
};
}
async function setContext(app, context) {
// If context not defined, create it
if (!app.context) {
app.context = {
isStatic: true,
isDev: false,
isHMR: false,
app,
store: app.store,
payload: context.payload,
error: context.error,
base: app.router.options.base,
env: {}
};
// Only set once
if (context.ssrContext) {
app.context.ssrContext = context.ssrContext;
}
app.context.redirect = (status, path, query) => {
if (!status) {
return;
}
app.context._redirected = true;
// if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })
let pathType = typeof path;
if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {
query = path || {};
path = status;
pathType = typeof path;
status = 302;
}
if (pathType === 'object') {
path = app.router.resolve(path).route.fullPath;
}
// "/absolute/route", "./relative/route" or "../relative/route"
if (/(^[.]{1,2}\/)|(^\/(?!\/))/.test(path)) {
app.context.next({
path,
query,
status
});
} else {
path = Object(external_ufo_["withQuery"])(path, query);
if (true) {
app.context.next({
path,
status
});
}
if (false) {}
}
};
if (true) {
app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn);
}
if (false) {}
}
// Dynamic keys
const [currentRouteData, fromRouteData] = await Promise.all([getRouteData(context.route), getRouteData(context.from)]);
if (context.route) {
app.context.route = currentRouteData;
}
if (context.from) {
app.context.from = fromRouteData;
}
app.context.next = context.next;
app.context._redirected = false;
app.context._errored = false;
app.context.isHMR = false;
app.context.params = app.context.route.params || {};
app.context.query = app.context.route.query || {};
}
function middlewareSeries(promises, appContext) {
if (!promises.length || appContext._redirected || appContext._errored) {
return Promise.resolve();
}
return promisify(promises[0], appContext).then(() => {
return middlewareSeries(promises.slice(1), appContext);
});
}
function promisify(fn, context) {
let promise;
if (fn.length === 2) {
// fn(context, callback)
promise = new Promise(resolve => {
fn(context, function (err, data) {
if (err) {
context.error(err);
}
data = data || {};
resolve(data);
});
});
} else {
promise = fn(context);
}
if (promise && promise instanceof Promise && typeof promise.then === 'function') {
return promise;
}
return Promise.resolve(promise);
}
// Imported from vue-router
function getLocation(base, mode) {
if (mode === 'hash') {
return window.location.hash.replace(/^#\//, '');
}
base = decodeURI(base).slice(0, -1); // consideration is base is normalized with trailing slash
let path = decodeURI(window.location.pathname);
if (base && path.startsWith(base)) {
path = path.slice(base.length);
}
const fullPath = (path || '/') + window.location.search + window.location.hash;
return Object(external_ufo_["normalizeURL"])(fullPath);
}
// Imported from path-to-regexp
/**
* Compile a string to a template function for the path.
*
* @param {string} str
* @param {Object=} options
* @return {!function(Object=, Object=)}
*/
function compile(str, options) {
return tokensToFunction(parse(str, options), options);
}
function getQueryDiff(toQuery, fromQuery) {
const diff = {};
const queries = {
...toQuery,
...fromQuery
};
for (const k in queries) {
if (String(toQuery[k]) !== String(fromQuery[k])) {
diff[k] = true;
}
}
return diff;
}
function normalizeError(err) {
let message;
if (!(err.message || typeof err === 'string')) {
try {
message = JSON.stringify(err, null, 2);
} catch (e) {
message = `[${err.constructor.name}]`;
}
} else {
message = err.message || err;
}
return {
...err,
message,
statusCode: err.statusCode || err.status || err.response && err.response.status || 500
};
}
/**
* The main path matching regexp utility.
*
* @type {RegExp}
*/
const PATH_REGEXP = new RegExp([
// Match escaped characters that would otherwise appear in future matches.
// This allows the user to escape special characters that won't transform.
'(\\\\.)',
// Match Express-style parameters and un-named parameters with a prefix
// and optional suffixes. Matches appear as:
//
// "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
// "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
// "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
'([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'].join('|'), 'g');
/**
* Parse a string for the raw tokens.
*
* @param {string} str
* @param {Object=} options
* @return {!Array}
*/
function parse(str, options) {
const tokens = [];
let key = 0;
let index = 0;
let path = '';
const defaultDelimiter = options && options.delimiter || '/';
let res;
while ((res = PATH_REGEXP.exec(str)) != null) {
const m = res[0];
const escaped = res[1];
const offset = res.index;
path += str.slice(index, offset);
index = offset + m.length;
// Ignore already escaped sequences.
if (escaped) {
path += escaped[1];
continue;
}
const next = str[index];
const prefix = res[2];
const name = res[3];
const capture = res[4];
const group = res[5];
const modifier = res[6];
const asterisk = res[7];
// Push the current path onto the tokens.
if (path) {
tokens.push(path);
path = '';
}
const partial = prefix != null && next != null && next !== prefix;
const repeat = modifier === '+' || modifier === '*';
const optional = modifier === '?' || modifier === '*';
const delimiter = res[2] || defaultDelimiter;
const pattern = capture || group;
tokens.push({
name: name || key++,
prefix: prefix || '',
delimiter,
optional,
repeat,
partial,
asterisk: Boolean(asterisk),
pattern: pattern ? escapeGroup(pattern) : asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?'
});
}
// Match any characters still remaining.
if (index < str.length) {
path += str.substr(index);
}
// If the path exists, push it onto the end.
if (path) {
tokens.push(path);
}
return tokens;
}
/**
* Prettier encoding of URI path segments.
*
* @param {string}
* @return {string}
*/
function encodeURIComponentPretty(str, slashAllowed) {
const re = slashAllowed ? /[?#]/g : /[/?#]/g;
return encodeURI(str).replace(re, c => {
return '%' + c.charCodeAt(0).toString(16).toUpperCase();
});
}
/**
* Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
*
* @param {string}
* @return {string}
*/
function encodeAsterisk(str) {
return encodeURIComponentPretty(str, true);
}
/**
* Escape a regular expression string.
*
* @param {string} str
* @return {string}
*/
function escapeString(str) {
return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, '\\$1');
}
/**
* Escape the capturing group by escaping special characters and meaning.
*
* @param {string} group
* @return {string}
*/
function escapeGroup(group) {
return group.replace(/([=!:$/()])/g, '\\$1');
}
/**
* Expose a method for transforming tokens into the path function.
*/
function tokensToFunction(tokens, options) {
// Compile all the tokens into regexps.
const matches = new Array(tokens.length);
// Compile all the patterns before compilation.
for (let i = 0; i < tokens.length; i++) {
if (typeof tokens[i] === 'object') {
matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));
}
}
return function (obj, opts) {
let path = '';
const data = obj || {};
const options = opts || {};
const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;
for (let i = 0; i < tokens.length; i++) {
const token = tokens[i];
if (typeof token === 'string') {
path += token;
continue;
}
const value = data[token.name || 'pathMatch'];
let segment;
if (value == null) {
if (token.optional) {
// Prepend partial segment prefixes.
if (token.partial) {
path += token.prefix;
}
continue;
} else {
throw new TypeError('Expected "' + token.name + '" to be defined');
}
}
if (Array.isArray(value)) {
if (!token.repeat) {
throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`');
}
if (value.length === 0) {
if (token.optional) {
continue;
} else {
throw new TypeError('Expected "' + token.name + '" to not be empty');
}
}
for (let j = 0; j < value.length; j++) {
segment = encode(value[j]);
if (!matches[i].test(segment)) {
throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`');
}
path += (j === 0 ? token.prefix : token.delimiter) + segment;
}
continue;
}
segment = token.asterisk ? encodeAsterisk(value) : encode(value);
if (!matches[i].test(segment)) {
throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"');
}
path += token.prefix + segment;
}
return path;
};
}
/**
* Get the flags for a regexp from the options.
*
* @param {Object} options
* @return {string}
*/
function flags(options) {
return options && options.sensitive ? '' : 'i';
}
function addLifecycleHook(vm, hook, fn) {
if (!vm.$options[hook]) {
vm.$options[hook] = [];
}
if (!vm.$options[hook].includes(fn)) {
vm.$options[hook].push(fn);
}
}
const urlJoin = external_ufo_["joinURL"];
const stripTrailingSlash = external_ufo_["withoutTrailingSlash"];
const isSamePath = external_ufo_["isSamePath"];
function setScrollRestoration(newVal) {
try {
window.history.scrollRestoration = newVal;
} catch (e) {}
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/mixins/fetch.server.js
async function serverPrefetch() {
if (!this._fetchOnServer) {
return;
}
// Call and await on $fetch
try {
await this.$options.fetch.call(this);
} catch (err) {
if (false) {}
this.$fetchState.error = normalizeError(err);
}
this.$fetchState.pending = false;
// Define an ssrKey for hydration
this._fetchKey = this._fetchKey || this.$ssrContext.fetchCounters['']++;
// Add data-fetch-key on parent element of Component
const attrs = this.$vnode.data.attrs = this.$vnode.data.attrs || {};
attrs['data-fetch-key'] = this._fetchKey;
// Add to ssrContext for window.__NUXT__.fetch
this.$ssrContext.nuxt.fetch[this._fetchKey] = this.$fetchState.error ? {
_error: this.$fetchState.error
} : purifyData(this._data);
}
/* harmony default export */ var fetch_server = ({
created() {
if (!hasFetch(this)) {
return;
}
if (typeof this.$options.fetchOnServer === 'function') {
this._fetchOnServer = this.$options.fetchOnServer.call(this) !== false;
} else {
this._fetchOnServer = this.$options.fetchOnServer !== false;
}
const defaultKey = this.$options._scopeId || this.$options.name || '';
const getCounter = createGetCounter(this.$ssrContext.fetchCounters, defaultKey);
if (typeof this.$options.fetchKey === 'function') {
this._fetchKey = this.$options.fetchKey.call(this, getCounter);
} else {
const key = 'string' === typeof this.$options.fetchKey ? this.$options.fetchKey : defaultKey;
this._fetchKey = key ? key + ':' + getCounter(key) : String(getCounter(key));
}
// Added for remove vue undefined warning while ssr
this.$fetch = () => {}; // issue #8043
external_vue_default.a.util.defineReactive(this, '$fetchState', {
pending: true,
error: null,
timestamp: Date.now()
});
addLifecycleHook(this, 'serverPrefetch', serverPrefetch);
}
});
// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(6);
var external_vuex_default = /*#__PURE__*/__webpack_require__.n(external_vuex_);
// EXTERNAL MODULE: external "vue-meta"
var external_vue_meta_ = __webpack_require__(7);
var external_vue_meta_default = /*#__PURE__*/__webpack_require__.n(external_vue_meta_);
// EXTERNAL MODULE: external "vue-client-only"
var external_vue_client_only_ = __webpack_require__(10);
var external_vue_client_only_default = /*#__PURE__*/__webpack_require__.n(external_vue_client_only_);
// EXTERNAL MODULE: external "vue-no-ssr"
var external_vue_no_ssr_ = __webpack_require__(9);
var external_vue_no_ssr_default = /*#__PURE__*/__webpack_require__.n(external_vue_no_ssr_);
// EXTERNAL MODULE: external "vue-router"
var external_vue_router_ = __webpack_require__(11);
var external_vue_router_default = /*#__PURE__*/__webpack_require__.n(external_vue_router_);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/router.scrollBehavior.js
if (false) {}
function shouldScrollToTop(route) {
const Pages = getMatchedComponents(route);
if (Pages.length === 1) {
const {
options = {}
} = Pages[0];
return options.scrollToTop !== false;
}
return Pages.some(({
options
}) => options && options.scrollToTop);
}
/* harmony default export */ var router_scrollBehavior = (function (to, from, savedPosition) {
// If the returned position is falsy or an empty object, will retain current scroll position
let position = false;
const isRouteChanged = to !== from;
// savedPosition is only available for popstate navigations (back button)
if (savedPosition) {
position = savedPosition;
} else if (isRouteChanged && shouldScrollToTop(to)) {
position = {
x: 0,
y: 0
};
}
const nuxt = window.$nuxt;
if (
// Initial load (vuejs/vue-router#3199)
!isRouteChanged ||
// Route hash changes
to.path === from.path && to.hash !== from.hash) {
nuxt.$nextTick(() => nuxt.$emit('triggerScroll'));
}
return new Promise(resolve => {
// wait for the out transition to complete (if necessary)
nuxt.$once('triggerScroll', () => {
// coords will be used if no selector is provided,
// or if the selector didn't match any element.
if (to.hash) {
let hash = to.hash;
// CSS.escape() is not supported with IE and Edge.
if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {
hash = '#' + window.CSS.escape(hash.substr(1));
}
try {
if (document.querySelector(hash)) {
// scroll to anchor by returning the selector
position = {
selector: hash
};
}
} catch (e) {
console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).');
}
}
resolve(position);
});
});
});
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/router.js
const _132a657c = () => interopDefault(__webpack_require__.e(/* import() | pages/about-us/index */ 1).then(__webpack_require__.bind(null, 241)));
const _12959ebd = () => interopDefault(__webpack_require__.e(/* import() | pages/articles/index */ 2).then(__webpack_require__.bind(null, 239)));
const _81dac662 = () => interopDefault(__webpack_require__.e(/* import() | pages/contact-us/index */ 4).then(__webpack_require__.bind(null, 242)));
const _ed4f3ecc = () => interopDefault(__webpack_require__.e(/* import() | pages/index */ 5).then(__webpack_require__.bind(null, 238)));
const _7eb57136 = () => interopDefault(__webpack_require__.e(/* import() | pages/products/index */ 8).then(__webpack_require__.bind(null, 243)));
const _22027066 = () => interopDefault(__webpack_require__.e(/* import() | pages/articles/post/_slug/index */ 3).then(__webpack_require__.bind(null, 240)));
const _7f1010d2 = () => interopDefault(__webpack_require__.e(/* import() | pages/products/category/_slug/index */ 7).then(__webpack_require__.bind(null, 244)));
const _32345cd4 = () => interopDefault(__webpack_require__.e(/* import() | pages/products/_slug/index */ 6).then(__webpack_require__.bind(null, 237)));
const emptyFn = () => {};
external_vue_default.a.use(external_vue_router_default.a);
const routerOptions = {
mode: 'history',
base: '/',
linkActiveClass: 'nuxt-link-active',
linkExactActiveClass: 'nuxt-link-exact-active',
scrollBehavior: router_scrollBehavior,
routes: [{
path: "/about-us",
component: _132a657c,
name: "about-us___fa"
}, {
path: "/articles",
component: _12959ebd,
name: "articles___fa"
}, {
path: "/contact-us",
component: _81dac662,
name: "contact-us___fa"
}, {
path: "/en",
component: _ed4f3ecc,
name: "index___en"
}, {
path: "/products",
component: _7eb57136,
name: "products___fa"
}, {
path: "/en/about-us",
component: _132a657c,
name: "about-us___en"
}, {
path: "/en/articles",
component: _12959ebd,
name: "articles___en"
}, {
path: "/en/contact-us",
component: _81dac662,
name: "contact-us___en"
}, {
path: "/en/products",
component: _7eb57136,
name: "products___en"
}, {
path: "/en/articles/post/:slug",
component: _22027066,
name: "articles-post-slug___en"
}, {
path: "/en/products/category/:slug",
component: _7f1010d2,
name: "products-category-slug___en"
}, {
path: "/articles/post/:slug",
component: _22027066,
name: "articles-post-slug___fa"
}, {
path: "/en/products/:slug",
component: _32345cd4,
name: "products-slug___en"
}, {
path: "/products/category/:slug",
component: _7f1010d2,
name: "products-category-slug___fa"
}, {
path: "/products/:slug",
component: _32345cd4,
name: "products-slug___fa"
}, {
path: "/",
component: _ed4f3ecc,
name: "index___fa"
}],
fallback: false
};
function createRouter(ssrContext, config) {
const base = config._app && config._app.basePath || routerOptions.base;
const router = new external_vue_router_default.a({
...routerOptions,
base
});
// TODO: remove in Nuxt 3
const originalPush = router.push;
router.push = function push(location, onComplete = emptyFn, onAbort) {
return originalPush.call(this, location, onComplete, onAbort);
};
const resolve = router.resolve.bind(router);
router.resolve = (to, current, append) => {
if (typeof to === 'string') {
to = Object(external_ufo_["normalizeURL"])(to);
}
return resolve(to, current, append);
};
return router;
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-child.js
/* harmony default export */ var nuxt_child = ({
name: 'NuxtChild',
functional: true,
props: {
nuxtChildKey: {
type: String,
default: ''
},
keepAlive: Boolean,
keepAliveProps: {
type: Object,
default: undefined
}
},
render(_, {
parent,
data,
props
}) {
const h = parent.$createElement;
data.nuxtChild = true;
const _parent = parent;
const transitions = parent.$nuxt.nuxt.transitions;
const defaultTransition = parent.$nuxt.nuxt.defaultTransition;
let depth = 0;
while (parent) {
if (parent.$vnode && parent.$vnode.data.nuxtChild) {
depth++;
}
parent = parent.$parent;
}
data.nuxtChildDepth = depth;
const transition = transitions[depth] || defaultTransition;
const transitionProps = {};
transitionsKeys.forEach(key => {
if (typeof transition[key] !== 'undefined') {
transitionProps[key] = transition[key];
}
});
const listeners = {};
listenersKeys.forEach(key => {
if (typeof transition[key] === 'function') {
listeners[key] = transition[key].bind(_parent);
}
});
if (false) {}
// make sure that leave is called asynchronous (fix #5703)
if (transition.css === false) {
const leave = listeners.leave;
// only add leave listener when user didnt provide one
// or when it misses the done argument
if (!leave || leave.length < 2) {
listeners.leave = (el, done) => {
if (leave) {
leave.call(_parent, el);
}
_parent.$nextTick(done);
};
}
}
let routerView = h('routerView', data);
if (props.keepAlive) {
routerView = h('keep-alive', {
props: props.keepAliveProps
}, [routerView]);
}
return h('transition', {
props: transitionProps,
on: listeners
}, [routerView]);
}
});
const transitionsKeys = ['name', 'mode', 'appear', 'css', 'type', 'duration', 'enterClass', 'leaveClass', 'appearClass', 'enterActiveClass', 'enterActiveClass', 'leaveActiveClass', 'appearActiveClass', 'enterToClass', 'leaveToClass', 'appearToClass'];
const listenersKeys = ['beforeEnter', 'enter', 'afterEnter', 'enterCancelled', 'beforeLeave', 'leave', 'afterLeave', 'leaveCancelled', 'beforeAppear', 'appear', 'afterAppear', 'appearCancelled'];
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./layouts/error.vue?vue&type=template&id=f1fe3c98&scoped=true&
var render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "error__page"
}, [_vm._ssrNode("<img" + _vm._ssrAttr("src", __webpack_require__(37)) + " alt class=\"error__image\" data-v-f1fe3c98> <div class=\"error__text\" data-v-f1fe3c98>" + _vm._ssrEscape("\n " + _vm._s(_vm.errorText) + "\n ") + "</div>")]);
};
var staticRenderFns = [];
// CONCATENATED MODULE: ./layouts/error.vue?vue&type=template&id=f1fe3c98&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./layouts/error.vue?vue&type=script&lang=js&
/* harmony default export */ var errorvue_type_script_lang_js_ = ({
computed: {
errorText() {
if (this.error.statusCode === 404) return "صفحه مورد نظر یافت نشد!";
return "امکان اجرای درخواست فراهم نشد!";
}
},
name: "ErrorPage",
props: ["error"]
});
// CONCATENATED MODULE: ./layouts/error.vue?vue&type=script&lang=js&
/* harmony default export */ var layouts_errorvue_type_script_lang_js_ = (errorvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./layouts/error.vue
function injectStyles (context) {
var style0 = __webpack_require__(38)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var error_component = Object(componentNormalizer["a" /* default */])(
layouts_errorvue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"f1fe3c98",
"0370879f"
)
/* harmony default export */ var layouts_error = (error_component.exports);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt.js
/* harmony default export */ var components_nuxt = ({
name: 'Nuxt',
components: {
NuxtChild: nuxt_child,
NuxtError: layouts_error
},
props: {
nuxtChildKey: {
type: String,
default: undefined
},
keepAlive: Boolean,
keepAliveProps: {
type: Object,
default: undefined
},
name: {
type: String,
default: 'default'
}
},
errorCaptured(error) {
// if we receive and error while showing the NuxtError component
// capture the error and force an immediate update so we re-render
// without the NuxtError component
if (this.displayingNuxtError) {
this.errorFromNuxtError = error;
this.$forceUpdate();
}
},
computed: {
routerViewKey() {
// If nuxtChildKey prop is given or current route has children
if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {
return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params);
}
const [matchedRoute] = this.$route.matched;
if (!matchedRoute) {
return this.$route.path;
}
const Component = matchedRoute.components.default;
if (Component && Component.options) {
const {
options
} = Component;
if (options.key) {
return typeof options.key === 'function' ? options.key(this.$route) : options.key;
}
}
const strict = /\/$/.test(matchedRoute.path);
return strict ? this.$route.path : this.$route.path.replace(/\/$/, '');
}
},
beforeCreate() {
external_vue_default.a.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt);
},
render(h) {
// if there is no error
if (!this.nuxt.err) {
// Directly return nuxt child
return h('NuxtChild', {
key: this.routerViewKey,
props: this.$props
});
}
// if an error occurred within NuxtError show a simple
// error message instead to prevent looping
if (this.errorFromNuxtError) {
this.$nextTick(() => this.errorFromNuxtError = false);
return h('div', {}, [h('h2', 'An error occurred while showing the error page'), h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'), h('p', `Error details: ${this.errorFromNuxtError.toString()}`), h('nuxt-link', {
props: {
to: '/'
}
}, 'Go back to home')]);
}
// track if we are showing the NuxtError component
this.displayingNuxtError = true;
this.$nextTick(() => this.displayingNuxtError = false);
return h(layouts_error, {
props: {
error: this.nuxt.err
}
});
}
});
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/.cache/nuxt/components/nuxt-loading.vue?vue&type=script&lang=js&
/* harmony default export */ var nuxt_loadingvue_type_script_lang_js_ = ({
name: 'NuxtLoading',
data() {
return {
percent: 0,
show: false,
canSucceed: true,
reversed: false,
skipTimerCount: 0,
rtl: false,
throttle: 200,
duration: 5000,
continuous: true
};
},
computed: {
left() {
if (!this.continuous && !this.rtl) {
return false;
}
return this.rtl ? this.reversed ? '0px' : 'auto' : !this.reversed ? '0px' : 'auto';
}
},
beforeDestroy() {
this.clear();
},
methods: {
clear() {
clearInterval(this._timer);
clearTimeout(this._throttle);
this._timer = null;
},
start() {
this.clear();
this.percent = 0;
this.reversed = false;
this.skipTimerCount = 0;
this.canSucceed = true;
if (this.throttle) {
this._throttle = setTimeout(() => this.startTimer(), this.throttle);
} else {
this.startTimer();
}
return this;
},
set(num) {
this.show = true;
this.canSucceed = true;
this.percent = Math.min(100, Math.max(0, Math.floor(num)));
return this;
},
get() {
return this.percent;
},
increase(num) {
this.percent = Math.min(100, Math.floor(this.percent + num));
return this;
},
decrease(num) {
this.percent = Math.max(0, Math.floor(this.percent - num));
return this;
},
pause() {
clearInterval(this._timer);
return this;
},
resume() {
this.startTimer();
return this;
},
finish() {
this.percent = this.reversed ? 0 : 100;
this.hide();
return this;
},
hide() {
this.clear();
setTimeout(() => {
this.show = false;
this.$nextTick(() => {
this.percent = 0;
this.reversed = false;
});
}, 500);
return this;
},
fail(error) {
this.canSucceed = false;
return this;
},
startTimer() {
if (!this.show) {
this.show = true;
}
if (typeof this._cut === 'undefined') {
this._cut = 10000 / Math.floor(this.duration);
}
this._timer = setInterval(() => {
/**
* When reversing direction skip one timers
* so 0, 100 are displayed for two iterations
* also disable css width transitioning
* which otherwise interferes and shows
* a jojo effect
*/
if (this.skipTimerCount > 0) {
this.skipTimerCount--;
return;
}
if (this.reversed) {
this.decrease(this._cut);
} else {
this.increase(this._cut);
}
if (this.continuous) {
if (this.percent >= 100) {
this.skipTimerCount = 1;
this.reversed = !this.reversed;
} else if (this.percent <= 0) {
this.skipTimerCount = 1;
this.reversed = !this.reversed;
}
}
}, 100);
}
},
render(h) {
let el = h(false);
if (this.show) {
el = h('div', {
staticClass: 'nuxt-progress',
class: {
'nuxt-progress-notransition': this.skipTimerCount > 0,
'nuxt-progress-failed': !this.canSucceed
},
style: {
width: this.percent + '%',
left: this.left
}
});
}
return el;
}
});
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-loading.vue?vue&type=script&lang=js&
/* harmony default export */ var components_nuxt_loadingvue_type_script_lang_js_ = (nuxt_loadingvue_type_script_lang_js_);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-loading.vue
var nuxt_loading_render, nuxt_loading_staticRenderFns
function nuxt_loading_injectStyles (context) {
var style0 = __webpack_require__(40)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var nuxt_loading_component = Object(componentNormalizer["a" /* default */])(
components_nuxt_loadingvue_type_script_lang_js_,
nuxt_loading_render,
nuxt_loading_staticRenderFns,
false,
nuxt_loading_injectStyles,
null,
"7ed7cee1"
)
/* harmony default export */ var nuxt_loading = (nuxt_loading_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./layouts/default.vue?vue&type=template&id=f4ecc31a&
var defaultvue_type_template_id_f4ecc31a_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
class: _vm.applicationClassList,
attrs: {
"data-lang": _vm.language
}
}, [_c('navigation-bar'), _vm._ssrNode(" "), _c('Nuxt'), _vm._ssrNode(" "), _c('app-footer')], 2);
};
var defaultvue_type_template_id_f4ecc31a_staticRenderFns = [];
// CONCATENATED MODULE: ./layouts/default.vue?vue&type=template&id=f4ecc31a&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer.vue?vue&type=template&id=39e1f500&scoped=true&
var app_footervue_type_template_id_39e1f500_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('LazyHydrate', {
attrs: {
"when-visible": ""
}
}, [_c('footer', {
staticClass: "footer"
}, [_c('div', {
staticClass: "footer__content"
}, [_c('div', {
staticClass: "footer__column-1"
}, [_c('footer-title', [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("pars mega products")) + "\n\t\t\t\t")]), _vm._v(" "), _vm._l(_vm.column1Links, function (item) {
return _c('footer-link', {
key: item.id,
attrs: {
"is-external": item.isExternal,
"text": item.showName,
"href": item.linkUrl
}
});
})], 2), _vm._v(" "), _c('div', {
staticClass: "footer__column-2"
}, [_c('footer-title', [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("quick access")) + "\n\t\t\t\t")]), _vm._v(" "), _vm._l(_vm.column2Links, function (item) {
return _c('footer-link', {
key: item.id,
attrs: {
"is-external": item.isExternal,
"text": item.showName,
"href": item.linkUrl
}
});
})], 2), _vm._v(" "), _c('div', {
staticClass: "footer__column-3"
}, [_c('footer-title', [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("contact info")) + "\n\t\t\t\t")]), _vm._v(" "), _c('a', {
staticClass: "footer__text footer__text--phone footer__text--en",
attrs: {
"href": `tel:${_vm.telephone}`
}
}, [_c('i', {
staticClass: "icon-support footer__text__icon"
}), _vm._v("\n\t\t\t\t\t" + _vm._s(_vm.telephone) + "\n\t\t\t\t")]), _vm._v(" "), _c('a', {
staticClass: "footer__text footer__text--phone footer__text--en",
attrs: {
"href": `tel:${_vm.telephone2}`
}
}, [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.telephone2) + "\n\t\t\t\t")]), _vm._v(" "), _c('div', {
staticClass: "footer__text"
}, [_c('i', {
staticClass: "icon-mail_outline footer__text__icon"
}), _vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("contactEmailValue")) + "\n\t\t\t\t")]), _vm._v(" "), _c('div', {
staticClass: "footer__text"
}, [_c('i', {
staticClass: "icon-map footer__text__icon footer__text__icon--map"
}), _vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("contactAddressValue")) + "\n\t\t\t\t")]), _vm._v(" "), _c('a', {
staticClass: "footer__social-link",
attrs: {
"href": _vm.$t('contactLinkdin')
}
}, [_c('i', {
staticClass: "icon-linkedin"
})]), _vm._v(" "), _c('a', {
staticClass: "footer__social-link",
attrs: {
"href": _vm.$t('contactYoutube')
}
}, [_c('i', {
staticClass: "icon-youtube"
})]), _vm._v(" "), _c('a', {
staticClass: "footer__social-link",
attrs: {
"href": _vm.$t('contactTelegramLink')
}
}, [_c('i', {
staticClass: "icon-telegram"
})]), _vm._v(" "), _c('a', {
staticClass: "footer__social-link",
attrs: {
"href": _vm.$t('contactInstagramLink')
}
}, [_c('i', {
staticClass: "icon-instagram"
})])], 1), _vm._v(" "), _c('div', {
staticClass: "footer__column-4"
}, [_c('footer-title', [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("about pars mega")) + "\n\t\t\t\t")]), _vm._v(" "), _c('div', {
staticClass: "footer__text"
}, [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("footerAboutLine1")) + "\n\t\t\t\t")]), _vm._v(" "), _c('div', {
staticClass: "footer__text"
}, [_vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("footerAboutLine2")) + "\n\t\t\t\t")]), _vm._v(" "), _c('div', {
staticClass: "footer__text"
}, [_c('i', {
staticClass: "icon-access_time footer__text__icon"
}), _vm._v("\n\t\t\t\t\t" + _vm._s(_vm.$t("contactWorkTimes")) + "\n\t\t\t\t")])], 1)]), _vm._v(" "), _c('footer-copyright')], 1)]);
};
var app_footervue_type_template_id_39e1f500_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/footer/app_footer.vue?vue&type=template&id=39e1f500&scoped=true&
// EXTERNAL MODULE: external "vue-lazy-hydration"
var external_vue_lazy_hydration_ = __webpack_require__(15);
var external_vue_lazy_hydration_default = /*#__PURE__*/__webpack_require__.n(external_vue_lazy_hydration_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_copyright.vue?vue&type=template&id=11bd7140&scoped=true&
var app_footer_copyrightvue_type_template_id_11bd7140_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "copyright"
}, [_vm._ssrNode(_vm._ssrEscape("\n\t" + _vm._s(_vm.$t("copyright1")) + "\n\t") + "<b class=\"copyright__company\" data-v-11bd7140>" + _vm._ssrEscape("\n\t\t" + _vm._s(_vm.$t("parsmega")) + "\n\t") + "</b>" + _vm._ssrEscape("\n\t" + _vm._s(_vm.$t("copyright2")) + "\n"))]);
};
var app_footer_copyrightvue_type_template_id_11bd7140_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/footer/app_footer_copyright.vue?vue&type=template&id=11bd7140&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_copyright.vue?vue&type=script&lang=js&
/* harmony default export */ var app_footer_copyrightvue_type_script_lang_js_ = ({
name: "AppFooterCopyright"
});
// CONCATENATED MODULE: ./components/shared/footer/app_footer_copyright.vue?vue&type=script&lang=js&
/* harmony default export */ var footer_app_footer_copyrightvue_type_script_lang_js_ = (app_footer_copyrightvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/footer/app_footer_copyright.vue
function app_footer_copyright_injectStyles (context) {
var style0 = __webpack_require__(42)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var app_footer_copyright_component = Object(componentNormalizer["a" /* default */])(
footer_app_footer_copyrightvue_type_script_lang_js_,
app_footer_copyrightvue_type_template_id_11bd7140_scoped_true_render,
app_footer_copyrightvue_type_template_id_11bd7140_scoped_true_staticRenderFns,
false,
app_footer_copyright_injectStyles,
"11bd7140",
"d958c34a"
)
/* harmony default export */ var app_footer_copyright = (app_footer_copyright_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_link.vue?vue&type=template&id=1a59aadf&scoped=true&
var app_footer_linkvue_type_template_id_1a59aadf_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _vm.isExternal ? _c('a', {
staticClass: "footer-link",
attrs: {
"href": _vm.href,
"target": "_blank"
}
}, [_vm._ssrNode(_vm._ssrEscape("\n\t" + _vm._s(_vm.text) + "\n"))], 2) : _c('nuxt-link', {
staticClass: "footer-link",
attrs: {
"to": _vm.localePath(_vm.href)
}
}, [_vm._v("\n\t" + _vm._s(_vm.text) + "\n")]);
};
var app_footer_linkvue_type_template_id_1a59aadf_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/footer/app_footer_link.vue?vue&type=template&id=1a59aadf&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_link.vue?vue&type=script&lang=js&
/* harmony default export */ var app_footer_linkvue_type_script_lang_js_ = ({
name: "AppFooterLink",
props: {
href: {
default: "#",
required: true,
type: String
},
isExternal: {
default: false,
required: true,
type: Boolean
},
text: {
default: "#",
required: true,
type: String
}
}
});
// CONCATENATED MODULE: ./components/shared/footer/app_footer_link.vue?vue&type=script&lang=js&
/* harmony default export */ var footer_app_footer_linkvue_type_script_lang_js_ = (app_footer_linkvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/footer/app_footer_link.vue
function app_footer_link_injectStyles (context) {
var style0 = __webpack_require__(44)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var app_footer_link_component = Object(componentNormalizer["a" /* default */])(
footer_app_footer_linkvue_type_script_lang_js_,
app_footer_linkvue_type_template_id_1a59aadf_scoped_true_render,
app_footer_linkvue_type_template_id_1a59aadf_scoped_true_staticRenderFns,
false,
app_footer_link_injectStyles,
"1a59aadf",
"6d2ce496"
)
/* harmony default export */ var app_footer_link = (app_footer_link_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_title.vue?vue&type=template&id=26b8a362&scoped=true&
var app_footer_titlevue_type_template_id_26b8a362_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "footer-title"
}, [_vm._t("default")], 2);
};
var app_footer_titlevue_type_template_id_26b8a362_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/footer/app_footer_title.vue?vue&type=template&id=26b8a362&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer_title.vue?vue&type=script&lang=js&
/* harmony default export */ var app_footer_titlevue_type_script_lang_js_ = ({
name: "FooterTitle"
});
// CONCATENATED MODULE: ./components/shared/footer/app_footer_title.vue?vue&type=script&lang=js&
/* harmony default export */ var footer_app_footer_titlevue_type_script_lang_js_ = (app_footer_titlevue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/footer/app_footer_title.vue
function app_footer_title_injectStyles (context) {
var style0 = __webpack_require__(46)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var app_footer_title_component = Object(componentNormalizer["a" /* default */])(
footer_app_footer_titlevue_type_script_lang_js_,
app_footer_titlevue_type_template_id_26b8a362_scoped_true_render,
app_footer_titlevue_type_template_id_26b8a362_scoped_true_staticRenderFns,
false,
app_footer_title_injectStyles,
"26b8a362",
"1c93ba6c"
)
/* harmony default export */ var app_footer_title = (app_footer_title_component.exports);
// EXTERNAL MODULE: ./api/api_list.js
var api_list = __webpack_require__(14);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/footer/app_footer.vue?vue&type=script&lang=js&
/* harmony default export */ var app_footervue_type_script_lang_js_ = ({
name: "AppFooter",
components: {
footerCopyright: app_footer_copyright,
footerLink: app_footer_link,
footerTitle: app_footer_title,
LazyHydrate: external_vue_lazy_hydration_default.a
},
computed: {
column1Links() {
return this.links.filter(item => item.column == 1).sort((a, b) => a.order - b.order);
},
column2Links() {
return this.links.filter(item => item.column == 2).sort((a, b) => a.order - b.order);
},
instagramLink() {
return this.$t("contactInstagramLink");
},
telegramLink() {
return this.$t("contactTelegramLink");
},
telephone() {
return this.$t("contactSupportPhoneValue");
},
telephone2() {
return this.$t("contactSupportPhone2Value");
},
twitterLink() {
return this.$t("contactTwitterLink");
}
},
data() {
return {
links: []
};
},
async created() {
const locale = this.$i18n.locale;
this.links = await Object(api_list["h" /* getFooterLinks */])(this.$axios, locale);
}
});
// CONCATENATED MODULE: ./components/shared/footer/app_footer.vue?vue&type=script&lang=js&
/* harmony default export */ var footer_app_footervue_type_script_lang_js_ = (app_footervue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/footer/app_footer.vue
function app_footer_injectStyles (context) {
var style0 = __webpack_require__(48)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var app_footer_component = Object(componentNormalizer["a" /* default */])(
footer_app_footervue_type_script_lang_js_,
app_footervue_type_template_id_39e1f500_scoped_true_render,
app_footervue_type_template_id_39e1f500_scoped_true_staticRenderFns,
false,
app_footer_injectStyles,
"39e1f500",
"b7f1bc5a"
)
/* harmony default export */ var app_footer = (app_footer_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_bar.vue?vue&type=template&id=237fa5d8&scoped=true&
var navigation_barvue_type_template_id_237fa5d8_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('section', {
staticClass: "navigation"
}, [_c('contact-bar'), _vm._ssrNode(" "), _c('menu-bar')], 2);
};
var navigation_barvue_type_template_id_237fa5d8_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_bar.vue?vue&type=template&id=237fa5d8&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_contact_bar.vue?vue&type=template&id=8875293a&scoped=true&
var navigation_contact_barvue_type_template_id_8875293a_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "contact-bar"
}, [_vm._ssrNode("<div class=\"contact-bar__contents\" data-v-8875293a><a" + _vm._ssrAttr("href", `tel:${_vm.telephone}`) + " class=\"contact-bar__support\" data-v-8875293a>" + _vm._ssrEscape("\n\t\t\t" + _vm._s(_vm.telephone) + "\n\t\t\t") + "<i class=\"icon-support contact-bar__icon\" data-v-8875293a></i></a> <span class=\"contact-bar__mail\" data-v-8875293a>" + _vm._ssrEscape("\n\t\t\t" + _vm._s(_vm.$t("contactEmailValue")) + "\n\t\t\t") + "<i class=\"icon-mail_outline contact-bar__icon\" data-v-8875293a></i></span> <span class=\"contact-bar__times\" data-v-8875293a><i class=\"icon-access_time contact-bar__icon\" data-v-8875293a></i>" + _vm._ssrEscape("\n\t\t\t" + _vm._s(_vm.$t("contactWorkTimes")) + "\n\t\t") + "</span> <a" + _vm._ssrAttr("href", _vm.$t('contactLinkdin')) + " class=\"contact-bar__social-link\" data-v-8875293a><i class=\"icon-linkedin\" data-v-8875293a></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactYoutube')) + " class=\"contact-bar__social-link\" data-v-8875293a><i class=\"icon-youtube\" data-v-8875293a></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactTelegramLink')) + " class=\"contact-bar__social-link\" data-v-8875293a><i class=\"icon-telegram\" data-v-8875293a></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactInstagramLink')) + " class=\"contact-bar__social-link\" data-v-8875293a><i class=\"icon-instagram\" data-v-8875293a></i></a></div>")]);
};
var navigation_contact_barvue_type_template_id_8875293a_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_contact_bar.vue?vue&type=template&id=8875293a&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_contact_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_contact_barvue_type_script_lang_js_ = ({
name: "NavigationContactBar",
computed: {
instagramLink() {
return this.$t("contactInstagramLink");
},
telegramLink() {
return this.$t("contactTelegramLink");
},
telephone() {
return this.$t("contactSupportPhoneValue");
},
twitterLink() {
return this.$t("contactTwitterLink");
}
}
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_contact_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_contact_barvue_type_script_lang_js_ = (navigation_contact_barvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_contact_bar.vue
function navigation_contact_bar_injectStyles (context) {
var style0 = __webpack_require__(50)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_contact_bar_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_contact_barvue_type_script_lang_js_,
navigation_contact_barvue_type_template_id_8875293a_scoped_true_render,
navigation_contact_barvue_type_template_id_8875293a_scoped_true_staticRenderFns,
false,
navigation_contact_bar_injectStyles,
"8875293a",
"f8fec2ec"
)
/* harmony default export */ var navigation_contact_bar = (navigation_contact_bar_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_menu_bar.vue?vue&type=template&id=8336deaa&scoped=true&
var navigation_menu_barvue_type_template_id_8336deaa_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "menu-bar menu-bar--colored"
}, [_vm._ssrNode("<div class=\"menu-bar__contents\" data-v-8336deaa>", "</div>", [_vm._ssrNode("<i class=\"icon-menu menu-bar__hamburger-btn\" data-v-8336deaa></i> "), _c('logo-link', {
staticClass: "menu-bar__logo"
}), _vm._ssrNode(" "), _c('menu-drawer', {
attrs: {
"is-drawer-active": _vm.isDrawerActive
},
on: {
"close": _vm.hideDrawer
}
})], 2)]);
};
var navigation_menu_barvue_type_template_id_8336deaa_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_bar.vue?vue&type=template&id=8336deaa&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_menu_drawer.vue?vue&type=template&id=119f9dc8&scoped=true&
var navigation_menu_drawervue_type_template_id_119f9dc8_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('div', {
staticClass: "drawer",
class: {
'drawer--active': _vm.isDrawerActive
}
}, [_vm._ssrNode("<div class=\"drawer__header\" data-v-119f9dc8>", "</div>", [_vm._ssrNode("<i class=\"icon-clear drawer__close-btn\" data-v-119f9dc8></i> "), _c('logo-link')], 2), _vm._ssrNode(" "), _vm._ssrNode("<div class=\"drawer__body\" data-v-119f9dc8>", "</div>", _vm._l(_vm.rootMenuItems, function (link) {
return _c('navigation-item', {
key: link.name,
attrs: {
"link": link,
"subLinks": _vm.getMenuItemChilds(link.name)
}
});
}), 1), _vm._ssrNode(" <div class=\"drawer__footer\" data-v-119f9dc8><a" + _vm._ssrAttr("href", 'tel:' + _vm.supportPhone) + " class=\"drawer__call-btn\" data-v-119f9dc8>" + _vm._ssrEscape("\n " + _vm._s(_vm.supportPhone) + "\n ") + "<i class=\"icon-support drawer__call-btn__icon\" data-v-119f9dc8></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactLinkdin')) + " class=\"drawer__social-link\" data-v-119f9dc8><i class=\"icon-linkedin\" data-v-119f9dc8></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactYoutube')) + " class=\"drawer__social-link\" data-v-119f9dc8><i class=\"icon-youtube\" data-v-119f9dc8></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactTelegramLink')) + " class=\"drawer__social-link\" data-v-119f9dc8><i class=\"icon-telegram\" data-v-119f9dc8></i></a> <a" + _vm._ssrAttr("href", _vm.$t('contactInstagramLink')) + " class=\"drawer__social-link\" data-v-119f9dc8><i class=\"icon-instagram\" data-v-119f9dc8></i></a></div>")], 2);
};
var navigation_menu_drawervue_type_template_id_119f9dc8_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_drawer.vue?vue&type=template&id=119f9dc8&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_logo_link.vue?vue&type=template&id=2301b45b&scoped=true&
var navigation_logo_linkvue_type_template_id_2301b45b_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _c('nuxt-link', {
staticClass: "logo-link",
attrs: {
"to": _vm.localePath('/')
}
}, [_c('img', {
staticClass: "logo",
attrs: {
"src": __webpack_require__(52),
"alt": "لوگوی پارس مگا"
}
})]);
};
var navigation_logo_linkvue_type_template_id_2301b45b_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_logo_link.vue?vue&type=template&id=2301b45b&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_logo_link.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_logo_linkvue_type_script_lang_js_ = ({
name: "NavigationLogoLink"
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_logo_link.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_logo_linkvue_type_script_lang_js_ = (navigation_logo_linkvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_logo_link.vue
function navigation_logo_link_injectStyles (context) {
var style0 = __webpack_require__(53)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_logo_link_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_logo_linkvue_type_script_lang_js_,
navigation_logo_linkvue_type_template_id_2301b45b_scoped_true_render,
navigation_logo_linkvue_type_template_id_2301b45b_scoped_true_staticRenderFns,
false,
navigation_logo_link_injectStyles,
"2301b45b",
"c43e00b8"
)
/* harmony default export */ var navigation_logo_link = (navigation_logo_link_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_item.vue?vue&type=template&id=4f134f80&scoped=true&
var navigation_itemvue_type_template_id_4f134f80_scoped_true_render = function render() {
var _vm = this,
_c = _vm._self._c;
return _vm.hasSubLinks ? _c('div', {
staticClass: "root-link root-link--has-child",
on: {
"click": _vm.toogleChilds
}
}, [_vm._ssrNode("<div class=\"root-link\" style=\"padding: 0\" data-v-4f134f80>", "</div>", [_vm._ssrNode(_vm._ssrEscape("\n\t\t" + _vm._s(_vm.$t(_vm.link.showName)) + "\n\t\t")), _vm.link.url ? _c('nuxt-link', {
staticClass: "root-link__go-parent-on-desktop",
attrs: {
"to": _vm.localePath(_vm.link.url)
}
}) : _vm._e()], 2), _vm._ssrNode(" "), _vm._ssrNode("<div" + _vm._ssrClass("links-childs-wrapper", {
'links-childs-wrapper--active': _vm.isChildsWrapperActive
}) + " data-v-4f134f80>", "</div>", _vm._l(_vm.subLinks, function (item) {
return _c('nuxt-link', {
key: item.name,
staticClass: "child-link",
attrs: {
"to": _vm.localePath(item.url)
}
}, [_vm._v("\n\t\t\t" + _vm._s(_vm.$t(item.showName)) + "\n\t\t")]);
}), 1)], 2) : _c('nuxt-link', {
staticClass: "root-link",
attrs: {
"to": _vm.localePath(_vm.link.url),
"exact": _vm.link.url == '/',
"active-class": 'root-link--active'
}
}, [_vm._v("\n\t" + _vm._s(_vm.$t(_vm.link.showName)) + "\n")]);
};
var navigation_itemvue_type_template_id_4f134f80_scoped_true_staticRenderFns = [];
// CONCATENATED MODULE: ./components/shared/navigation/navigation_item.vue?vue&type=template&id=4f134f80&scoped=true&
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_item.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_itemvue_type_script_lang_js_ = ({
name: "NavigationItem",
computed: {
hasSubLinks() {
return this.subLinks && this.subLinks.length > 0;
}
},
data() {
return {
isChildsWrapperActive: true
};
},
methods: {
toogleChilds() {
//this.isChildsWrapperActive = !this.isChildsWrapperActive;
}
},
props: {
link: {
required: true,
type: Object
},
subLinks: {
required: true
}
}
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_item.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_itemvue_type_script_lang_js_ = (navigation_itemvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_item.vue
function navigation_item_injectStyles (context) {
var style0 = __webpack_require__(55)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_item_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_itemvue_type_script_lang_js_,
navigation_itemvue_type_template_id_4f134f80_scoped_true_render,
navigation_itemvue_type_template_id_4f134f80_scoped_true_staticRenderFns,
false,
navigation_item_injectStyles,
"4f134f80",
"c9e8d126"
)
/* harmony default export */ var navigation_item = (navigation_item_component.exports);
// EXTERNAL MODULE: ./store/static_values.json
var static_values = __webpack_require__(25);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_menu_drawer.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_menu_drawervue_type_script_lang_js_ = ({
name: "MenuDrawer",
components: {
logoLink: navigation_logo_link,
navigationItem: navigation_item
},
computed: {
instagramLink() {
return this.$t("contactInstagramLink");
},
menuItems() {
return static_values.mainMenuItems;
},
rootMenuItems() {
return this.menuItems.filter(item => !item.parent && item.visible);
},
supportPhone() {
return this.$t("contactSupportPhoneValue");
},
telegramLink() {
return this.$t("contactTelegramLink");
},
twitterLink() {
return this.$t("contactTwitterLink");
}
},
methods: {
getMenuItemChilds(menuName) {
return this.menuItems.filter(item => item.parent == menuName && item.visible);
}
},
props: {
isDrawerActive: {
default: false,
required: true,
type: Boolean
}
}
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_drawer.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_menu_drawervue_type_script_lang_js_ = (navigation_menu_drawervue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_drawer.vue
function navigation_menu_drawer_injectStyles (context) {
var style0 = __webpack_require__(57)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_menu_drawer_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_menu_drawervue_type_script_lang_js_,
navigation_menu_drawervue_type_template_id_119f9dc8_scoped_true_render,
navigation_menu_drawervue_type_template_id_119f9dc8_scoped_true_staticRenderFns,
false,
navigation_menu_drawer_injectStyles,
"119f9dc8",
"0a8a5067"
)
/* harmony default export */ var navigation_menu_drawer = (navigation_menu_drawer_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_menu_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_menu_barvue_type_script_lang_js_ = ({
name: "MenuBar",
components: {
menuDrawer: navigation_menu_drawer,
logoLink: navigation_logo_link
},
data() {
return {
isDrawerActive: false
};
},
methods: {
hideDrawer() {
this.isDrawerActive = false;
},
showDrawer() {
this.isDrawerActive = true;
}
},
watch: {
$route: {
handler: "hideDrawer"
}
}
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_menu_barvue_type_script_lang_js_ = (navigation_menu_barvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_menu_bar.vue
function navigation_menu_bar_injectStyles (context) {
var style0 = __webpack_require__(59)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_menu_bar_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_menu_barvue_type_script_lang_js_,
navigation_menu_barvue_type_template_id_8336deaa_scoped_true_render,
navigation_menu_barvue_type_template_id_8336deaa_scoped_true_staticRenderFns,
false,
navigation_menu_bar_injectStyles,
"8336deaa",
"9f6ad6e6"
)
/* harmony default export */ var navigation_menu_bar = (navigation_menu_bar_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./components/shared/navigation/navigation_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_barvue_type_script_lang_js_ = ({
name: "NavigationBar",
components: {
contactBar: navigation_contact_bar,
menuBar: navigation_menu_bar
}
});
// CONCATENATED MODULE: ./components/shared/navigation/navigation_bar.vue?vue&type=script&lang=js&
/* harmony default export */ var navigation_navigation_barvue_type_script_lang_js_ = (navigation_barvue_type_script_lang_js_);
// CONCATENATED MODULE: ./components/shared/navigation/navigation_bar.vue
function navigation_bar_injectStyles (context) {
var style0 = __webpack_require__(61)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var navigation_bar_component = Object(componentNormalizer["a" /* default */])(
navigation_navigation_barvue_type_script_lang_js_,
navigation_barvue_type_template_id_237fa5d8_scoped_true_render,
navigation_barvue_type_template_id_237fa5d8_scoped_true_staticRenderFns,
false,
navigation_bar_injectStyles,
"237fa5d8",
"11f55cae"
)
/* harmony default export */ var navigation_bar = (navigation_bar_component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/string-replace-loader??ref--12!./layouts/default.vue?vue&type=script&lang=js&
/* harmony default export */ var defaultvue_type_script_lang_js_ = ({
name: "Default",
components: {
appFooter: app_footer,
navigationBar: navigation_bar
},
computed: {
applicationClassList() {
const lang = this.language;
let classList = {
app: true
};
classList[`app--${lang}`] = true;
return classList;
},
language() {
return this.$i18n.localeProperties.code || "fa";
}
}
});
// CONCATENATED MODULE: ./layouts/default.vue?vue&type=script&lang=js&
/* harmony default export */ var layouts_defaultvue_type_script_lang_js_ = (defaultvue_type_script_lang_js_);
// CONCATENATED MODULE: ./layouts/default.vue
function default_injectStyles (context) {
var style0 = __webpack_require__(63)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var default_component = Object(componentNormalizer["a" /* default */])(
layouts_defaultvue_type_script_lang_js_,
defaultvue_type_template_id_f4ecc31a_render,
defaultvue_type_template_id_f4ecc31a_staticRenderFns,
false,
default_injectStyles,
null,
"538b0398"
)
/* harmony default export */ var layouts_default = (default_component.exports);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/App.js
const layouts = {
"_default": sanitizeComponent(layouts_default)
};
/* harmony default export */ var App = ({
render(h, props) {
const loadingEl = h('NuxtLoading', {
ref: 'loading'
});
const layoutEl = h(this.layout || 'nuxt');
const templateEl = h('div', {
domProps: {
id: '__layout'
},
key: this.layoutName
}, [layoutEl]);
const transitionEl = h('transition', {
props: {
name: 'layout',
mode: 'out-in'
},
on: {
beforeEnter(el) {
// Ensure to trigger scroll event after calling scrollBehavior
window.$nuxt.$nextTick(() => {
window.$nuxt.$emit('triggerScroll');
});
}
}
}, [templateEl]);
return h('div', {
domProps: {
id: '__nuxt'
}
}, [loadingEl, transitionEl]);
},
data: () => ({
isOnline: true,
layout: null,
layoutName: '',
nbFetching: 0
}),
beforeCreate() {
external_vue_default.a.util.defineReactive(this, 'nuxt', this.$options.nuxt);
},
created() {
// Add this.$nuxt in child instances
this.$root.$options.$nuxt = this;
if (false) {}
// Add $nuxt.error()
this.error = this.nuxt.error;
// Add $nuxt.context
this.context = this.$options.context;
},
async mounted() {
this.$loading = this.$refs.loading;
if (this.isPreview) {
if (this.$store && this.$store._actions.nuxtServerInit) {
this.$loading.start();
await this.$store.dispatch('nuxtServerInit', this.context);
}
await this.refresh();
this.$loading.finish();
}
},
watch: {
'nuxt.err': 'errorChanged'
},
computed: {
isOffline() {
return !this.isOnline;
},
isFetching() {
return this.nbFetching > 0;
},
isPreview() {
return Boolean(this.$options.previewData);
}
},
methods: {
refreshOnlineStatus() {
if (false) {}
},
async refresh() {
const pages = getMatchedComponentsInstances(this.$route);
if (!pages.length) {
return;
}
this.$loading.start();
const promises = pages.map(page => {
const p = [];
// Old fetch
if (page.$options.fetch && page.$options.fetch.length) {
p.push(promisify(page.$options.fetch, this.context));
}
if (page.$fetch) {
p.push(page.$fetch());
} else {
// Get all component instance to call $fetch
for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {
p.push(component.$fetch());
}
}
if (page.$options.asyncData) {
p.push(promisify(page.$options.asyncData, this.context).then(newData => {
for (const key in newData) {
external_vue_default.a.set(page.$data, key, newData[key]);
}
}));
}
return Promise.all(p);
});
try {
await Promise.all(promises);
} catch (error) {
this.$loading.fail(error);
globalHandleError(error);
this.error(error);
}
this.$loading.finish();
},
errorChanged() {
if (this.nuxt.err) {
if (this.$loading) {
if (this.$loading.fail) {
this.$loading.fail(this.nuxt.err);
}
if (this.$loading.finish) {
this.$loading.finish();
}
}
let errorLayout = (layouts_error.options || layouts_error).layout;
if (typeof errorLayout === 'function') {
errorLayout = errorLayout(this.context);
}
this.setLayout(errorLayout);
}
},
setLayout(layout) {
if (!layout || !layouts['_' + layout]) {
layout = 'default';
}
this.layoutName = layout;
this.layout = layouts['_' + layout];
return this.layout;
},
loadLayout(layout) {
if (!layout || !layouts['_' + layout]) {
layout = 'default';
}
return Promise.resolve(layouts['_' + layout]);
},
getRouterBase() {
return Object(external_ufo_["withoutTrailingSlash"])(this.$router.options.base);
},
getRoutePath(route = '/') {
const base = this.getRouterBase();
return Object(external_ufo_["withoutTrailingSlash"])(Object(external_ufo_["withoutBase"])(Object(external_ufo_["parsePath"])(route).pathname, base));
},
getStaticAssetsPath(route = '/') {
const {
staticAssetsBase
} = window.__NUXT__;
return urlJoin(staticAssetsBase, this.getRoutePath(route));
},
async fetchStaticManifest() {
return window.__NUXT_IMPORT__('manifest.js', Object(external_ufo_["normalizeURL"])(urlJoin(this.getStaticAssetsPath(), 'manifest.js')));
},
setPagePayload(payload) {
this._pagePayload = payload;
this._fetchCounters = {};
},
async fetchPayload(route, prefetch) {
const path = Object(external_ufo_["decode"])(this.getRoutePath(route));
const manifest = await this.fetchStaticManifest();
if (!manifest.routes.includes(path)) {
if (!prefetch) {
this.setPagePayload(false);
}
throw new Error(`Route ${path} is not pre-rendered`);
}
const src = urlJoin(this.getStaticAssetsPath(route), 'payload.js');
try {
const payload = await window.__NUXT_IMPORT__(path, Object(external_ufo_["normalizeURL"])(src));
if (!prefetch) {
this.setPagePayload(payload);
}
return payload;
} catch (err) {
if (!prefetch) {
this.setPagePayload(false);
}
throw err;
}
}
},
components: {
NuxtLoading: nuxt_loading
}
});
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/store.js
external_vue_default.a.use(external_vuex_default.a);
const VUEX_PROPERTIES = ['state', 'getters', 'actions', 'mutations'];
let store_store = {};
(function updateModules() {
// If store is an exported method = classic mode (deprecated)
// Enforce store modules
store_store.modules = store_store.modules || {};
resolveStoreModules(__webpack_require__(34), 'category_filter_data.js');
// If the environment supports hot reloading...
})();
// createStore
const createStore = store_store instanceof Function ? store_store : () => {
return new external_vuex_default.a.Store(Object.assign({
strict: "production" !== 'production'
}, store_store));
};
function normalizeRoot(moduleData, filePath) {
moduleData = moduleData.default || moduleData;
if (moduleData.commit) {
throw new Error(`[nuxt] ${filePath} should export a method that returns a Vuex instance.`);
}
if (typeof moduleData !== 'function') {
// Avoid TypeError: setting a property that has only a getter when overwriting top level keys
moduleData = Object.assign({}, moduleData);
}
return normalizeModule(moduleData, filePath);
}
function normalizeModule(moduleData, filePath) {
if (moduleData.state && typeof moduleData.state !== 'function') {
console.warn(`'state' should be a method that returns an object in ${filePath}`);
const state = Object.assign({}, moduleData.state);
// Avoid TypeError: setting a property that has only a getter when overwriting top level keys
moduleData = Object.assign({}, moduleData, {
state: () => state
});
}
return moduleData;
}
function resolveStoreModules(moduleData, filename) {
moduleData = moduleData.default || moduleData;
// Remove store src + extension (./foo/index.js -> foo/index)
const namespace = filename.replace(/\.(js|mjs)$/, '');
const namespaces = namespace.split('/');
let moduleName = namespaces[namespaces.length - 1];
const filePath = `store/${filename}`;
moduleData = moduleName === 'state' ? normalizeState(moduleData, filePath) : normalizeModule(moduleData, filePath);
// If src is a known Vuex property
if (VUEX_PROPERTIES.includes(moduleName)) {
const property = moduleName;
const propertyStoreModule = getStoreModule(store_store, namespaces, {
isProperty: true
});
// Replace state since it's a function
mergeProperty(propertyStoreModule, moduleData, property);
return;
}
// If file is foo/index.js, it should be saved as foo
const isIndexModule = moduleName === 'index';
if (isIndexModule) {
namespaces.pop();
moduleName = namespaces[namespaces.length - 1];
}
const storeModule = getStoreModule(store_store, namespaces);
for (const property of VUEX_PROPERTIES) {
mergeProperty(storeModule, moduleData[property], property);
}
if (moduleData.namespaced === false) {
delete storeModule.namespaced;
}
}
function normalizeState(moduleData, filePath) {
if (typeof moduleData !== 'function') {
console.warn(`${filePath} should export a method that returns an object`);
const state = Object.assign({}, moduleData);
return () => state;
}
return normalizeModule(moduleData, filePath);
}
function getStoreModule(storeModule, namespaces, {
isProperty = false
} = {}) {
// If ./mutations.js
if (!namespaces.length || isProperty && namespaces.length === 1) {
return storeModule;
}
const namespace = namespaces.shift();
storeModule.modules[namespace] = storeModule.modules[namespace] || {};
storeModule.modules[namespace].namespaced = true;
storeModule.modules[namespace].modules = storeModule.modules[namespace].modules || {};
return getStoreModule(storeModule.modules[namespace], namespaces, {
isProperty
});
}
function mergeProperty(storeModule, moduleData, property) {
if (!moduleData) {
return;
}
if (property === 'state') {
storeModule.state = moduleData || storeModule.state;
} else {
storeModule[property] = Object.assign({}, storeModule[property], moduleData);
}
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/v-lazy-load.js
__webpack_require__(65);
let v_lazy_load_options = {
"images": true,
"videos": true,
"audios": true,
"iframes": true,
"native": false,
"directiveOnly": true,
"loadingClass": "isLoading",
"loadedClass": "isLoaded",
"appendClass": "lazyLoad",
"observerConfig": {},
"globalName": "nuxt"
};
let observer = null;
let attributes = ['src', 'poster', 'srcset'];
let elementsMap = {
img: 'images',
video: 'videos',
audio: 'audios',
iframe: 'iframes',
picture: 'images'
};
const capitalize = s => {
if (typeof s !== 'string') return '';
return s.charAt(0).toUpperCase() + s.slice(1);
};
const setAttributes = (el, defaultImage = false) => {
let elementTagName = el.tagName.toLowerCase();
if (elementTagName !== 'svg') {
let media = el.children && el.children.length > 0 ? [...el.children, el] : [el];
media.forEach(el => {
for (let attribute of attributes) {
if (el.dataset[attribute]) {
el[attribute] = defaultImage ? v_lazy_load_options.defaultImage : el.dataset[attribute];
if (!defaultImage) el.removeAttribute(`data-${attribute}`);
}
if (el.load) el.load();
if (elementTagName === 'audio' && el.getAttribute('data-lazy-controls') === 'true') {
el.removeAttribute('controls');
el.removeAttribute('data-lazy-controls');
}
}
});
}
};
const setBackground = el => {
el.style.backgroundImage = `url(${el.getAttribute('lazy-background')})`;
el.removeAttribute('lazy-background');
if (v_lazy_load_options.loadedClass !== false) el.classList.add(v_lazy_load_options.loadedClass);
};
const setClasses = (el, type) => {
let elementTagName = el.tagName.toLowerCase();
if (['img', 'picture', 'video'].includes(elementTagName)) {
el = elementTagName === 'picture' ? el.querySelector('img') : el;
let eventName = elementTagName === 'video' ? 'loadeddata' : 'load';
const e = elementTagName === 'picture' ? el.parentNode : el;
if (v_lazy_load_options.loadingClass !== false && type === 'loading') {
e.classList.add(v_lazy_load_options.loadingClass);
el.addEventListener(eventName, () => {
e.classList.remove(v_lazy_load_options.loadingClass);
});
} else if (v_lazy_load_options.loadedClass !== false && type === 'loaded') {
el.addEventListener(eventName, () => {
e.classList.add(v_lazy_load_options.loadedClass);
});
}
} else if (type === 'loaded' && v_lazy_load_options.loadedClass !== false) {
el.classList.add(v_lazy_load_options.loadedClass);
}
};
const removeNotLazy = el => {
el.removeAttribute('data-no-lazy');
el.removeAttribute('data-not-lazy');
};
if (false) {}
const vLazyLoad = external_vue_default.a.directive('lazy-load', {
inserted(el, {
value,
def
}) {
def.set(el, value);
},
update(el, {
value,
def
}, vNode, oldVnode) {
for (let attribute of attributes) {
if (oldVnode.data.attrs && vNode.data.attrs && oldVnode.data.attrs[`data-${attribute}`] !== vNode.data.attrs[`data-${attribute}`]) {
def.set(el, value);
break;
}
}
},
set(el, value) {
if (v_lazy_load_options.native === true) {
if (v_lazy_load_options.appendClass) el.classList.add(v_lazy_load_options.appendClass);
if (['notLazy', 'noLazy'].every(d => el.dataset[d] === undefined)) {
el.setAttribute('loading', 'lazy');
removeNotLazy(el);
if (v_lazy_load_options.loadedClass) {
el.addEventListener('load', () => {
el.classList.add(v_lazy_load_options.loadedClass);
});
}
}
} else {
if (v_lazy_load_options.defaultImage) setAttributes(el, true);
if (false) {}
}
}
});
const vLazyBackground = external_vue_default.a.directive('lazy-background', {
inserted(el, {
def
}) {
def.set(el);
},
update(el, {
def
}, vNode, oldVnode) {
def.set(el, vNode.data.attrs['lazy-background'] !== oldVnode.data.attrs['lazy-background']);
},
set(el, hasBackgroundChanged = false) {
if (false) {}
}
});
external_vue_default.a.use(vLazyLoad);
external_vue_default.a.use(vLazyBackground);
const lazyLoadMedia = el => {
el.removeAttribute('data-manual-lazy');
if (v_lazy_load_options.appendClass !== false) el.classList.add(v_lazy_load_options.appendClass);
if (el.getAttribute('lazy-background')) setBackground(el);else {
setAttributes(el);
setClasses(el, 'loading');
setClasses(el, 'loaded');
}
};
const lazyLoadInject = e => {
if (e.target) {
let media = e.target.querySelectorAll('[data-manual-lazy]');
[...media].forEach(m => lazyLoadMedia(m));
} else lazyLoadMedia(e);
};
// IE Polyfill
// if (!Array.from && options.polyfill) {
// Array.from = (function () {
// var toStr = Object.prototype.toString;
// var isCallable = function (fn) {
// return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
// };
// var toInteger = function (value) {
// var number = Number(value);
// if (isNaN(number)) { return 0; }
// if (number === 0 || !isFinite(number)) { return number; }
// return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
// };
// var maxSafeInteger = Math.pow(2, 53) - 1;
// var toLength = function (value) {
// var len = toInteger(value);
// return Math.min(Math.max(len, 0), maxSafeInteger);
// };
// return function from(arrayLike) {
// var C = this;
// var items = Object(arrayLike);
// if (arrayLike == null) {
// throw new TypeError("Array.from requires an array-like object - not null or undefined");
// }
// var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
// var T;
// if (typeof mapFn !== 'undefined') {
// if (!isCallable(mapFn)) {
// throw new TypeError('Array.from: when provided, the second argument must be a function');
// }
// if (arguments.length > 2) {
// T = arguments[2];
// }
// }
// var len = toLength(items.length);
// var A = isCallable(C) ? Object(new C(len)) : new Array(len);
// var k = 0;
// var kValue;
// while (k < len) {
// kValue = items[k];
// if (mapFn) {
// A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
// } else {
// A[k] = kValue;
// }
// k += 1;
// }
// A.length = len;
// return A;
// };
// }());
// }
/* harmony default export */ var v_lazy_load = ((context, inject) => {
inject('lazyLoad', lazyLoadInject);
});
// EXTERNAL MODULE: ./node_modules/is-https/dist/index.js
var dist = __webpack_require__(32);
var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
// CONCATENATED MODULE: ./languages/fa.js
/* harmony default export */ var fa = ({
// main menu
"work time": "شنبه تا چهارشنبه 09:00 تا 18:00 | پنجشنبه 09:00 تا 13:00",
home: "صفحه نخست",
products: "محصولات",
"contact-us": "ارتباط با ما",
blog: "وبلاگ",
"about-us": "درباره ما",
"more details": "جزئیات بیشتر",
parsmega: "پارسمگا",
// home page features
warranty: "گارانتی",
guarantee: "گارانتی",
support: "پشتیبانی",
"immediate sending": "ارسال فوری",
"18-month warranty for return of products": "گارانتی 18 ماهه پارس مگا",
"support during business hours": "پشتیبانی پس از فروش تخصصی",
"send immediately after ordering products": "ارسال بلافاصله بعد از سفارش کالا",
//home page products
"new products": "آخرین محصولات",
"view all products": "مشاهده همه محصولات",
// home page about
"about pars mega": "درباره پارس مگا",
"home about title": "ما معتقدیم مشتریان بهترین داوران در مورد کیفیت محصولات ما هستند.",
"home about description": "گروه مهندسی پارس مگا صنعت با نام تجاری پارس مگا در سال 1389 با هدف فعالیت در زمینه خدمات اتوماسیون صنعتی و الکترونیک شکل گرفت.گروه مهندسی پارس مگا با پشتوانه سال ها تجربه در زمینه اتوماسیون صنعتی و استفاده از به روزترین محصولات از برندهای معتبر جهانی یکی از پیشگامان ارائه و توسعه خدمات اتوماسیون صنعتی و کنترل در ایران می باشد. این گروه با دارا بودن کادری دانش آموخته و مجرب که مسلط به استفاده از ابزار و ادوات کنترلی روز دنیا می باشند، اقدام به طراحی و اجرای پروژه های اتوماسیون صنعتی در طیف وسیعی از نیازهای بازار و صنعت نموده است .",
// home page customers
"our customers": "برخی مشتریان ما",
"products count": "تعداد محصول",
"customers count": "تعداد مشتری",
"products sold": "محصولات فروش رفته",
// home page blog section
"new articles": "آخرین مقالات",
"see all": "مشاهده همه",
// footer
"pars mega products": "محصولات پارس مگا",
"quick access": "دسترسی سریع",
"contact info": "اطلاعات تماس",
copyright1: "کلیه حقوق برای شرکت",
copyright2: "محفوظ است.",
footerAboutLine1: "شرکت پارس مگا به پشتوانه سالها تجربه و دانش بروز مهندسان خود یکی از شرکتهای پیشرو در زمینه تولید تجهیزات اتوماسیون صنعتی است.",
footerAboutLine2: "ترانسمیتر های لودسل، نمایشگر لودسل، نمایشگر سیگنالهای آنالوگ، کارتهای ریموت و بردهای رله از جمله محصولات پارس مگا است.",
// contact us page
"contact us tel": "شماره تماس و ساعات کاری",
"contact us social": "ایمیل و شبکه های اجتماعی",
"contact us address": "آدرس شرکت",
contactAddressValue: "تهران، چهاردانگه، ابتدای شهرک صنعتی چهاردانگه، مجتمع تجاری اداری کوشک ایرانیان، بلوک A، طبقه اول، واحد 1",
contactSupportPhone2Value: "+98 21-55940166",
contactSupportPhoneValue: "+98 21-91009955",
contactWorkTimes: "شنبه تا چهارشنبه 09:00 تا 18:00 | پنجشنبه 09:00 تا 13:00",
contactEmailValue: "info@parsmega.com",
contactLinkdin: "https://www.linkedin.com/company/parsmega",
contactTelegramLink: "https://t.me/ParsMega",
contactTwitterLink: "https://twitter.com/parsmega_com",
contactInstagramLink: "https://www.instagram.com/parsmega",
contactYoutubeLink: "https://www.youtube.com/channel/UCv3gN-au1Py2Uc53Hu5goCQ",
contactAparatLink: "#",
today: "امروز",
// products page
"home page": "صفحه نخست",
"download the manual": "دانلود دفترچه راهنما",
"see details": "مشاهده جزئیات",
"main features of the product": "ویژگیهای اصلی کالا",
review: "نقد و بررسی",
specifications: "مشخصات",
downloadFiles: "دانلود فایل راهنما شماره ",
videos: "ویدئوها",
comments: "نظرات",
getDocuments: "دریافت لیست فایلهای راهنمای محصول",
watchVideos: "مشاهده فایلهای آموزشی محصول",
seeAll: "مشاهده جزئیات",
manualFiles: "فایلهای راهنما",
relaitedProducts: "محصولات مشابه",
guaranteeMonth: "ماه ضمانت",
filterProducts: "فیلتر محصولات",
settedFilters: "فیلترهای اعمال شده",
deleteFilter: "حذف",
inputOutputFilter: "ورودی/خروجی",
displayScreenFilter: "صفحه نمایش",
technicalFilter: "تکنیکال",
connectionFilter: "درگاه ارتباطی",
notFoundProduc: "محصولی با فیلترهای اعمال شده یافت نشد!",
otherFilter: "سایر",
// catgories
controllers: "کنترلرها",
converter: "مبدل",
"relay board": "برد رله",
weight: "وزن",
productsCategories: "دستهبندی محصولات",
"counter-timer": "کانتر و تایمر",
"serial-converter": "مبدل سریال",
"temperature-humidity": "دما و رطوبت",
"io-development-module": "ماژولهای توسعه",
"analog-converter": "مبدل آنالوگ",
weighing: "توزین",
//wp categoreis
articles: "مقالات",
"product categories": "محصولات",
controllers: "کنترلر",
converter: "مبدل",
"relay board": "برد رله",
weight: "وزن",
// wblog
"read more": "ادامه مطلب",
"next page": "صفحه بعد",
"previus page": "صفحه قبل",
today: "امروز",
yesterday: "دیروز",
"week ago": "هفته پیش",
"month ago": "ماه پیش",
"years ago": "سال پیش",
// products properties
"Article Content": "متن مقاله",
content: "محتوی",
//propertis category
"Technical Properties": "مشخصات فنی",
"Electrical Properties": "مشخصات الکتریکی",
"Display Properties": "مشخصات صفحه نمایش",
"Physical Properties": "مشخصات فیزیکی",
"Analog Output Properties": "مشخصات خروجی آنالوگ",
"Digital Input Properties": "مشخصات ورودی دیجیتال",
"Digital Output Properties": "مشخصات خروجی دیجیتال",
"Serial Communication Properties": "مشخصات ارتباط سریال",
"Fieldbus Properties": "مشخصات ارتباط فیلدباس",
"Analog Input Properties": "مشخصات ورودی آنالوگ",
// properties list
"extra details": "توضیحات بیشتر",
"number of load cells": "تعداد لودسل قابل اتصال",
"load cells supply": "ولتاژ تحریک لودسل",
"measurement range": "محدوده ورودی آنالوگ",
"a/d converter": "مبدل آنالوگ به دیجیتال",
"digital filter": "فیلتر دیجیتال",
"conversions per second": "فرکانس تبدیل",
linearity: "میزان خطی بودن ",
"thermal drift": "پایداری حرارتی",
"converter type": "نوع مبدل",
"conversion frequency": "فرکانس تبدیل",
"number of digital outputs": "تعداد خروجی دیجیتال",
"number of digital inputs": "تعداد ورودی دیجیتال",
"controller type": "نوع کنترلر",
"controller input type": "نوع ورودی",
"control method": "نوع کنترل",
"": "",
"power supply": "منبع تغذیه",
"power consumption": "توان مصرفی",
battery: "باتری",
"battery type": "نوع باتری",
display: "نمایشگر",
"display range": "محدوده نمایش",
"display type": "نوع نمایشگر",
"key pad": "صفحه کلید",
dimensions: "ابعاد",
"body Material": "جنس بدنه",
"protection according": "درجه حفاظت",
"installation type": "نحوه نصب",
"type of wiring": "نوع سیم بندی",
"working temperature": "محدوده دمای کاری",
"analog output": "خروجی آنالوگ",
"analog output accuracy": "دقت آنالوگ خروجی",
"analog output linearity": "خطی بودن خروجی آنالوگ",
"analog output type": "نوع خروجی آنالوگ",
"analog output thermal drift": "پایداری حرارتی در خروجی آنالوگ",
isolation: "ایزولاسیون",
"digital input": "ورودی دیجیتال",
"number of digital inputs": "تعداد ورودی دیجیتال",
"digital output": "خروجی دیجیتال",
"number of digital outputs": "تعداد خروجی دیجیتال",
"serial communication": "ارتباط سریال",
"number of serial ports": "تعداد پورت سریال",
"serial port type": "نوع پورت سریال",
"fieldbus communication": "ارتباط fieldbus",
"number of fieldbus ports": "تعداد پورت fieldbus",
"fieldbus port type": "نوع پورت fieldbus",
"analog input": "ورودی آنالوگ",
"analog input accuracy": "دقت آنالوگ ورودی",
"analog input type": "نوع آنالوگ ورودی",
"analog input linearity": "خطی بودن ورودی آنالوگ",
"analog input thermal drift": "پایداری حرارتی در ورودی آنالوگ",
// values
true: "دارد",
false: "ندارد",
telemeter: "دورشمار",
counter: "کانتر",
timer: "تایمر",
// comments
addCommentTitle: "ضمن قدردانی از حسن انتخاب شما، باعث افتخار است تا با ارائه نظرات، انتقادات و پیشنهادات سازنده خود، ما را در راستای دستیابی به هدف اصلیمان که جلب رضایت شما کاربران عزیز است یاری نمایید.",
commentAuthorError: "نام فرستنده پیام وارد نشده است.",
commentEmailError: "برای ثبت نظر نیاز به وارد کردن یک پست الکترونیک معتبر میباشد.",
commentContentError: "متن پیام وارد نشده است.",
addComment: "ثبت نظر",
commentAuthorName: "نام و نام خانوادگی",
commentEmail: "پست الکترونیک",
commentContent: "متن پیام یا نظر خود را وارد نمایید",
commentSuccess: "پیام شما با موفقیت ارسال شد.",
commentFailed: "فرآیند ارسال پیام با خطا مواجه شده است، لطفا مجددا اقدام فرمایید.",
//other
product: "محصول",
productApp: "نرمافزار محصولات"
});
// CONCATENATED MODULE: ./languages/en.js
/* harmony default export */ var en = ({
// main menu
"work time": "Saturday to Wednesday 09:00 to 18:00 | Thursday 09:00 to 13:00",
home: "Home",
products: "Products",
"contact-us": "Contact-us",
blog: "Weblog",
"about-us": "About-us",
"more details": "More info",
parsmega: "Parsmega",
// home page features
warranty: "Warranty",
guarantee: "Guarantee",
support: "Support",
"immediate sending": "Immediate Sending",
"18-month warranty for return of products": "18-month money back guarantee",
"support during business hours": "Support during business hours",
"send immediately after ordering products": "Sending immediately after ordering",
//home page products
"new products": "Last products",
"view all products": "Show all products",
// home page about
"about pars mega": "About Parsmega",
"home about title": "We believe customers are the best judges of the quality of our products.",
"home about description": "Parsmega Sanat Engineering Group with Pars Mega brand was formed in 2010 with the aim of working in the field of industrial automation and electronic services. Pars Mega Engineering Group with the support of years of experience in the field of industrial automation and using the latest products from reputable global brands Is one of the pioneers in providing and developing industrial automation and control services in Iran.This group, with its educated and experienced staff who are proficient in using the latest tools and control devices in the world, designs and implements industrial automation projects in It has a wide range of market and industry needs.",
// home page customers
"our customers": "Some of our customers",
"products count": "Producst count",
"customers count": "Customers count",
"products sold": "Products sold",
// home page blog section
"new articles": "New articles",
"see all": "See all",
// footer
"pars mega products": "Parsmega Products",
"quick access": "Quick Access",
"contact info": "Contact Info",
copyright1: "All rights reserved for",
copyright2: "",
footerAboutLine1: "Parsmega Company is one of the leading companies in the field of industrial automation equipment, backed by years of experience and knowledge of its engineers.",
footerAboutLine2: "Load cell transmitters, load cell display, analog signal display, remote cards and relay boards are among Pars Mega products.",
// contact us page
"contact us tel": "Contact number and working hours",
"contact us social": "Email and social networks",
"contact us address": "Address",
contactAddressValue: "Unit 1,First Floor, Block A, Kushk Iranian Commercial and Administrative Complex, Chahardangeh, Tehran, Iran",
contactSupportPhone2Value: "+98 21-55940166",
contactSupportPhoneValue: "+98 21-91009955",
contactWorkTimes: "Saturday to Wednesday 09:00 to 18:00 | Thursday 09:00 to 13:00",
contactEmailValue: "info@parsmega.com",
contactLinkdin: "https://www.linkedin.com/company/parsmega",
contactTelegramLink: "https://t.me/ParsMega",
contactTwitterLink: "https://twitter.com/parsmega_com",
contactInstagramLink: "https://www.instagram.com/parsmega",
contactYoutubeLink: "https://www.youtube.com/channel/UCv3gN-au1Py2Uc53Hu5goCQ",
contactAparatLink: "#",
today: "Today",
// products page
"home page": "Home",
"download the manual": "Download files",
"see details": "See details",
"main features of the product": "Main features",
review: "Review",
specifications: "Specifications",
downloadFiles: "Download file number ",
videos: "Videos",
comments: "Comments",
getDocuments: "Get documents",
watchVideos: "See videos",
seeAll: "See All",
manualFiles: "Manual files",
relaitedProducts: "Simila products",
guaranteeMonth: "Month guarantee",
filterProducts: "Filter producsts",
settedFilters: "Active filters",
deleteFilter: "remove",
inputOutputFilter: "InputOutput",
displayScreenFilter: "Display",
technicalFilter: "Technical",
connectionFilter: "Connections",
notFoundProduc: "Not Found",
// catgories
controllers: "Controllers",
converter: "Converter",
"relay board": "Relay Board",
weight: "Weight",
productsCategories: "Categories",
"counter-timer": "Counter & Timer",
"serial-converter": "Serial Converter",
"temperature-humidity": "Temperature & Humidity",
"io-development-module": "IO Development Module",
"analog-converter": "Analog Converter",
weighing: "Weighing",
//wp categoreis
articles: "Articles",
"product categories": "Products",
controllers: "Controllers",
converter: "Converter",
"relay board": "Relay Board",
weight: "weight",
// wblog
"read more": "Read more",
"next page": "Next page",
"previus page": "Previus page",
today: "Today",
yesterday: "yesterday",
"week ago": "Week ago",
"month ago": "Month ago",
"years ago": "Years ago",
// products properties
"Article Content": "Contents",
content: "Content",
//propertis category
"Technical Properties": "Technical Properties",
"Electrical Properties": "Electrical Properties",
"Display Properties": "Display Properties",
"Physical Properties": "Physical Properties",
"Analog Output Properties": "Analog Output Properties",
"Digital Input Properties": "Digital Input Properties",
"Digital Output Properties": "Digital Output Properties",
"Serial Communication Properties": "Serial Communication Properties",
"Fieldbus Properties": "Fieldbus Properties",
"Analog Input Properties": "Analog Input Properties",
// properties list
"extra details": "More info",
"number of load cells": "Number of load cells",
"load cells supply": "Load cells supply",
"measurement range": "Measurement range",
"a/d converter": "a/d converter",
"digital filter": "Digital filter",
"conversions per second": "Conversions per second",
linearity: "Linearity",
"thermal drift": "Thermal drift",
"converter type": "Converter type",
"conversion frequency": "Conversion frequency",
"number of digital outputs": "Number of digital outputs",
"number of digital inputs": "Number of digital inputs",
"controller type": "Controller type",
"controller input type": "Controller input type",
"control method": "Control method",
"power supply": "Power supply",
"power consumption": "Power consumption",
battery: "Battery",
"battery type": "Battery type",
display: "Display",
"display range": "Display range",
"display type": "Display type",
"key pad": "key pad",
dimensions: "Dimensions",
"body Material": "Body material",
"protection according": "Protection according",
"installation type": "Installation type",
"type of wiring": "Type of wiring",
"working temperature": "Working temperature",
"analog output": "Analog output",
"analog output accuracy": "Analog output accuracy",
"analog output linearity": "Analog output linearity",
"analog output type": "Analog output type",
"analog output thermal drift": "Analog output thermal drift",
isolation: "Isolation",
"digital input": "Digital input",
"number of digital inputs": "Number of digital inputs",
"digital output": "Digital output",
"number of digital outputs": "Number of digital outputs",
"serial communication": "Serial communication",
"number of serial ports": "Number of serial ports",
"serial port type": "Serial port type",
"fieldbus communication": "Fieldbus communication",
"number of fieldbus ports": "Number of fieldbus ports",
"fieldbus port type": "Fieldbus port type",
"analog input": "Analog input",
"analog input accuracy": "Analog input accuracy",
"analog input type": "Analog input type",
"analog input linearity": "Analog input linearity",
"analog input thermal drift": "Analog input thermal drift",
// values
true: "Yes",
false: "No",
// comments
addCommentTitle: "While appreciating your good choice, we are proud to help you achieve our main goal, which is to satisfy you, dear users, by providing your constructive comments, criticisms and suggestions.",
commentAuthorError: "Please enter your name",
commentEmailError: "Please enter your email",
commentContentError: "Please enter your message",
addComment: "Send",
commentAuthorName: "Name",
commentEmail: "Email",
commentContent: "Enter your comments here",
commentSuccess: "Your message has been successfully sent.",
commentFailed: "The message sending process has encountered an error, please try again.",
//other
product: "Product",
productApp: "Parsmega Desktop Application"
});
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/options.js
const Constants = {
COMPONENT_OPTIONS_KEY: "nuxtI18n",
STRATEGIES: {
"PREFIX": "prefix",
"PREFIX_EXCEPT_DEFAULT": "prefix_except_default",
"PREFIX_AND_DEFAULT": "prefix_and_default",
"NO_PREFIX": "no_prefix"
}
};
const nuxtOptions = {
isUniversalMode: true,
trailingSlash: undefined
};
const options_options = {
vueI18n: {},
vueI18nLoader: false,
locales: [{
"code": "fa",
"iso": "fa-IR",
"file": "fa.js",
"dir": "rtl"
}, {
"code": "en",
"iso": "en-US",
"file": "en.js",
"dir": "ltr"
}],
defaultLocale: "fa",
defaultDirection: "ltr",
routesNameSeparator: "___",
defaultLocaleRouteNameSuffix: "default",
sortRoutes: true,
strategy: "prefix_except_default",
lazy: false,
langDir: "C:\\inetpub\\wwwroot\\parsmega.com\\languages",
rootRedirect: null,
detectBrowserLanguage: false,
differentDomains: false,
seo: false,
baseUrl: "",
vuex: {
"moduleName": "i18n",
"syncLocale": false,
"syncMessages": false,
"syncRouteParams": true
},
parsePages: true,
pages: {},
skipSettingLocaleOnNavigate: false,
beforeLanguageSwitch: () => null,
onBeforeLanguageSwitch: () => {},
onLanguageSwitched: () => null,
fallbackLocale: "fa",
useCookie: false,
normalizedLocales: [{
"code": "fa",
"iso": "fa-IR",
"file": "fa.js",
"dir": "rtl"
}, {
"code": "en",
"iso": "en-US",
"file": "en.js",
"dir": "ltr"
}],
localeCodes: ["fa", "en"]
};
const localeMessages = {
'fa.js': () => Promise.resolve(fa),
'en.js': () => Promise.resolve(en)
};
// EXTERNAL MODULE: external "cookie"
var external_cookie_ = __webpack_require__(12);
var external_cookie_default = /*#__PURE__*/__webpack_require__.n(external_cookie_);
// EXTERNAL MODULE: external "js-cookie"
var external_js_cookie_ = __webpack_require__(66);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/utils-common.js
/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */
/**
* Formats a log message, prefixing module's name to it.
*
* @param {string} text
* @return {string}
*/
function formatMessage(text) {
return `[nuxt-i18n] ${text}`;
}
/**
* Parses locales provided from browser through `accept-language` header.
*
* @param {string} input
* @return {string[]} An array of locale codes. Priority determined by order in array.
*/
function parseAcceptLanguage(input) {
// Example input: en-US,en;q=0.9,nb;q=0.8,no;q=0.7
// Contains tags separated by comma.
// Each tag consists of locale code (2-3 letter language code) and optionally country code
// after dash. Tag can also contain score after semicolon, that is assumed to match order
// so it's not explicitly used.
return input.split(',').map(tag => tag.split(';')[0]);
}
/**
* Find locale code that best matches provided list of browser locales.
*
* @param {ResolvedOptions['normalizedLocales']} appLocales The user-configured locales that are to be matched.
* @param {readonly string[]} browserLocales The locales to match against configured.
* @return {string | undefined}
*/
function matchBrowserLocale(appLocales, browserLocales) {
/** @type {{ code: string, score: number }[]} */
const matchedLocales = [];
// Normalise appLocales input
/** @type {{ code: string, iso: string }[]} */
const normalizedAppLocales = [];
for (const appLocale of appLocales) {
const {
code
} = appLocale;
const iso = appLocale.iso || code;
normalizedAppLocales.push({
code,
iso
});
}
// First pass: match exact locale.
for (const [index, browserCode] of browserLocales.entries()) {
const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.toLowerCase() === browserCode.toLowerCase());
if (matchedLocale) {
matchedLocales.push({
code: matchedLocale.code,
score: 1 - index / browserLocales.length
});
break;
}
}
// Second pass: match only locale code part of the browser locale (not including country).
for (const [index, browserCode] of browserLocales.entries()) {
const languageCode = browserCode.split('-')[0].toLowerCase();
const matchedLocale = normalizedAppLocales.find(appLocale => appLocale.iso.split('-')[0].toLowerCase() === languageCode);
if (matchedLocale) {
// Deduct a thousandth for being non-exact match.
matchedLocales.push({
code: matchedLocale.code,
score: 0.999 - index / browserLocales.length
});
break;
}
}
// Sort the list by score (0 - lowest, 1 - highest).
if (matchedLocales.length > 1) {
matchedLocales.sort((localeA, localeB) => {
if (localeA.score === localeB.score) {
// If scores are equal then pick more specific (longer) code.
return localeB.code.length - localeA.code.length;
}
return localeB.score - localeA.score;
});
}
return matchedLocales.length ? matchedLocales[0].code : undefined;
}
/**
* Get locale code that corresponds to current hostname
*
* @param {ResolvedOptions['normalizedLocales']} locales
* @param {import('http').IncomingMessage | undefined} req
* @return {string} Locale code found if any
*/
function getLocaleDomain(locales, req) {
/** @type {string | undefined} */
let host;
if (false) {} else if (req) {
const detectedHost = req.headers['x-forwarded-host'] || req.headers.host;
host = Array.isArray(detectedHost) ? detectedHost[0] : detectedHost;
}
if (host) {
const matchingLocale = locales.find(l => l.domain === host);
if (matchingLocale) {
return matchingLocale.code;
}
}
return '';
}
/**
* Creates a RegExp for route paths
*
* @param {readonly string[]} localeCodes
* @return {RegExp}
*/
function getLocalesRegex(localeCodes) {
return new RegExp(`^/(${localeCodes.join('|')})(?:/|$)`, 'i');
}
/**
* Creates getter for getLocaleFromRoute
*
* @param {readonly string[]} localeCodes
* @param {Pick<ResolvedOptions, 'routesNameSeparator' | 'defaultLocaleRouteNameSuffix'>} options
*/
function createLocaleFromRouteGetter(localeCodes, {
routesNameSeparator,
defaultLocaleRouteNameSuffix
}) {
const localesPattern = `(${localeCodes.join('|')})`;
const defaultSuffixPattern = `(?:${routesNameSeparator}${defaultLocaleRouteNameSuffix})?`;
const regexpName = new RegExp(`${routesNameSeparator}${localesPattern}${defaultSuffixPattern}$`, 'i');
const regexpPath = getLocalesRegex(localeCodes);
/**
* Extract locale code from given route:
* - If route has a name, try to extract locale from it
* - Otherwise, fall back to using the routes'path
* @param {import('vue-router').Route} route
* @return {string} Locale code found if any
*/
const getLocaleFromRoute = route => {
// Extract from route name
if (route.name) {
const matches = route.name.match(regexpName);
if (matches && matches.length > 1) {
return matches[1];
}
} else if (route.path) {
// Extract from path
const matches = route.path.match(regexpPath);
if (matches && matches.length > 1) {
return matches[1];
}
}
return '';
};
return getLocaleFromRoute;
}
/**
* @param {import('http').IncomingMessage | undefined} req
* @param {{ useCookie: boolean, cookieKey: string, localeCodes: readonly string[] }} options
* @return {string | undefined}
*/
function getLocaleCookie(req, {
useCookie,
cookieKey,
localeCodes
}) {
if (useCookie) {
let localeCode;
if (false) {} else if (req && typeof req.headers.cookie !== 'undefined') {
const cookies = req.headers && req.headers.cookie ? external_cookie_default.a.parse(req.headers.cookie) : {};
localeCode = cookies[cookieKey];
}
if (localeCode && localeCodes.includes(localeCode)) {
return localeCode;
}
}
}
/**
* @param {string} locale
* @param {import('http').ServerResponse | undefined} res
* @param {{ useCookie: boolean, cookieDomain: string | null, cookieKey: string, cookieSecure: boolean, cookieCrossOrigin: boolean}} options
*/
function setLocaleCookie(locale, res, {
useCookie,
cookieDomain,
cookieKey,
cookieSecure,
cookieCrossOrigin
}) {
if (!useCookie) {
return;
}
const date = new Date();
/** @type {import('cookie').CookieSerializeOptions} */
const cookieOptions = {
expires: new Date(date.setDate(date.getDate() + 365)),
path: '/',
sameSite: cookieCrossOrigin ? 'none' : 'lax',
secure: cookieCrossOrigin || cookieSecure
};
if (cookieDomain) {
cookieOptions.domain = cookieDomain;
}
if (false) {} else if (res) {
let headers = res.getHeader('Set-Cookie') || [];
if (!Array.isArray(headers)) {
headers = [String(headers)];
}
const redirectCookie = external_cookie_default.a.serialize(cookieKey, locale, cookieOptions);
headers.push(redirectCookie);
res.setHeader('Set-Cookie', headers);
}
}
// EXTERNAL MODULE: ./node_modules/ufo/dist/index.cjs
var ufo_dist = __webpack_require__(5);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/plugin.utils.js
// @ts-ignore
/** @typedef {import('../../types/internal').ResolvedOptions} ResolvedOptions */
/**
* Asynchronously load messages from translation files
*
* @param {import('@nuxt/types').Context} context
* @param {string} locale Language code to load
* @return {Promise<void>}
*/
async function loadLanguageAsync(context, locale) {
const {
app
} = context;
const {
i18n
} = app;
if (!i18n.loadedLanguages) {
i18n.loadedLanguages = [];
}
if (!i18n.loadedLanguages.includes(locale)) {
const localeObject = options_options.normalizedLocales.find(l => l.code === locale);
if (localeObject) {
const {
file
} = localeObject;
if (file) {
/* */
/** @type {import('vue-i18n').LocaleMessageObject | undefined} */
let messages;
if (false) {}
if (!messages) {
try {
// @ts-ignore
const getter = await localeMessages[file]().then(m => m.default || m);
messages = typeof getter === 'function' ? await Promise.resolve(getter(context, locale)) : getter;
} catch (error) {
// eslint-disable-next-line no-console
console.error(formatMessage(`Failed loading async locale export: ${error.message}`));
}
}
if (messages) {
i18n.setLocaleMessage(locale, messages);
i18n.loadedLanguages.push(locale);
}
/* */
} else {
console.warn(formatMessage(`Could not find lang file for locale ${locale}`));
}
} else {
console.warn(formatMessage(`Attempted to load messages for non-existant locale code "${locale}"`));
}
}
}
/**
* Resolves base URL value if provided as function. Otherwise just returns verbatim.
*
* @param {string | ((context: import('@nuxt/types').Context) => string)} baseUrl
* @param {import('@nuxt/types').Context} context
* @param {import('../../types').Locale} localeCode
* @param {Pick<ResolvedOptions, 'differentDomains' | 'normalizedLocales'>} options
* @return {string}
*/
function resolveBaseUrl(baseUrl, context, localeCode, {
differentDomains,
normalizedLocales
}) {
if (typeof baseUrl === 'function') {
return baseUrl(context);
}
if (differentDomains && localeCode) {
// Lookup the `differentDomain` origin associated with given locale.
const domain = getDomainFromLocale(localeCode, context.req, {
normalizedLocales
});
if (domain) {
return domain;
}
}
return baseUrl;
}
/**
* Gets the `differentDomain` domain from locale.
*
* @param {string} localeCode
* @param {import('http').IncomingMessage | undefined} req
* @param {Pick<ResolvedOptions, 'normalizedLocales'>} options
* @return {string | undefined}
*/
function getDomainFromLocale(localeCode, req, {
normalizedLocales
}) {
// Lookup the `differentDomain` origin associated with given locale.
const lang = normalizedLocales.find(locale => locale.code === localeCode);
if (lang && lang.domain) {
if (Object(ufo_dist["hasProtocol"])(lang.domain)) {
return lang.domain;
}
let protocol;
if (true) {
protocol = req && dist_default()(req) ? 'https' : 'http';
} else {}
return `${protocol}://${lang.domain}`;
}
// eslint-disable-next-line no-console
console.warn(formatMessage(`Could not find domain name for locale ${localeCode}`));
}
/**
* @param {import('vuex').Store<Record<string, boolean>>} store
* @param {Required<import('../../types').VuexOptions>} vuex
* @param {readonly string[]} localeCodes
*/
function registerStore(store, vuex, localeCodes) {
/** @typedef {{
* locale?: string
* messages?: Record<string, string>
* routeParams?: Record<string, Record<string, string>>
* }} ModuleStore
*
* @type {import('vuex').Module<ModuleStore, {}>}
*/
const storeModule = {
namespaced: true,
state: () => ({
...(vuex.syncLocale ? {
locale: ''
} : {}),
...(vuex.syncMessages ? {
messages: {}
} : {}),
...(vuex.syncRouteParams ? {
routeParams: {}
} : {})
}),
actions: {
...(vuex.syncLocale ? {
setLocale({
commit
}, locale) {
commit('setLocale', locale);
}
} : {}),
...(vuex.syncMessages ? {
setMessages({
commit
}, messages) {
commit('setMessages', messages);
}
} : {}),
...(vuex.syncRouteParams ? {
setRouteParams({
commit
}, params) {
if (false) {}
commit('setRouteParams', params);
}
} : {})
},
mutations: {
...(vuex.syncLocale ? {
setLocale(state, locale) {
state.locale = locale;
}
} : {}),
...(vuex.syncMessages ? {
setMessages(state, messages) {
state.messages = messages;
}
} : {}),
...(vuex.syncRouteParams ? {
setRouteParams(state, params) {
state.routeParams = params;
}
} : {})
},
getters: {
...(vuex.syncRouteParams ? {
localeRouteParams: ({
routeParams
}) => {
/** @type {(locale: string) => Record<string, string>} */
const paramsGetter = locale => routeParams && routeParams[locale] || {};
return paramsGetter;
}
} : {})
}
};
store.registerModule(vuex.moduleName, storeModule, {
preserveState: !!store.state[vuex.moduleName]
});
}
/**
* Dispatch store module actions to keep it in sync with app's locale data
*
* @param {import('vuex').Store<void>} store
* @param {string | null} locale The current locale
* @param {object | null} messages Current messages
* @param {ResolvedOptions['vuex']} vuex
* @return {Promise<void>}
*/
async function syncVuex(store, locale = null, messages = null, vuex) {
if (vuex && store) {
if (locale !== null && vuex.syncLocale) {
await store.dispatch(vuex.moduleName + '/setLocale', locale);
}
if (messages !== null && vuex.syncMessages) {
await store.dispatch(vuex.moduleName + '/setMessages', messages);
}
}
}
/**
* Validate setRouteParams action's payload
*
* @param {object} routeParams The action's payload
* @param {readonly string[]} localeCodes
*/
function validateRouteParams(routeParams, localeCodes) {
if (!isObject(routeParams)) {
// eslint-disable-next-line no-console
console.warn(formatMessage('Route params should be an object'));
return;
}
for (const [key, value] of Object.entries(routeParams)) {
if (!localeCodes.includes(key)) {
// eslint-disable-next-line no-console
console.warn(formatMessage(`Trying to set route params for key ${key} which is not a valid locale`));
} else if (!isObject(value)) {
// eslint-disable-next-line no-console
console.warn(formatMessage(`Trying to set route params for locale ${key} with a non-object value`));
}
}
}
/**
* @param {any} value
* @return {boolean}
*/
function isObject(value) {
return value && !Array.isArray(value) && typeof value === 'object';
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/middleware.js
// @ts-ignore
/** @type {import('@nuxt/types').Middleware} */
const i18nMiddleware = async context => {
const {
app,
isHMR
} = context;
if (isHMR) {
return;
}
const [status, redirectPath, preserveQuery] = await app.i18n.__onNavigate(context.route);
if (status && redirectPath) {
const query = preserveQuery ? context.route.query : undefined;
context.redirect(status, redirectPath, query);
}
};
nuxt_middleware.nuxti18n = i18nMiddleware;
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/plugin.routing.js
// @ts-ignore
/**
* @this {import('../../types/internal').PluginProxy}
* @type {Vue['localePath']}
*/
function plugin_routing_localePath(route, locale) {
const localizedRoute = resolveRoute.call(this, route, locale);
return localizedRoute ? localizedRoute.route.fullPath : '';
}
/**
* @this {import('../../types/internal').PluginProxy}
* @type {Vue['localeRoute']}
*/
function localeRoute(route, locale) {
const resolved = resolveRoute.call(this, route, locale);
return resolved ? resolved.route : undefined;
}
/**
* @this {import('../../types/internal').PluginProxy}
* @type {Vue['localeLocation']}
*/
function localeLocation(route, locale) {
const resolved = resolveRoute.call(this, route, locale);
return resolved ? resolved.location : undefined;
}
/**
* @this {import('../../types/internal').PluginProxy}
* @param {import('vue-router').RawLocation} route
* @param {string} [locale]
* @return {ReturnType<import('vue-router').default['resolve']> | undefined}
*/
function resolveRoute(route, locale) {
// Abort if no route or no locale
if (!route) {
return;
}
const {
i18n
} = this;
locale = locale || i18n.locale;
if (!locale) {
return;
}
// If route parameter is a string, check if it's a path or name of route.
if (typeof route === 'string') {
if (route[0] === '/') {
// If route parameter is a path, create route object with path.
route = {
path: route
};
} else {
// Else use it as route name.
route = {
name: route
};
}
}
let localizedRoute = Object.assign({}, route);
if (localizedRoute.path && !localizedRoute.name) {
const resolvedRoute = this.router.resolve(localizedRoute).route;
const resolvedRouteName = this.getRouteBaseName(resolvedRoute);
if (resolvedRouteName) {
localizedRoute = {
name: getLocaleRouteName(resolvedRouteName, locale),
params: resolvedRoute.params,
query: resolvedRoute.query,
hash: resolvedRoute.hash
};
} else {
const isDefaultLocale = locale === options_options.defaultLocale;
// if route has a path defined but no name, resolve full route using the path
const isPrefixed =
// don't prefix default locale
!(isDefaultLocale && [Constants.STRATEGIES.PREFIX_EXCEPT_DEFAULT, Constants.STRATEGIES.PREFIX_AND_DEFAULT].includes(options_options.strategy)) &&
// no prefix for any language
!(options_options.strategy === Constants.STRATEGIES.NO_PREFIX) &&
// no prefix for different domains
!i18n.differentDomains;
if (isPrefixed) {
localizedRoute.path = `/${locale}${localizedRoute.path}`;
}
localizedRoute.path = nuxtOptions.trailingSlash ? Object(ufo_dist["withTrailingSlash"])(localizedRoute.path, true) : Object(ufo_dist["withoutTrailingSlash"])(localizedRoute.path, true);
}
} else {
if (!localizedRoute.name && !localizedRoute.path) {
localizedRoute.name = this.getRouteBaseName();
}
localizedRoute.name = getLocaleRouteName(localizedRoute.name, locale);
const {
params
} = localizedRoute;
if (params && params['0'] === undefined && params.pathMatch) {
params['0'] = params.pathMatch;
}
}
const resolvedRoute = this.router.resolve(localizedRoute);
if (resolvedRoute.route.name) {
return resolvedRoute;
}
// If didn't resolve to an existing route then just return resolved route based on original input.
return this.router.resolve(route);
}
/**
* @this {import('../../types/internal').PluginProxy}
* @type {Vue['switchLocalePath']}
*/
function switchLocalePath(locale) {
const name = this.getRouteBaseName();
if (!name) {
return '';
}
const {
i18n,
route,
store
} = this;
const {
params,
...routeCopy
} = route;
let langSwitchParams = {};
if (options_options.vuex && options_options.vuex.syncRouteParams && store) {
langSwitchParams = store.getters[`${options_options.vuex.moduleName}/localeRouteParams`](locale);
}
const baseRoute = Object.assign({}, routeCopy, {
name,
params: {
...params,
...langSwitchParams,
0: params.pathMatch
}
});
let path = this.localePath(baseRoute, locale);
// Handle different domains
if (i18n.differentDomains) {
const getDomainOptions = {
differentDomains: i18n.differentDomains,
normalizedLocales: options_options.normalizedLocales
};
const domain = getDomainFromLocale(locale, this.req, getDomainOptions);
if (domain) {
path = domain + path;
}
}
return path;
}
/**
* @this {import('../../types/internal').PluginProxy}
* @type {Vue['getRouteBaseName']}
*/
function getRouteBaseName(givenRoute) {
const route = givenRoute !== undefined ? givenRoute : this.route;
if (!route || !route.name) {
return;
}
return route.name.split(options_options.routesNameSeparator)[0];
}
/**
* @param {string | undefined} routeName
* @param {string} locale
*/
function getLocaleRouteName(routeName, locale) {
let name = routeName + (options_options.strategy === Constants.STRATEGIES.NO_PREFIX ? '' : options_options.routesNameSeparator + locale);
if (locale === options_options.defaultLocale && options_options.strategy === Constants.STRATEGIES.PREFIX_AND_DEFAULT) {
name += options_options.routesNameSeparator + options_options.defaultLocaleRouteNameSuffix;
}
return name;
}
/**
* @template {(...args: any[]) => any} T
* @param {T} targetFunction
* @return {(this: Vue, ...args: Parameters<T>) => ReturnType<T>}
*/
const VueInstanceProxy = function (targetFunction) {
return function () {
const proxy = {
getRouteBaseName: this.getRouteBaseName,
i18n: this.$i18n,
localePath: this.localePath,
localeRoute: this.localeRoute,
localeLocation: this.localeLocation,
req: true ? this.$ssrContext.req : undefined,
route: this.$route,
router: this.$router,
store: this.$store
};
return targetFunction.call(proxy, ...arguments);
};
};
/**
* @template {(...args: any[]) => any} T
* @param {import('@nuxt/types').Context} context
* @param {T} targetFunction
* @return {(...args: Parameters<T>) => ReturnType<T>}
*/
const NuxtContextProxy = function (context, targetFunction) {
return function () {
const {
app,
req,
route,
store
} = context;
const proxy = {
getRouteBaseName: app.getRouteBaseName,
i18n: app.i18n,
localePath: app.localePath,
localeLocation: app.localeLocation,
localeRoute: app.localeRoute,
req: true ? req : undefined,
route,
router: app.router,
store
};
return targetFunction.call(proxy, ...arguments);
};
};
/** @type {import('vue').PluginObject<void>} */
const plugin_routing_plugin = {
install(Vue) {
Vue.mixin({
methods: {
localePath: VueInstanceProxy(plugin_routing_localePath),
localeRoute: VueInstanceProxy(localeRoute),
localeLocation: VueInstanceProxy(localeLocation),
switchLocalePath: VueInstanceProxy(switchLocalePath),
getRouteBaseName: VueInstanceProxy(getRouteBaseName)
}
});
}
};
/** @type {import('@nuxt/types').Plugin} */
/* harmony default export */ var plugin_routing = (context => {
external_vue_default.a.use(plugin_routing_plugin);
const {
app,
store
} = context;
app.localePath = context.localePath = NuxtContextProxy(context, plugin_routing_localePath);
app.localeRoute = context.localeRoute = NuxtContextProxy(context, localeRoute);
app.localeLocation = context.localeLocation = NuxtContextProxy(context, localeLocation);
app.switchLocalePath = context.switchLocalePath = NuxtContextProxy(context, switchLocalePath);
app.getRouteBaseName = context.getRouteBaseName = NuxtContextProxy(context, getRouteBaseName);
if (store) {
store.localePath = app.localePath;
store.localeRoute = app.localeRoute;
store.localeLocation = app.localeLocation;
store.switchLocalePath = app.switchLocalePath;
store.getRouteBaseName = app.getRouteBaseName;
}
});
// EXTERNAL MODULE: external "vue-i18n"
var external_vue_i18n_ = __webpack_require__(13);
var external_vue_i18n_default = /*#__PURE__*/__webpack_require__.n(external_vue_i18n_);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.delete-all.js"
var esnext_map_delete_all_js_ = __webpack_require__(68);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.every.js"
var esnext_map_every_js_ = __webpack_require__(69);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.filter.js"
var esnext_map_filter_js_ = __webpack_require__(70);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.find.js"
var esnext_map_find_js_ = __webpack_require__(71);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.find-key.js"
var esnext_map_find_key_js_ = __webpack_require__(72);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.includes.js"
var esnext_map_includes_js_ = __webpack_require__(73);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.key-of.js"
var esnext_map_key_of_js_ = __webpack_require__(74);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.map-keys.js"
var esnext_map_map_keys_js_ = __webpack_require__(75);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.map-values.js"
var esnext_map_map_values_js_ = __webpack_require__(76);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.merge.js"
var esnext_map_merge_js_ = __webpack_require__(77);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.reduce.js"
var esnext_map_reduce_js_ = __webpack_require__(78);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.some.js"
var esnext_map_some_js_ = __webpack_require__(79);
// EXTERNAL MODULE: external "core-js/modules/esnext.map.update.js"
var esnext_map_update_js_ = __webpack_require__(80);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/head-meta.js
/**
* @this {import('vue/types/vue').Vue}
* @return {import('vue-meta').MetaInfo}
*/
function nuxtI18nHead({
addDirAttribute = true,
addSeoAttributes = false
} = {}) {
// Can happen when using from a global mixin.
if (!this.$i18n) {
return {};
}
/** @type {import('../../types/vue').NuxtI18nMeta} */
const metaObject = {
htmlAttrs: {},
link: [],
meta: []
};
const currentLocale = this.$i18n.localeProperties;
const currentLocaleIso = currentLocale.iso;
const currentLocaleDir = currentLocale.dir || options_options.defaultDirection;
/**
* Adding Direction Attribute:
*/
if (addDirAttribute) {
metaObject.htmlAttrs.dir = currentLocaleDir;
}
/**
* Adding SEO Meta:
*/
if (addSeoAttributes && (
// @ts-ignore
external_vue_meta_default.a.hasMetaInfo ? external_vue_meta_default.a.hasMetaInfo(this) : this._hasMetaInfo) && this.$i18n.locale && this.$i18n.locales && this.$options[Constants.COMPONENT_OPTIONS_KEY] !== false &&
// @ts-ignore
!(this.$options[Constants.COMPONENT_OPTIONS_KEY] && this.$options[Constants.COMPONENT_OPTIONS_KEY].seo === false)) {
if (currentLocaleIso) {
metaObject.htmlAttrs.lang = currentLocaleIso; // TODO: simple lang or "specific" lang with territory?
}
const locales = /** @type {import('../../types').LocaleObject[]} */this.$i18n.locales;
addHreflangLinks.bind(this)(locales, this.$i18n.__baseUrl, metaObject.link);
addCanonicalLinks.bind(this)(this.$i18n.__baseUrl, metaObject.link);
addCurrentOgLocale.bind(this)(currentLocale, currentLocaleIso, metaObject.meta);
addAlternateOgLocales.bind(this)(locales, currentLocaleIso, metaObject.meta);
}
/**
* Internals:
*/
/**
* @this {import('vue/types/vue').Vue}
*
* @param {import('../../types').LocaleObject[]} locales
* @param {string} baseUrl
* @param {import('../../types/vue').NuxtI18nMeta['link']} link
*/
function addHreflangLinks(locales, baseUrl, link) {
if (options_options.strategy === Constants.STRATEGIES.NO_PREFIX) {
return;
}
/** @type {Map<string, import('../../types').LocaleObject>} */
const localeMap = new Map();
for (const locale of locales) {
const localeIso = locale.iso;
if (!localeIso) {
// eslint-disable-next-line no-console
console.warn(formatMessage('Locale ISO code is required to generate alternate link'));
continue;
}
const [language, region] = localeIso.split('-');
if (language && region && (locale.isCatchallLocale || !localeMap.has(language))) {
localeMap.set(language, locale);
}
localeMap.set(localeIso, locale);
}
for (const [iso, mapLocale] of localeMap.entries()) {
const localePath = this.switchLocalePath(mapLocale.code);
if (localePath) {
link.push({
hid: `i18n-alt-${iso}`,
rel: 'alternate',
href: toAbsoluteUrl(localePath, baseUrl),
hreflang: iso
});
}
}
if (options_options.defaultLocale) {
const localePath = this.switchLocalePath(options_options.defaultLocale);
if (localePath) {
link.push({
hid: 'i18n-xd',
rel: 'alternate',
href: toAbsoluteUrl(localePath, baseUrl),
hreflang: 'x-default'
});
}
}
}
/**
* @this {import('vue/types/vue').Vue}
*
* @param {string} baseUrl
* @param {import('../../types/vue').NuxtI18nMeta['link']} link
*/
function addCanonicalLinks(baseUrl, link) {
const currentRoute = this.localeRoute({
...this.$route,
name: this.getRouteBaseName()
});
const canonicalPath = currentRoute ? currentRoute.path : null;
if (canonicalPath) {
link.push({
hid: 'i18n-can',
rel: 'canonical',
href: toAbsoluteUrl(canonicalPath, baseUrl)
});
}
}
/**
* @this {import('vue/types/vue').Vue}
*
* @param {import('../../types').LocaleObject} currentLocale
* @param {string | undefined} currentLocaleIso
* @param {import('../../types/vue').NuxtI18nMeta['meta']} meta
*/
function addCurrentOgLocale(currentLocale, currentLocaleIso, meta) {
const hasCurrentLocaleAndIso = currentLocale && currentLocaleIso;
if (!hasCurrentLocaleAndIso) {
return;
}
meta.push({
hid: 'i18n-og',
property: 'og:locale',
// Replace dash with underscore as defined in spec: language_TERRITORY
content: hypenToUnderscore(currentLocaleIso)
});
}
/**
* @this {import('vue/types/vue').Vue}
*
* @param {import('../../types').LocaleObject[]} locales
* @param {string | undefined} currentLocaleIso
* @param {import('../../types/vue').NuxtI18nMeta['meta']} meta
*/
function addAlternateOgLocales(locales, currentLocaleIso, meta) {
const localesWithoutCurrent = locales.filter(locale => {
const localeIso = locale.iso;
return localeIso && localeIso !== currentLocaleIso;
});
if (localesWithoutCurrent.length) {
const alternateLocales = localesWithoutCurrent.map(locale => ({
hid: `i18n-og-alt-${locale.iso}`,
property: 'og:locale:alternate',
content: hypenToUnderscore(locale.iso)
}));
meta.push(...alternateLocales);
}
}
/**
* @param {string | undefined} str
* @return {string}
*/
function hypenToUnderscore(str) {
return (str || '').replace(/-/g, '_');
}
/**
* @param {string} urlOrPath
* @param {string} baseUrl
*/
function toAbsoluteUrl(urlOrPath, baseUrl) {
if (urlOrPath.match(/^https?:\/\//)) {
return urlOrPath;
}
return baseUrl + urlOrPath;
}
return metaObject;
}
/**
* @deprecated Use `nuxtI18nHead()` instead.
* @this {import('vue/types/vue').Vue}
*/
function nuxtI18nSeo() {
return nuxtI18nHead.call(this, {
addDirAttribute: false,
addSeoAttributes: true
});
}
// CONCATENATED MODULE: ./node_modules/klona/full/index.mjs
function set(obj, key, val) {
if (typeof val.value === 'object') val.value = klona(val.value);
if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {
Object.defineProperty(obj, key, val);
} else obj[key] = val.value;
}
function klona(x) {
if (typeof x !== 'object') return x;
var i=0, k, list, tmp, str=Object.prototype.toString.call(x);
if (str === '[object Object]') {
tmp = Object.create(x.__proto__ || null);
} else if (str === '[object Array]') {
tmp = Array(x.length);
} else if (str === '[object Set]') {
tmp = new Set;
x.forEach(function (val) {
tmp.add(klona(val));
});
} else if (str === '[object Map]') {
tmp = new Map;
x.forEach(function (val, key) {
tmp.set(klona(key), klona(val));
});
} else if (str === '[object Date]') {
tmp = new Date(+x);
} else if (str === '[object RegExp]') {
tmp = new RegExp(x.source, x.flags);
} else if (str === '[object DataView]') {
tmp = new x.constructor( klona(x.buffer) );
} else if (str === '[object ArrayBuffer]') {
tmp = x.slice(0);
} else if (str.slice(-6) === 'Array]') {
// ArrayBuffer.isView(x)
// ~> `new` bcuz `Buffer.slice` => ref
tmp = new x.constructor(x);
}
if (tmp) {
for (list=Object.getOwnPropertySymbols(x); i < list.length; i++) {
set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));
}
for (i=0, list=Object.getOwnPropertyNames(x); i < list.length; i++) {
if (Object.hasOwnProperty.call(tmp, k=list[i]) && tmp[k] === x[k]) continue;
set(tmp, k, Object.getOwnPropertyDescriptor(x, k));
}
}
return tmp || x;
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/nuxt-i18n/plugin.main.js
// @ts-ignore
// @ts-ignore
external_vue_default.a.use(external_vue_i18n_default.a);
/** @type {import('@nuxt/types').Plugin} */
/* harmony default export */ var plugin_main = (async context => {
const {
app,
route,
store,
req,
res,
redirect
} = context;
if (options_options.vuex && store) {
registerStore(store, options_options.vuex, options_options.localeCodes);
}
const {
lazy
} = options_options;
const injectInNuxtState = lazy && (lazy === true || lazy.skipNuxtState !== true);
if ( true && injectInNuxtState) {
const devalue = (await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(null, 85, 7))).default;
context.beforeNuxtRender(({
nuxtState
}) => {
/** @type {Record<string, import('vue-i18n').LocaleMessageObject>} */
const langs = {};
const {
fallbackLocale,
locale
} = app.i18n;
if (locale && locale !== fallbackLocale) {
// @ts-ignore Using internal API to avoid unnecessary cloning.
const messages = app.i18n._getMessages()[locale];
if (messages) {
try {
devalue(messages);
langs[locale] = messages;
} catch {
// Ignore - client-side will load the chunk asynchronously.
}
}
}
nuxtState.__i18n = {
langs
};
});
}
const {
alwaysRedirect,
fallbackLocale,
onlyOnNoPrefix,
onlyOnRoot,
useCookie,
cookieKey,
cookieDomain,
cookieSecure,
cookieCrossOrigin
} = /** @type {Required<import('../../types').DetectBrowserLanguageOptions>} */options_options.detectBrowserLanguage;
/**
* @param {string | undefined} newLocale
* @param {{ initialSetup?: boolean }} [options=false]
*/
const loadAndSetLocale = async (newLocale, {
initialSetup = false
} = {}) => {
if (!newLocale) {
return;
}
// Abort if different domains option enabled
if (!initialSetup && app.i18n.differentDomains) {
return;
}
const oldLocale = app.i18n.locale;
if (newLocale === oldLocale) {
return;
}
const localeOverride = app.i18n.onBeforeLanguageSwitch(oldLocale, newLocale, initialSetup, context);
if (localeOverride && app.i18n.localeCodes.includes(localeOverride)) {
if (localeOverride === oldLocale) {
return;
}
newLocale = localeOverride;
}
if (!initialSetup) {
app.i18n.beforeLanguageSwitch(oldLocale, newLocale);
}
if (useCookie) {
app.i18n.setLocaleCookie(newLocale);
}
if (options_options.langDir) {
const i18nFallbackLocale = app.i18n.fallbackLocale;
if (options_options.lazy) {
// Load fallback locale(s).
if (i18nFallbackLocale) {
/** @type {Promise<void>[]} */
let localesToLoadPromises = [];
if (Array.isArray(i18nFallbackLocale)) {
localesToLoadPromises = i18nFallbackLocale.map(fbLocale => loadLanguageAsync(context, fbLocale));
} else if (typeof i18nFallbackLocale === 'object') {
if (i18nFallbackLocale[newLocale]) {
localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale[newLocale].map(fbLocale => loadLanguageAsync(context, fbLocale)));
}
if (i18nFallbackLocale.default) {
localesToLoadPromises = localesToLoadPromises.concat(i18nFallbackLocale.default.map(fbLocale => loadLanguageAsync(context, fbLocale)));
}
} else if (newLocale !== i18nFallbackLocale) {
localesToLoadPromises.push(loadLanguageAsync(context, i18nFallbackLocale));
}
await Promise.all(localesToLoadPromises);
}
await loadLanguageAsync(context, newLocale);
} else {
// Load all locales.
await Promise.all(options_options.localeCodes.map(locale => loadLanguageAsync(context, locale)));
}
}
app.i18n.locale = newLocale;
/** @type {import('../../types').LocaleObject} */
const newLocaleProperties = options_options.normalizedLocales.find(l => l.code === newLocale) || {
code: newLocale
};
// In case certain locale has more properties than another, reset all the properties.
for (const key of Object.keys(app.i18n.localeProperties)) {
app.i18n.localeProperties[key] = undefined;
}
// Copy properties of the new locale
for (const [key, value] of Object.entries(newLocaleProperties)) {
external_vue_default.a.set(app.i18n.localeProperties, key, klona(value));
}
if (options_options.vuex) {
await syncVuex(store, newLocale, app.i18n.getLocaleMessage(newLocale), options_options.vuex);
}
// Must retrieve from context as it might have changed since plugin initialization.
const {
route
} = context;
const redirectPath = getRedirectPathForLocale(route, newLocale);
if (initialSetup) {
// Redirect will be delayed until middleware runs as redirecting from plugin does not
// work in SPA (https://github.com/nuxt/nuxt.js/issues/4491).
app.i18n.__redirect = redirectPath;
} else {
app.i18n.onLanguageSwitched(oldLocale, newLocale);
if (redirectPath) {
redirect(redirectPath);
}
}
};
const getLocaleFromRoute = createLocaleFromRouteGetter(options_options.localeCodes, {
routesNameSeparator: options_options.routesNameSeparator,
defaultLocaleRouteNameSuffix: options_options.defaultLocaleRouteNameSuffix
});
/**
* Gets the redirect path for locale.
*
* @param {import("vue-router").Route} route
* @param {string | undefined} locale
* @return {string} The redirect path for locale.
*/
const getRedirectPathForLocale = (route, locale) => {
// Redirects are ignored if it is a nuxt generate.
if (true) {
return '';
}
if (!locale || app.i18n.differentDomains || options_options.strategy === Constants.STRATEGIES.NO_PREFIX) {
return '';
}
if (getLocaleFromRoute(route) === locale) {
// If "onlyOnRoot" or "onlyOnNoPrefix" is set and strategy is "prefix_and_default", prefer unprefixed route for
// default locale.
if (!(onlyOnRoot || onlyOnNoPrefix) || locale !== options_options.defaultLocale || options_options.strategy !== Constants.STRATEGIES.PREFIX_AND_DEFAULT) {
return '';
}
}
// At this point we are left with route that either has no or different locale.
let redirectPath = app.switchLocalePath(locale);
if (!redirectPath) {
// Current route could be 404 in which case attempt to find matching route for given locale.
redirectPath = app.localePath(route.fullPath, locale);
}
if (!redirectPath || redirectPath === route.fullPath || redirectPath.startsWith('//')) {
return '';
}
return redirectPath;
};
/**
* Called by middleware on navigation (also on the initial one).
*
* @type {import('../../types/internal').onNavigateInternal}
*/
const onNavigate = async route => {
// Handle root path redirect
if (route.path === '/' && options_options.rootRedirect) {
let statusCode = 302;
let path = options_options.rootRedirect;
if (typeof options_options.rootRedirect !== 'string') {
statusCode = options_options.rootRedirect.statusCode;
path = options_options.rootRedirect.path;
}
return [statusCode, `/${path}`, /* preserve query */true];
}
const storedRedirect = app.i18n.__redirect;
if (storedRedirect) {
app.i18n.__redirect = null;
return [302, storedRedirect];
}
const resolveBaseUrlOptions = {
differentDomains: options_options.differentDomains,
normalizedLocales: options_options.normalizedLocales
};
app.i18n.__baseUrl = resolveBaseUrl(options_options.baseUrl, context, app.i18n.locale, resolveBaseUrlOptions);
const finalLocale = options_options.detectBrowserLanguage && doDetectBrowserLanguage(route) || getLocaleFromRoute(route) || app.i18n.locale || app.i18n.defaultLocale || '';
if (options_options.skipSettingLocaleOnNavigate) {
app.i18n.__pendingLocale = finalLocale;
app.i18n.__pendingLocalePromise = new Promise(resolve => {
app.i18n.__resolvePendingLocalePromise = resolve;
});
} else {
await app.i18n.setLocale(finalLocale);
}
return [null, null];
};
const finalizePendingLocaleChange = async () => {
if (!app.i18n.__pendingLocale) {
return;
}
await app.i18n.setLocale(app.i18n.__pendingLocale);
app.i18n.__resolvePendingLocalePromise('');
app.i18n.__pendingLocale = null;
};
const waitForPendingLocaleChange = async () => {
if (app.i18n.__pendingLocale) {
await app.i18n.__pendingLocalePromise;
}
};
const getBrowserLocale = () => {
if (false) {} else if (req && typeof req.headers['accept-language'] !== 'undefined') {
return matchBrowserLocale(options_options.normalizedLocales, parseAcceptLanguage(req.headers['accept-language']));
} else {
return undefined;
}
};
/**
* @param {import('vue-router').Route} route
* @return {string} Returns the browser locale that was detected or an empty string otherwise.
*/
const doDetectBrowserLanguage = route => {
// Browser detection is ignored if it is a nuxt generate.
if (true) {
return '';
}
if (options_options.strategy !== Constants.STRATEGIES.NO_PREFIX) {
if (onlyOnRoot) {
if (route.path !== '/') {
return '';
}
} else if (onlyOnNoPrefix) {
if (!alwaysRedirect && route.path.match(getLocalesRegex(options_options.localeCodes))) {
return '';
}
}
}
let matchedLocale;
if (useCookie && (matchedLocale = app.i18n.getLocaleCookie())) {
// Get preferred language from cookie if present and enabled
} else {
// Try to get locale from either navigator or header detection
matchedLocale = getBrowserLocale();
}
const finalLocale = matchedLocale || fallbackLocale;
// Handle cookie option to prevent multiple redirections
if (finalLocale && (!useCookie || alwaysRedirect || !app.i18n.getLocaleCookie())) {
if (finalLocale !== app.i18n.locale) {
return finalLocale;
}
}
return '';
};
/**
* Extends the newly created vue-i18n instance with nuxt-i18n properties.
*
* @param {import('vue-i18n').IVueI18n} i18n
*/
const extendVueI18nInstance = i18n => {
i18n.locales = klona(options_options.locales);
i18n.localeCodes = klona(options_options.localeCodes);
i18n.localeProperties = external_vue_default.a.observable(klona(options_options.normalizedLocales.find(l => l.code === i18n.locale) || {
code: i18n.locale
}));
i18n.defaultLocale = options_options.defaultLocale;
i18n.differentDomains = options_options.differentDomains;
i18n.beforeLanguageSwitch = options_options.beforeLanguageSwitch;
i18n.onBeforeLanguageSwitch = options_options.onBeforeLanguageSwitch;
i18n.onLanguageSwitched = options_options.onLanguageSwitched;
i18n.setLocaleCookie = locale => setLocaleCookie(locale, res, {
useCookie,
cookieDomain,
cookieKey,
cookieSecure,
cookieCrossOrigin
});
i18n.getLocaleCookie = () => getLocaleCookie(req, {
useCookie,
cookieKey,
localeCodes: options_options.localeCodes
});
i18n.setLocale = locale => loadAndSetLocale(locale);
i18n.getBrowserLocale = () => getBrowserLocale();
i18n.finalizePendingLocaleChange = finalizePendingLocaleChange;
i18n.waitForPendingLocaleChange = waitForPendingLocaleChange;
i18n.__baseUrl = app.i18n.__baseUrl;
i18n.__pendingLocale = app.i18n.__pendingLocale;
i18n.__pendingLocalePromise = app.i18n.__pendingLocalePromise;
i18n.__resolvePendingLocalePromise = app.i18n.__resolvePendingLocalePromise;
};
// Set instance options
const vueI18nOptions = typeof options_options.vueI18n === 'function' ? await options_options.vueI18n(context) : klona(options_options.vueI18n);
vueI18nOptions.componentInstanceCreatedListener = extendVueI18nInstance;
// @ts-ignore
app.i18n = context.i18n = new external_vue_i18n_default.a(vueI18nOptions);
// Initialize locale and fallbackLocale as vue-i18n defaults those to 'en-US' if falsey
app.i18n.locale = '';
app.i18n.fallbackLocale = vueI18nOptions.fallbackLocale || '';
extendVueI18nInstance(app.i18n);
const resolveBaseUrlOptions = {
differentDomains: options_options.differentDomains,
normalizedLocales: options_options.normalizedLocales
};
app.i18n.__baseUrl = resolveBaseUrl(options_options.baseUrl, context, '', resolveBaseUrlOptions);
app.i18n.__onNavigate = onNavigate;
external_vue_default.a.prototype.$nuxtI18nSeo = nuxtI18nSeo;
external_vue_default.a.prototype.$nuxtI18nHead = nuxtI18nHead;
if (store) {
// Inject in store.
store.$i18n = app.i18n;
if (store.state.localeDomains) {
for (const locale of app.i18n.locales) {
if (typeof locale === 'string') {
continue;
}
locale.domain = store.state.localeDomains[locale.code];
}
}
}
/** @type {string | undefined} */
let finalLocale = options_options.detectBrowserLanguage ? doDetectBrowserLanguage(route) : '';
if (!finalLocale) {
const {
vuex
} = options_options;
if (vuex && vuex.syncLocale && store && store.state[vuex.moduleName].locale !== '') {
finalLocale = store.state[vuex.moduleName].locale;
} else if (app.i18n.differentDomains) {
const domainLocale = getLocaleDomain(options_options.normalizedLocales, req);
finalLocale = domainLocale;
} else if (options_options.strategy !== Constants.STRATEGIES.NO_PREFIX) {
const routeLocale = getLocaleFromRoute(route);
finalLocale = routeLocale;
}
}
if (!finalLocale && useCookie) {
finalLocale = app.i18n.getLocaleCookie();
}
if (!finalLocale) {
finalLocale = app.i18n.defaultLocale || '';
}
await loadAndSetLocale(finalLocale, {
initialSetup: true
});
if (false) {}
});
// EXTERNAL MODULE: external "axios"
var external_axios_ = __webpack_require__(8);
var external_axios_default = /*#__PURE__*/__webpack_require__.n(external_axios_);
// EXTERNAL MODULE: external "defu"
var external_defu_ = __webpack_require__(33);
var external_defu_default = /*#__PURE__*/__webpack_require__.n(external_defu_);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/axios.js
// Axios.prototype cannot be modified
const axiosExtra = {
setBaseURL(baseURL) {
this.defaults.baseURL = baseURL;
},
setHeader(name, value, scopes = 'common') {
for (const scope of Array.isArray(scopes) ? scopes : [scopes]) {
if (!value) {
delete this.defaults.headers[scope][name];
continue;
}
this.defaults.headers[scope][name] = value;
}
},
setToken(token, type, scopes = 'common') {
const value = !token ? null : (type ? type + ' ' : '') + token;
this.setHeader('Authorization', value, scopes);
},
onRequest(fn) {
this.interceptors.request.use(config => fn(config) || config);
},
onResponse(fn) {
this.interceptors.response.use(response => fn(response) || response);
},
onRequestError(fn) {
this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error));
},
onResponseError(fn) {
this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error));
},
onError(fn) {
this.onRequestError(fn);
this.onResponseError(fn);
},
create(options) {
return createAxiosInstance(external_defu_default()(options, this.defaults));
}
};
// Request helpers ($get, $post, ...)
for (const method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {
axiosExtra['$' + method] = function () {
return this[method].apply(this, arguments).then(res => res && res.data);
};
}
const extendAxiosInstance = axios => {
for (const key in axiosExtra) {
axios[key] = axiosExtra[key].bind(axios);
}
};
const createAxiosInstance = axiosOptions => {
// Create new axios instance
const axios = external_axios_default.a.create(axiosOptions);
axios.CancelToken = external_axios_default.a.CancelToken;
axios.isCancel = external_axios_default.a.isCancel;
// Extend axios proto
extendAxiosInstance(axios);
// Intercept to apply default headers
axios.onRequest(config => {
config.headers = {
...axios.defaults.headers.common,
...config.headers
};
});
// Setup interceptors
setupProgress(axios);
return axios;
};
const setupProgress = axios => {
if (true) {
return;
}
// A noop loading inteterface for when $nuxt is not yet ready
const noopLoading = {
finish: () => {},
start: () => {},
fail: () => {},
set: () => {}
};
const $loading = () => {
const $nuxt = typeof window !== 'undefined' && window['$nuxt'];
return $nuxt && $nuxt.$loading && $nuxt.$loading.set ? $nuxt.$loading : noopLoading;
};
let currentRequests = 0;
axios.onRequest(config => {
if (config && config.progress === false) {
return;
}
currentRequests++;
});
axios.onResponse(response => {
if (response && response.config && response.config.progress === false) {
return;
}
currentRequests--;
if (currentRequests <= 0) {
currentRequests = 0;
$loading().finish();
}
});
axios.onError(error => {
if (error && error.config && error.config.progress === false) {
return;
}
currentRequests--;
if (external_axios_default.a.isCancel(error)) {
if (currentRequests <= 0) {
currentRequests = 0;
$loading().finish();
}
return;
}
$loading().fail();
$loading().finish();
});
const onProgress = e => {
if (!currentRequests || !e.total) {
return;
}
const progress = e.loaded * 100 / (e.total * currentRequests);
$loading().set(Math.min(100, progress));
};
axios.defaults.onUploadProgress = onProgress;
axios.defaults.onDownloadProgress = onProgress;
};
/* harmony default export */ var nuxt_axios = ((ctx, inject) => {
// runtimeConfig
const runtimeConfig = ctx.$config && ctx.$config.axios || {};
// baseURL
const baseURL = false ? undefined : runtimeConfig.baseURL || runtimeConfig.baseUrl || process.env._AXIOS_BASE_URL_ || 'http://localhost:3000/';
// Create fresh objects for all default header scopes
// Axios creates only one which is shared across SSR requests!
// https://github.com/mzabriskie/axios/blob/master/lib/defaults.js
const headers = {
"common": {
"Accept": "application/json, text/plain, */*"
},
"delete": {},
"get": {},
"head": {},
"post": {},
"put": {},
"patch": {}
};
const axiosOptions = {
baseURL,
headers
};
// Proxy SSR request headers headers
if ( true && ctx.req && ctx.req.headers) {
const reqHeaders = {
...ctx.req.headers
};
for (const h of ["accept", "cf-connecting-ip", "cf-ray", "content-length", "content-md5", "content-type", "host", "x-forwarded-host", "x-forwarded-port", "x-forwarded-proto"]) {
delete reqHeaders[h];
}
axiosOptions.headers.common = {
...reqHeaders,
...axiosOptions.headers.common
};
}
if (true) {
// Don't accept brotli encoding because Node can't parse it
axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate';
}
const axios = createAxiosInstance(axiosOptions);
// Inject axios to the context as $axios
ctx.$axios = axios;
inject('axios', axios);
});
// EXTERNAL MODULE: ./node_modules/.cache/nuxt/empty.js
var nuxt_empty = __webpack_require__(30);
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/index.js
/* Plugins */
// Source: .\\v-lazy-load.js (mode: 'all')
// Source: .\\nuxt-i18n\\plugin.utils.js (mode: 'all')
// Source: .\\nuxt-i18n\\plugin.routing.js (mode: 'all')
// Source: .\\nuxt-i18n\\plugin.main.js (mode: 'all')
// Source: .\\axios.js (mode: 'all')
// Source: ..\\..\\..\\plugins\\v-waypoint.js (mode: 'client')
// Source: ..\\..\\..\\plugins\\animate.client.js (mode: 'client')
// Component: <ClientOnly>
external_vue_default.a.component(external_vue_client_only_default.a.name, external_vue_client_only_default.a);
// TODO: Remove in Nuxt 3: <NoSsr>
external_vue_default.a.component(external_vue_no_ssr_default.a.name, {
...external_vue_no_ssr_default.a,
render(h, ctx) {
if (false) {}
return external_vue_no_ssr_default.a.render(h, ctx);
}
});
// Component: <NuxtChild>
external_vue_default.a.component(nuxt_child.name, nuxt_child);
external_vue_default.a.component('NChild', nuxt_child);
// Component NuxtLink is imported in server.js or client.js
// Component: <Nuxt>
external_vue_default.a.component(components_nuxt.name, components_nuxt);
Object.defineProperty(external_vue_default.a.prototype, '$nuxt', {
get() {
const globalNuxt = this.$root.$options.$nuxt;
if (false) {}
return globalNuxt;
},
configurable: true
});
external_vue_default.a.use(external_vue_meta_default.a, {
"keyName": "head",
"attribute": "data-n-head",
"ssrAttribute": "data-n-head-ssr",
"tagIDKeyName": "hid"
});
const defaultTransition = {
"name": "page",
"mode": "out-in",
"appear": false,
"appearClass": "appear",
"appearActiveClass": "appear-active",
"appearToClass": "appear-to"
};
const originalRegisterModule = external_vuex_default.a.Store.prototype.registerModule;
function registerModule(path, rawModule, options = {}) {
const preserveState = false && (false);
return originalRegisterModule.call(this, path, rawModule, {
preserveState,
...options
});
}
async function createApp(ssrContext, config = {}) {
const router = await createRouter(ssrContext, config);
const store = createStore(ssrContext);
// Add this.$router into store actions/mutations
store.$router = router;
// Fix SSR caveat https://github.com/nuxt/nuxt.js/issues/3757#issuecomment-414689141
store.registerModule = registerModule;
// Create Root instance
// here we inject the router and store to all child components,
// making them available everywhere as `this.$router` and `this.$store`.
const app = {
head: function () {
var _this$$i18n;
const isEn = ((_this$$i18n = this.$i18n) === null || _this$$i18n === void 0 ? void 0 : _this$$i18n.locale) == "en";
const link = [{
rel: "icon",
type: "image/x-icon",
href: "/favicon.ico"
}];
if (isEn) link.push({
rel: "stylesheet",
href: "https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;700&display=swap"
});
return {
htmlAttrs: {
lang: this.$i18n.locale
},
meta: [{
charset: "utf-8"
}, {
name: "viewport",
content: "width=device-width, initial-scale=1"
}, {
hid: "description",
name: "description",
content: ""
}],
link: link
};
},
store,
router,
nuxt: {
defaultTransition,
transitions: [defaultTransition],
setTransitions(transitions) {
if (!Array.isArray(transitions)) {
transitions = [transitions];
}
transitions = transitions.map(transition => {
if (!transition) {
transition = defaultTransition;
} else if (typeof transition === 'string') {
transition = Object.assign({}, defaultTransition, {
name: transition
});
} else {
transition = Object.assign({}, defaultTransition, transition);
}
return transition;
});
this.$options.nuxt.transitions = transitions;
return transitions;
},
err: null,
dateErr: null,
error(err) {
err = err || null;
app.context._errored = Boolean(err);
err = err ? normalizeError(err) : null;
let nuxt = app.nuxt; // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207
if (this) {
nuxt = this.nuxt || this.$options.nuxt;
}
nuxt.dateErr = Date.now();
nuxt.err = err;
// Used in src/server.js
if (ssrContext) {
ssrContext.nuxt.error = err;
}
return err;
}
},
...App
};
// Make app available into store via this.app
store.app = app;
const next = ssrContext ? ssrContext.next : location => app.router.push(location);
// Resolve route
let route;
if (ssrContext) {
route = router.resolve(ssrContext.url).route;
} else {
const path = getLocation(router.options.base, router.options.mode);
route = router.resolve(path).route;
}
// Set context to app.context
await setContext(app, {
store,
route,
next,
error: app.nuxt.error.bind(app),
payload: ssrContext ? ssrContext.payload : undefined,
req: ssrContext ? ssrContext.req : undefined,
res: ssrContext ? ssrContext.res : undefined,
beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,
ssrContext
});
function inject(key, value) {
if (!key) {
throw new Error('inject(key, value) has no key provided');
}
if (value === undefined) {
throw new Error(`inject('${key}', value) has no value provided`);
}
key = '$' + key;
// Add into app
app[key] = value;
// Add into context
if (!app.context[key]) {
app.context[key] = value;
}
// Add into store
store[key] = app[key];
// Check if plugin not already installed
const installKey = '__nuxt_' + key + '_installed__';
if (external_vue_default.a[installKey]) {
return;
}
external_vue_default.a[installKey] = true;
// Call Vue.use() to install the plugin into vm
external_vue_default.a.use(() => {
if (!Object.prototype.hasOwnProperty.call(external_vue_default.a.prototype, key)) {
Object.defineProperty(external_vue_default.a.prototype, key, {
get() {
return this.$root.$options[key];
}
});
}
});
}
// Inject runtime config as $config
inject('config', config);
if (false) {}
// Add enablePreview(previewData = {}) in context for plugins
if (false) {}
// Plugin execution
if (typeof v_lazy_load === 'function') {
await v_lazy_load(app.context, inject);
}
if (typeof /* Cannot get final name for export "default" in "./node_modules/.cache/nuxt/nuxt-i18n/plugin.utils.js" (known exports: loadLanguageAsync resolveBaseUrl getDomainFromLocale registerStore syncVuex validateRouteParams, known reexports: ) */ undefined === 'function') {
await /* Cannot get final name for export "default" in "./node_modules/.cache/nuxt/nuxt-i18n/plugin.utils.js" (known exports: loadLanguageAsync resolveBaseUrl getDomainFromLocale registerStore syncVuex validateRouteParams, known reexports: ) */ undefined(app.context, inject);
}
if (typeof plugin_routing === 'function') {
await plugin_routing(app.context, inject);
}
if (typeof plugin_main === 'function') {
await plugin_main(app.context, inject);
}
if (typeof nuxt_axios === 'function') {
await nuxt_axios(app.context, inject);
}
if (false) {}
if (false) {}
// Lock enablePreview in context
if (false) {}
// Wait for async component to be resolved first
await new Promise((resolve, reject) => {
// Ignore 404s rather than blindly replacing URL in browser
if (false) {}
router.replace(app.context.route.fullPath, resolve, err => {
// https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js
if (!err._isRouter) return reject(err);
if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve();
// navigated to a different route in router guard
const unregister = router.afterEach(async (to, from) => {
if ( true && ssrContext && ssrContext.url) {
ssrContext.url = to.fullPath;
}
app.context.route = await getRouteData(to);
app.context.params = to.params || {};
app.context.query = to.query || {};
unregister();
resolve();
});
});
});
return {
store,
app,
router
};
}
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/components/nuxt-link.server.js
/* harmony default export */ var nuxt_link_server = ({
name: 'NuxtLink',
extends: external_vue_default.a.component('RouterLink'),
props: {
prefetch: {
type: Boolean,
default: true
},
noPrefetch: {
type: Boolean,
default: false
}
}
});
// CONCATENATED MODULE: ./node_modules/.cache/nuxt/server.js
// should be included after ./index.js
// Update serverPrefetch strategy
external_vue_default.a.config.optionMergeStrategies.serverPrefetch = external_vue_default.a.config.optionMergeStrategies.created;
// Fetch mixin
if (!external_vue_default.a.__nuxt__fetch__mixin__) {
external_vue_default.a.mixin(fetch_server);
external_vue_default.a.__nuxt__fetch__mixin__ = true;
}
// Component: <NuxtLink>
external_vue_default.a.component(nuxt_link_server.name, nuxt_link_server);
external_vue_default.a.component('NLink', nuxt_link_server);
if (!global.fetch) {
global.fetch = external_node_fetch_default.a;
}
const noopApp = () => new external_vue_default.a({
render: h => h('div', {
domProps: {
id: '__nuxt'
}
})
});
const createNext = ssrContext => opts => {
// If static target, render on client-side
ssrContext.redirected = opts;
if (ssrContext.target === 'static' || !ssrContext.res) {
ssrContext.nuxt.serverRendered = false;
return;
}
let fullPath = Object(external_ufo_["withQuery"])(opts.path, opts.query);
const $config = ssrContext.runtimeConfig || {};
const routerBase = $config._app && $config._app.basePath || '/';
if (!fullPath.startsWith('http') && routerBase !== '/' && !fullPath.startsWith(routerBase)) {
fullPath = Object(external_ufo_["joinURL"])(routerBase, fullPath);
}
// Avoid loop redirect
if (decodeURI(fullPath) === decodeURI(ssrContext.url)) {
ssrContext.redirected = false;
return;
}
ssrContext.res.writeHead(opts.status, {
Location: Object(external_ufo_["normalizeURL"])(fullPath)
});
ssrContext.res.end();
};
// This exported function will be called by `bundleRenderer`.
// This is where we perform data-prefetching to determine the
// state of our application before actually rendering it.
// Since data fetching is async, this function is expected to
// return a Promise that resolves to the app instance.
/* harmony default export */ var server = __webpack_exports__["default"] = (async ssrContext => {
// Create ssrContext.next for simulate next() of beforeEach() when wanted to redirect
ssrContext.redirected = false;
ssrContext.next = createNext(ssrContext);
// Used for beforeNuxtRender({ Components, nuxtState })
ssrContext.beforeRenderFns = [];
// Nuxt object (window.{{globals.context}}, defaults to window.__NUXT__)
ssrContext.nuxt = {
layout: 'default',
data: [],
fetch: {},
error: null,
state: null,
serverRendered: true,
routePath: ''
};
ssrContext.fetchCounters = {};
// Remove query from url is static target
if (ssrContext.url) {
ssrContext.url = ssrContext.url.split('?')[0];
}
// Public runtime config
ssrContext.nuxt.config = ssrContext.runtimeConfig.public;
if (ssrContext.nuxt.config._app) {
__webpack_require__.p = Object(external_ufo_["joinURL"])(ssrContext.nuxt.config._app.cdnURL, ssrContext.nuxt.config._app.assetsPath);
}
// Create the app definition and the instance (created for each request)
const {
app,
router,
store
} = await createApp(ssrContext, ssrContext.runtimeConfig.private);
const _app = new external_vue_default.a(app);
// Add ssr route path to nuxt context so we can account for page navigation between ssr and csr
ssrContext.nuxt.routePath = app.context.route.path;
// Add meta infos (used in renderer.js)
ssrContext.meta = _app.$meta();
// Keep asyncData for each matched component in ssrContext (used in app/utils.js via this.$ssrContext)
ssrContext.asyncData = {};
const beforeRender = async () => {
// Call beforeNuxtRender() methods
await Promise.all(ssrContext.beforeRenderFns.map(fn => promisify(fn, {
Components,
nuxtState: ssrContext.nuxt
})));
ssrContext.rendered = () => {
// Add the state from the vuex store
ssrContext.nuxt.state = store.state;
// Stop recording store mutations
ssrContext.unsetMutationObserver();
};
};
const renderErrorPage = async () => {
// Don't server-render the page in static target
if (ssrContext.target === 'static') {
ssrContext.nuxt.serverRendered = false;
}
// Load layout for error page
const layout = (layouts_error.options || layouts_error).layout;
const errLayout = typeof layout === 'function' ? layout.call(layouts_error, app.context) : layout;
ssrContext.nuxt.layout = errLayout || 'default';
await _app.loadLayout(errLayout);
_app.setLayout(errLayout);
await beforeRender();
return _app;
};
const render404Page = () => {
app.context.error({
statusCode: 404,
path: ssrContext.url,
message: 'This page could not be found'
});
return renderErrorPage();
};
// Components are already resolved by setContext -> getRouteData (app/utils.js)
const Components = getMatchedComponents(app.context.route);
/*
** Dispatch store nuxtServerInit
*/
if (store._actions && store._actions.nuxtServerInit) {
try {
await store.dispatch('nuxtServerInit', app.context);
} catch (err) {
console.debug('Error occurred when calling nuxtServerInit: ', err.message);
throw err;
}
}
// ...If there is a redirect or an error, stop the process
if (ssrContext.redirected) {
return noopApp();
}
if (ssrContext.nuxt.error) {
return renderErrorPage();
}
/*
** Call global middleware (nuxt.config.js)
*/
let midd = ["nuxti18n"];
midd = midd.map(name => {
if (typeof name === 'function') {
return name;
}
if (typeof nuxt_middleware[name] !== 'function') {
app.context.error({
statusCode: 500,
message: 'Unknown middleware ' + name
});
}
return nuxt_middleware[name];
});
await middlewareSeries(midd, app.context);
// ...If there is a redirect or an error, stop the process
if (ssrContext.redirected) {
return noopApp();
}
if (ssrContext.nuxt.error) {
return renderErrorPage();
}
// Record store mutations for full-static after nuxtServerInit and Middleware
ssrContext.nuxt.mutations = [];
ssrContext.unsetMutationObserver = store.subscribe(m => {
ssrContext.nuxt.mutations.push([m.type, m.payload]);
});
/*
** Set layout
*/
let layout = Components.length ? Components[0].options.layout : layouts_error.layout;
if (typeof layout === 'function') {
layout = layout(app.context);
}
await _app.loadLayout(layout);
if (ssrContext.nuxt.error) {
return renderErrorPage();
}
layout = _app.setLayout(layout);
ssrContext.nuxt.layout = _app.layoutName;
/*
** Call middleware (layout + pages)
*/
midd = [];
layout = sanitizeComponent(layout);
if (layout.options.middleware) {
midd = midd.concat(layout.options.middleware);
}
Components.forEach(Component => {
if (Component.options.middleware) {
midd = midd.concat(Component.options.middleware);
}
});
midd = midd.map(name => {
if (typeof name === 'function') {
return name;
}
if (typeof nuxt_middleware[name] !== 'function') {
app.context.error({
statusCode: 500,
message: 'Unknown middleware ' + name
});
}
return nuxt_middleware[name];
});
await middlewareSeries(midd, app.context);
// ...If there is a redirect or an error, stop the process
if (ssrContext.redirected) {
return noopApp();
}
if (ssrContext.nuxt.error) {
return renderErrorPage();
}
/*
** Call .validate()
*/
let isValid = true;
try {
for (const Component of Components) {
if (typeof Component.options.validate !== 'function') {
continue;
}
isValid = await Component.options.validate(app.context);
if (!isValid) {
break;
}
}
} catch (validationError) {
// ...If .validate() threw an error
app.context.error({
statusCode: validationError.statusCode || '500',
message: validationError.message
});
return renderErrorPage();
}
// ...If .validate() returned false
if (!isValid) {
// Render a 404 error page
return render404Page();
}
// If no Components found, returns 404
if (!Components.length) {
return render404Page();
}
// Call asyncData & fetch hooks on components matched by the route.
const asyncDatas = await Promise.all(Components.map(Component => {
const promises = [];
// Call asyncData(context)
if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {
const promise = promisify(Component.options.asyncData, app.context);
promise.then(asyncDataResult => {
ssrContext.asyncData[Component.cid] = asyncDataResult;
applyAsyncData(Component);
return asyncDataResult;
});
promises.push(promise);
} else {
promises.push(null);
}
// Call fetch(context)
if (Component.options.fetch && Component.options.fetch.length) {
promises.push(Component.options.fetch(app.context));
} else {
promises.push(null);
}
return Promise.all(promises);
}));
// datas are the first row of each
ssrContext.nuxt.data = asyncDatas.map(r => r[0] || {});
// ...If there is a redirect or an error, stop the process
if (ssrContext.redirected) {
return noopApp();
}
if (ssrContext.nuxt.error) {
return renderErrorPage();
}
// Call beforeNuxtRender methods & add store state
await beforeRender();
return _app;
});
/***/ }),
/* 82 */
/***/ (function(module, exports) {
module.exports = require("vue-slick-carousel");
/***/ }),
/* 83 */
/***/ (function(module, exports) {
module.exports = require("@splidejs/splide");
/***/ }),
/* 84 */
/***/ (function(module, exports) {
module.exports = require("vue-inner-image-zoom");
/***/ }),
/* 85 */
/***/ (function(module, exports) {
module.exports = require("devalue");
/***/ })
/******/ ]);
//# sourceMappingURL=server.js.map