%PDF- %PDF-
Direktori : /home/forge/takeaseat.eco-n-tech.co.uk/.nuxt/dist/server/ |
Current File : //home/forge/takeaseat.eco-n-tech.co.uk/.nuxt/dist/server/server.js |
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":"components/account-business","2":"components/account-locations","3":"components/account-nav","4":"components/account-payouts","5":"components/account-personal","6":"components/account-progress-bar","7":"components/account-security","8":"components/account-social","9":"components/account-subscription","10":"components/block","11":"components/booking","12":"components/client","13":"components/insurance","14":"components/invitation","15":"components/login-form","16":"components/memberships","17":"components/message","18":"components/modal","19":"components/money-manager-nav","20":"components/new-card-modal","21":"components/next-availability","22":"components/payment","23":"components/payment-step","24":"components/personalisation","25":"components/post","26":"components/profile-rates","27":"components/profile-session-types","28":"components/qualifications","29":"components/question-section-one","30":"components/question-section-two","31":"components/register-step","32":"components/saved-cards","33":"components/search-form","34":"components/subscription-card-modal","35":"components/summary-step","36":"components/therapist","37":"components/therapist-filters","38":"components/therapist-price","39":"components/widget","40":"pages/about","41":"pages/account/availability","42":"pages/account/financial","43":"pages/account/index","44":"pages/account/settings","45":"pages/account/verification","46":"pages/blog/_slug","47":"pages/blog/index","48":"pages/booking/_slug","49":"pages/booking/_therapist_slug/create/_id","50":"pages/booking/_therapist_slug/reschedule/_id","51":"pages/booking/_therapist_slug/reschedule/success","52":"pages/booking/success","53":"pages/bookings","54":"pages/community","55":"pages/contact-us","56":"pages/forgot-password","57":"pages/help","58":"pages/index","59":"pages/partnerships","60":"pages/privacy-policy","61":"pages/register/index","62":"pages/register/invitation/_reference","63":"pages/register/therapist","64":"pages/reset-password","65":"pages/terms-conditions","66":"pages/therapist/bookings","67":"pages/therapist/clients/_id","68":"pages/therapist/clients/index","69":"pages/therapist/index","70":"pages/therapist/messages","71":"pages/therapist/money/index","72":"pages/therapist/money/statements","73":"pages/therapists/_slug","74":"pages/therapists/index","75":"pages/therapists/location/_slug","76":"pages/therapists/specialism/_slug","77":"pages/therapists/tag/_slug"}[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 = 38); /******/ }) /************************************************************************/ /******/ ([ /* 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("vue-tailwind/dist/components"); /***/ }), /* 3 */ /***/ (function(module, exports) { module.exports = require("ufo"); /***/ }), /* 4 */ /***/ (function(module, exports) { module.exports = require("vee-validate"); /***/ }), /* 5 */ /***/ (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 (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item); 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; }; /***/ }), /* 6 */ /***/ (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 } /***/ }), /* 7 */ /***/ (function(module, exports) { // This file is intentionally left empty for noop aliases /***/ }), /* 8 */ /***/ (function(module, exports) { module.exports = require("vuex"); /***/ }), /* 9 */ /***/ (function(module, exports) { module.exports = require("axios"); /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = require("defu"); /***/ }), /* 11 */ /***/ (function(module, exports) { module.exports = require("vue-no-ssr"); /***/ }), /* 12 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Header.vue?vue&type=template&id=5f2e88cb& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"fixed left-0 top-0 z-40 w-full"},[_c('client-only',[_c('CookieBanner')],1),_vm._ssrNode(" "),_vm._ssrNode("<header class=\"w-full grid grid-cols-2 lg:grid-cols-8 py-4 px-4 md:px-8 bg-white shadow\">","</header>",[_vm._ssrNode("<div class=\"lg:col-span-2 flex items-center\">","</div>",[_c('NuxtLink',{attrs:{"to":"/"}},[_c('img',{staticClass:"h-8 max-w-full block sm:hidden",attrs:{"src":__webpack_require__(46),"alt":"Take a seat"}}),_vm._v(" "),_c('img',{staticClass:"h-8 max-w-full hidden sm:block",attrs:{"src":__webpack_require__(47),"alt":"Take a seat"}})])],1),_vm._ssrNode(" "),(_vm.isLoggedIn == false)?_vm._ssrNode("<div class=\"lg:col-span-6 flex justify-end lg:grid lg:grid-cols-3\">","</div>",[_vm._ssrNode("<div class=\"order-2 lg:order-1 lg:col-span-2 flex items-center justify-center\">","</div>",[_c('LoggedOutMenu')],1),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"order-1 lg:order-2 flex items-center justify-end\">","</div>",[_c('NuxtLink',{staticClass:"account-button relative z-30 whitespace-nowrap",attrs:{"to":"/register/therapist"}},[_vm._v("Join us")]),_vm._ssrNode(" "),_c('LazyLoginForm')],2)],2):_vm._ssrNode("<div"+(_vm._ssrClass("flex justify-end items-center",_vm.isLoggedIn == false ? 'lg:col-span-2' : 'lg:col-span-6'))+">","</div>",[(_vm.isLoggedIn == true)?_c('LoggedInMenu'):_vm._e(),_vm._ssrNode(" "),_c('NuxtLink',{staticClass:"relative order-2 bg-gray p-2 ml-2 lg:mr-3 rounded-full flex items-center justify-center",attrs:{"to":"/therapist/messages"}},[_c('div',{staticClass:"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-blue-light text-white text-xs flex items-center justify-center"},[_vm._v(_vm._s(_vm.messageCount))]),_vm._v(" "),_c('svg',{staticClass:"h-5 w-5",attrs:{"xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76"}})])]),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"relative order-1 lg:order-3\">","</div>",[_c('NuxtLink',{staticClass:"flex items-center justify-center bg-gray pr-3 pl-3 sm:pl-4 py-2 rounded-xl text-black text-sm font-medium uppercase focus:outline-none hover:bg-gray transition",attrs:{"to":_vm.role == 'therapist' ? '/account' : '/account/financial'}},[_c('span',[_vm._v("Account")]),_vm._v(" "),_c('svg',{staticClass:"w-4 h-4 ml-1",attrs:{"xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24","stroke":"currentColor"}},[_c('path',{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M19 9l-7 7-7-7"}})])]),_vm._ssrNode(" "),(_vm.isDropdownOpen)?_vm._ssrNode("<div class=\"absolute top-full right-0 w-full bg-gray shadow rounded-lg overflow-hidden\">","</div>",[(_vm.role == 'therapist')?[_c('NuxtLink',{staticClass:"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white",attrs:{"to":"/account"}},[_vm._v("Profile")]),_vm._ssrNode(" "),_c('NuxtLink',{staticClass:"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white",attrs:{"to":"/account/availability"}},[_vm._v("Availability")])]:_vm._e(),_vm._ssrNode(" "),_c('NuxtLink',{staticClass:"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white",attrs:{"to":"/account/financial"}},[_vm._v("Financial")]),_vm._ssrNode(" "),_c('NuxtLink',{staticClass:"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white",attrs:{"to":"/account/settings"}},[_vm._v("Settings")]),_vm._ssrNode(" <button class=\"block w-full border-t border-white text-left px-3 py-2 text-sm leading-5 transition hover:bg-white\">Logout</button>")],2):_vm._e()],2)],2)],2)],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/layout/Header.vue?vue&type=template&id=5f2e88cb& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Header.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var Headervue_type_script_lang_js_ = ({ data() { return { isDropdownOpen: false }; }, computed: { isLoggedIn() { return this.$auth.loggedIn; }, user() { return this.$auth.user; }, messages() { return this.$store.state.therapist.messages.list; }, role() { if (this.$auth.loggedIn == true) { return this.$auth.user.data.role.name; } return 'all'; }, messageCount() { return this.messages.filter(function (item) { return item.read == false; }).length; } }, async mounted() { if (this.isLoggedIn == true) { await this.$store.dispatch('therapist/messages/get', { user_id: this.user.data.id }); } }, methods: { async logout() { await this.$auth.logout(); } } }); // CONCATENATED MODULE: ./components/layout/Header.vue?vue&type=script&lang=js& /* harmony default export */ var layout_Headervue_type_script_lang_js_ = (Headervue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/layout/Header.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( layout_Headervue_type_script_lang_js_, render, staticRenderFns, false, null, null, "54571d9a" ) /* harmony default export */ var Header = __webpack_exports__["default"] = (component.exports); /* nuxt-component-imports */ installComponents(component, {CookieBanner: __webpack_require__(127).default,LoggedOutMenu: __webpack_require__(128).default,LoggedInMenu: __webpack_require__(129).default,Header: __webpack_require__(12).default}) /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = function (url, options) { if (!options) { // eslint-disable-next-line no-param-reassign options = {}; } // eslint-disable-next-line no-underscore-dangle, no-param-reassign url = url && url.__esModule ? url.default : url; if (typeof url !== "string") { return url; } // If url is already wrapped in quotes, remove them if (/^['"].*['"]$/.test(url)) { // eslint-disable-next-line no-param-reassign url = url.slice(1, -1); } if (options.hash) { // eslint-disable-next-line no-param-reassign url += options.hash; } // Should url be wrapped? // See https://drafts.csswg.org/css-values-3/#urls if (/["'() \t\n]/.test(url) || options.needQuotes) { return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\""); } return url; }; /***/ }), /* 14 */ /***/ (function(module, exports) { module.exports = require("vue-client-only"); /***/ }), /* 15 */ /***/ (function(module, exports) { module.exports = require("vue-router"); /***/ }), /* 16 */ /***/ (function(module, exports) { module.exports = require("moment"); /***/ }), /* 17 */ /***/ (function(module, exports) { module.exports = require("cookie"); /***/ }), /* 18 */ /***/ (function(module, exports) { module.exports = require("jwt-decode"); /***/ }), /* 19 */ /***/ (function(module, exports) { module.exports = require("requrl"); /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/logo-white-small.e9a735b.svg"; /***/ }), /* 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__(44); 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__(6).default module.exports.__inject__ = function (context) { add("9ce44fc0", 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__(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__(6).default module.exports.__inject__ = function (context) { add("6975d5f2", 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__(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__(6).default module.exports.__inject__ = function (context) { add("4ae288dd", 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__(53); 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__(6).default module.exports.__inject__ = function (context) { add("53f61d5f", content, true, context) }; /***/ }), /* 25 */ /***/ (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__(102); 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__(6).default module.exports.__inject__ = function (context) { add("2da35b05", content, true, context) }; /***/ }), /* 26 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Footer.vue?vue&type=template&id=13c9b172&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:"bg-black py-6 px-3 md:px-8 md:py-8 mt-8"},[_vm._ssrNode("<div class=\"grid grid-cols-1 sm:grid-cols-2 mb-10\" data-v-13c9b172>","</div>",[_vm._ssrNode("<div class=\"mb-6 flex items-center justify-center sm:mb-0 sm:block\" data-v-13c9b172>","</div>",[_c('NuxtLink',{attrs:{"to":"/"}},[_c('img',{staticClass:"h-8 max-w-full",attrs:{"src":__webpack_require__(97),"alt":"Take a seat"}})])],1),_vm._ssrNode(" <div class=\"flex items-center justify-center sm:justify-end\" data-v-13c9b172><a href=\"https://www.facebook.com/takeaseat.co.uk/\" target=\"_blank\" class=\"mx-3 sm:ml-5 sm:mr-0\" data-v-13c9b172><img"+(_vm._ssrAttr("src",__webpack_require__(98)))+" alt=\"Facebook\" data-v-13c9b172></a> <a href=\"https://www.instagram.com/takeaseat_therapy/\" target=\"_blank\" class=\"mx-3 sm:ml-5 sm:mr-0\" data-v-13c9b172><img"+(_vm._ssrAttr("src",__webpack_require__(99)))+" alt=\"Instagram\" data-v-13c9b172></a> <a href=\"https://twitter.com/TakeASeat__\" target=\"_blank\" class=\"mx-3 sm:ml-5 sm:mr-0\" data-v-13c9b172><img"+(_vm._ssrAttr("src",__webpack_require__(100)))+" alt=\"Twitter\" data-v-13c9b172></a></div>")],2),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"grid lg:grid-cols-5 gap-4\" data-v-13c9b172>","</div>",[_vm._ssrNode("<div class=\"lg:col-span-2 flex items-center justify-center lg:block\" data-v-13c9b172><p class=\"text-white text-xs\" data-v-13c9b172>Copyright © 2021 by Take A Seat</p></div> "),_vm._ssrNode("<div class=\"lg:col-span-3 flex flex-col sm:flex-row items-center justify-center lg:justify-end\" data-v-13c9b172>","</div>",[_vm._ssrNode("<a href=\"mailto:support@takeaseat.co.uk\" class=\"footer-link py-2 md:py-0\" data-v-13c9b172>Email support@takeaseat.co.uk</a> "),_vm._l((_vm.links),function(link,key){return _c('NuxtLink',{key:key,staticClass:"footer-link py-2 md:py-0 md:ml-4",attrs:{"to":link.url}},[_vm._v(_vm._s(link.name))])})],2)],2)],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/layout/Footer.vue?vue&type=template&id=13c9b172&scoped=true& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Footer.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var Footervue_type_script_lang_js_ = ({ data() { return { links: [{ name: 'Privacy', url: '/privacy-policy' }, { name: 'Terms & Conditions', url: '/terms-conditions' }, { name: 'Contact Us', url: '/contact-us' }] }; } }); // CONCATENATED MODULE: ./components/layout/Footer.vue?vue&type=script&lang=js& /* harmony default export */ var layout_Footervue_type_script_lang_js_ = (Footervue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/layout/Footer.vue function injectStyles (context) { var style0 = __webpack_require__(101) if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( layout_Footervue_type_script_lang_js_, render, staticRenderFns, false, injectStyles, "13c9b172", "3324b9a8" ) /* harmony default export */ var Footer = __webpack_exports__["default"] = (component.exports); /* nuxt-component-imports */ installComponents(component, {Footer: __webpack_require__(26).default}) /***/ }), /* 27 */ /***/ (function(module, exports) { module.exports = require("node-fetch"); /***/ }), /* 28 */ /***/ (function(module, exports) { module.exports = require("vue-meta"); /***/ }), /* 29 */ /***/ (function(module, exports) { module.exports = require("cookie-universal"); /***/ }), /* 30 */ /***/ (function(module, exports) { module.exports = require("events"); /***/ }), /* 31 */ /***/ (function(module, exports) { module.exports = require("awesome-phonenumber"); /***/ }), /* 32 */ /***/ (function(module, exports) { module.exports = require("vee-validate/dist/locale/en.json"); /***/ }), /* 33 */ /***/ (function(module, exports) { module.exports = require("vue-tailwind"); /***/ }), /* 34 */ /***/ (function(module, exports) { module.exports = require("v-money"); /***/ }), /* 35 */ /***/ (function(module, exports) { module.exports = require("vue-password-strength-meter"); /***/ }), /* 36 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/PageHeader.vue?vue&type=template&id=75568a56&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:"page-header relative mb-8 py-10 px-6 flex flex-col items-center justify-center text-center",class:_vm.classObject},[_vm._t("default"),_vm._ssrNode(" <div class=\"page-header-bg\" data-v-75568a56></div>")],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/layout/PageHeader.vue?vue&type=template&id=75568a56&scoped=true& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/PageHeader.vue?vue&type=script&lang=js& // // // // // // // // // /* harmony default export */ var PageHeadervue_type_script_lang_js_ = ({ props: { classObject: { type: String, default: 'bg-yellow' } } }); // CONCATENATED MODULE: ./components/layout/PageHeader.vue?vue&type=script&lang=js& /* harmony default export */ var layout_PageHeadervue_type_script_lang_js_ = (PageHeadervue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/layout/PageHeader.vue function injectStyles (context) { var style0 = __webpack_require__(43) if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( layout_PageHeadervue_type_script_lang_js_, render, staticRenderFns, false, injectStyles, "75568a56", "956799ee" ) /* harmony default export */ var PageHeader = __webpack_exports__["default"] = (component.exports); /***/ }), /* 37 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iQ29tcG9uZW50XzM4XzEiIGRhdGEtbmFtZT0iQ29tcG9uZW50IDM4IOKAkyAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjY2IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEyNjYgMTAwIj4KICA8ZyBpZD0iR3JvdXBfMTQ3NCIgZGF0YS1uYW1lPSJHcm91cCAxNDc0IiBvcGFjaXR5PSIwLjE1Ij4KICAgIDxwYXRoIGlkPSJQYXRoXzI4NCIgZGF0YS1uYW1lPSJQYXRoIDI4NCIgZD0iTTE3MjIuODI2LDU5OS40ODVjLTExNy42ODQtOC40NjctMjM2LjMwNy4zMjYtMzI5LjA4NywzMy4xMzNTMTA4Ny4zNzEsNjgwLjE5LDkwMi41NzgsNjEzLjZzLTQ0NS4zLDQxLjMxMS00NDUuMyw0MS4zMTF2MzYuOTc4czEyNjUuMjU1LTEuMDM4LDEyNjUuODA3LDBTMTcyMi44MjYsNTk5LjQ4NSwxNzIyLjgyNiw1OTkuNDg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ1Ny4yNzcgLTU5MS44OTMpIiBmaWxsPSIjZmZmIi8+CiAgPC9nPgogIDxwYXRoIGlkPSJQYXRoXzMyMyIgZGF0YS1uYW1lPSJQYXRoIDMyMyIgZD0iTTQzMy4xODgsNjA2LjAxOWMxMTAuMDIxLTExLjQxLDIzNi44NjMtMy41NjYsMzIzLjYsNDAuNjQzczI4Ni40MTcsNjQuMSw0NTkuMTc3LTI1LjYzMiw0ODMuMjIyLDU2LjksNDgzLjIyMiw1Ni45djE0LjAzMXMtMTI2Ni4yMy0uMDE4LTEyNjYsMFM0MzMuMTg4LDYwNi4wMTksNDMzLjE4OCw2MDYuMDE5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMy4xODggLTU5MS45NTcpIiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIwLjE1Ii8+Cjwvc3ZnPgo=" /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(39); module.exports = __webpack_require__(126); /***/ }), /* 39 */ /***/ (function(module, exports) { global.installComponents = function (component, components) { var options = typeof component.exports === 'function' ? component.exports.extendOptions : component.options if (typeof component.exports === 'function') { options.components = component.exports.options.components } options.components = options.components || {} for (var i in components) { options.components[i] = options.components[i] || components[i] } if (options.functional) { provideFunctionalComponents(component, options.components) } } var functionalPatchKey = '_functionalComponents' function provideFunctionalComponents(component, components) { if (component.exports[functionalPatchKey]) { return } component.exports[functionalPatchKey] = true var render = component.exports.render component.exports.render = function (h, vm) { return render(h, Object.assign({}, vm, { _c: function (n, a, b) { return vm._c(components[n] || n, a, b) } })) } } /***/ }), /* 40 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = (function ({ store, redirect }) { if (store.state.auth.loggedIn == true) { if (store.state.auth.user.data.role !== null && store.state.auth.user.data.role.name !== 'hero') { return redirect('/'); } } }); /***/ }), /* 41 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = (function ({ store, redirect }) { if (store.state.booking.success.list.length < 1) { return redirect('/'); } }); /***/ }), /* 42 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = (function ({ store, redirect }) { if (store.state.auth.loggedIn == true) { if (store.state.auth.user.data.role !== null && store.state.auth.user.data.role.name !== 'therapist') { return redirect('/'); } } }); /***/ }), /* 43 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PageHeader_vue_vue_type_style_index_0_id_75568a56_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PageHeader_vue_vue_type_style_index_0_id_75568a56_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PageHeader_vue_vue_type_style_index_0_id_75568a56_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PageHeader_vue_vue_type_style_index_0_id_75568a56_lang_postcss_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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PageHeader_vue_vue_type_style_index_0_id_75568a56_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 44 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(13); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(37); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(45); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".page-header[data-v-75568a56]{min-height:450px;}@media (min-width:640px){.page-header[data-v-75568a56]{height:50vh}.page-header.home[data-v-75568a56]{height:70vh}}.page-header-bg[data-v-75568a56]{position:absolute;bottom:0px;left:0px;z-index:10;height:100%;width:100%;background-repeat:no-repeat;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");background-position:bottom;background-size:calc(100% + 2px) auto;border-bottom:100px solid hsla(0,0%,100%,.3)}.page-header-gray .page-header-bg[data-v-75568a56]{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ");border:none}.page-header-bottom[data-v-75568a56]{position:absolute;bottom:0px;left:0px;z-index:20;width:100%;padding-left:3rem;padding-right:3rem;padding-bottom:1.5rem}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 45 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/pageheader-gray-bg.f0f708e.svg"; /***/ }), /* 46 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/logo-small.a98e3f3.svg"; /***/ }), /* 47 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/logo.3d44ac9.svg"; /***/ }), /* 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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedOutMenu_vue_vue_type_style_index_0_id_30beed07_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedOutMenu_vue_vue_type_style_index_0_id_30beed07_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedOutMenu_vue_vue_type_style_index_0_id_30beed07_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedOutMenu_vue_vue_type_style_index_0_id_30beed07_lang_postcss_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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedOutMenu_vue_vue_type_style_index_0_id_30beed07_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 49 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".nav-link[data-v-30beed07]{margin-left:0.75rem;margin-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.nav-link.nuxt-link-exact-active[data-v-30beed07], .nav-link[data-v-30beed07]:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.mobile-nav-link[data-v-30beed07]{display:block;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:100ms;}.mobile-nav-link.nuxt-link-exact-active[data-v-30beed07], .mobile-nav-link[data-v-30beed07]:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}", ""]); // 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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedInMenu_vue_vue_type_style_index_0_id_57ee62f1_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedInMenu_vue_vue_type_style_index_0_id_57ee62f1_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedInMenu_vue_vue_type_style_index_0_id_57ee62f1_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedInMenu_vue_vue_type_style_index_0_id_57ee62f1_lang_postcss_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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoggedInMenu_vue_vue_type_style_index_0_id_57ee62f1_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 51 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".nav-link[data-v-57ee62f1]{font-size:0.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.nav-link.nuxt-link-exact-active[data-v-57ee62f1], .nav-link[data-v-57ee62f1]:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.mobile-nav-link[data-v-57ee62f1]{display:block;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:100ms;}.mobile-nav-link.nuxt-link-exact-active[data-v-57ee62f1], .mobile-nav-link[data-v-57ee62f1]:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 52 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_3_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_lang_css___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_3_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_3_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_3_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_nuxt_loading_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 53 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".nuxt-progress{position:fixed;top:0;left:0;right:0;height:2px;width:0;opacity:1;transition:width .1s,opacity .4s;background-color:#000;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 54 */ /***/ (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__(55); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; __webpack_require__(6).default("54b08540", content, true) /***/ }), /* 55 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.i, "/*! tailwindcss v2.1.1 | MIT License | https://tailwindcss.com*//*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n*::before,\n*::after {\n\tbox-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\n:root {\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\t tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n\tline-height: 1.15; /* 1 */\n\t-webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n\tmargin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n\tfont-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\t-webkit-text-decoration: underline dotted;\n\t text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: currentColor; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-moz-placeholder, textarea::-moz-placeholder {\n opacity: 1;\n color: #a1a1aa;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n opacity: 1;\n color: #a1a1aa;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #a1a1aa;\n}\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their intrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}*{--tw-shadow:0 0 #0000;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;}\n [type='text'],\n [type='email'],\n [type='url'],\n [type='password'],\n [type='number'],\n [type='date'],\n [type='datetime-local'],\n [type='month'],\n [type='search'],\n [type='tel'],\n [type='time'],\n [type='week'],\n [multiple],\n textarea,\n select\n {-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0px;padding-top:0.5rem;padding-right:0.75rem;padding-bottom:0.5rem;padding-left:0.75rem;font-size:1rem;line-height:1.5rem;}[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);border-color:#2563eb;}input::-moz-placeholder, textarea::-moz-placeholder{color:#6b7280;opacity:1;}input:-ms-input-placeholder, textarea:-ms-input-placeholder{color:#6b7280;opacity:1;}input::placeholder, textarea::placeholder{color:#6b7280;opacity:1;}::-webkit-datetime-edit-fields-wrapper{padding:0;}::-webkit-date-and-time-value{min-height:1.5em;}select{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact;}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:0.75rem;-webkit-print-color-adjust:unset;color-adjust:unset;}\n [type='checkbox'],\n [type='radio']\n {-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;}[type='checkbox']{border-radius:0px;}[type='radio']{border-radius:100%;}\n [type='checkbox']:focus,\n [type='radio']:focus\n {outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}\n [type='checkbox']:checked,\n [type='radio']:checked\n {border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat;}[type='checkbox']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\");}[type='radio']:checked{background-image:url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");}\n [type='checkbox']:checked:hover,\n [type='checkbox']:checked:focus,\n [type='radio']:checked:hover,\n [type='radio']:checked:focus\n {border-color:transparent;background-color:currentColor;}[type='checkbox']:indeterminate{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat;}\n [type='checkbox']:indeterminate:hover,\n [type='checkbox']:indeterminate:focus\n {border-color:transparent;background-color:currentColor;}[type='file']{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit;}[type='file']:focus{outline:1px auto -webkit-focus-ring-color;}.prose{color:#374151;max-width:65ch;}.prose [class~=\"lead\"]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em;}.prose a{color:#111827;text-decoration:underline;font-weight:500;}.prose strong{color:#111827;font-weight:600;}.prose ol[type=\"A\"]{--list-counter-style:upper-alpha;}.prose ol[type=\"a\"]{--list-counter-style:lower-alpha;}.prose ol[type=\"A s\"]{--list-counter-style:upper-alpha;}.prose ol[type=\"a s\"]{--list-counter-style:lower-alpha;}.prose ol[type=\"I\"]{--list-counter-style:upper-roman;}.prose ol[type=\"i\"]{--list-counter-style:lower-roman;}.prose ol[type=\"I s\"]{--list-counter-style:upper-roman;}.prose ol[type=\"i s\"]{--list-counter-style:lower-roman;}.prose ol[type=\"1\"]{--list-counter-style:decimal;}.prose ol > li{position:relative;padding-left:1.75em;}.prose ol > li::before{content:counter(list-item, var(--list-counter-style, decimal)) \".\";position:absolute;font-weight:400;color:#6b7280;left:0;}.prose ul > li{position:relative;padding-left:1.75em;}.prose ul > li::before{content:\"\";position:absolute;background-color:#d1d5db;border-radius:50%;width:0.375em;height:0.375em;top:calc(0.875em - 0.1875em);left:0.25em;}.prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em;}.prose blockquote{font-weight:500;font-style:italic;color:#111827;border-left-width:0.25rem;border-left-color:#e5e7eb;quotes:\"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;}.prose blockquote p:first-of-type::before{content:open-quote;}.prose blockquote p:last-of-type::after{content:close-quote;}.prose h1{color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111;}.prose h2{color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333;}.prose h3{color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6;}.prose h4{color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5;}.prose figure figcaption{color:#6b7280;font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em;}.prose code{color:#111827;font-weight:600;font-size:0.875em;}.prose code::before{content:\"`\";}.prose code::after{content:\"`\";}.prose a code{color:#111827;}.prose pre{color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em;}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;}.prose pre code::before{content:none;}.prose pre code::after{content:none;}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857;}.prose thead{color:#111827;font-weight:600;border-bottom-width:1px;border-bottom-color:#d1d5db;}.prose thead th{vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em;}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb;}.prose tbody tr:last-child{border-bottom-width:0;}.prose tbody td{vertical-align:top;padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em;}.prose{font-size:1rem;line-height:1.75;}.prose p{margin-top:1.25em;margin-bottom:1.25em;}.prose img{margin-top:2em;margin-bottom:2em;}.prose video{margin-top:2em;margin-bottom:2em;}.prose figure{margin-top:2em;margin-bottom:2em;}.prose figure > *{margin-top:0;margin-bottom:0;}.prose h2 code{font-size:0.875em;}.prose h3 code{font-size:0.9em;}.prose ol{margin-top:1.25em;margin-bottom:1.25em;}.prose ul{margin-top:1.25em;margin-bottom:1.25em;}.prose li{margin-top:0.5em;margin-bottom:0.5em;}.prose > ul > li p{margin-top:0.75em;margin-bottom:0.75em;}.prose > ul > li > *:first-child{margin-top:1.25em;}.prose > ul > li > *:last-child{margin-bottom:1.25em;}.prose > ol > li > *:first-child{margin-top:1.25em;}.prose > ol > li > *:last-child{margin-bottom:1.25em;}.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol{margin-top:0.75em;margin-bottom:0.75em;}.prose hr + *{margin-top:0;}.prose h2 + *{margin-top:0;}.prose h3 + *{margin-top:0;}.prose h4 + *{margin-top:0;}.prose thead th:first-child{padding-left:0;}.prose thead th:last-child{padding-right:0;}.prose tbody td:first-child{padding-left:0;}.prose tbody td:last-child{padding-right:0;}.prose > :first-child{margin-top:0;}.prose > :last-child{margin-bottom:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;}.pointer-events-none{pointer-events:none;}.invisible{visibility:hidden;}.relative{position:relative;}.absolute{position:absolute;}.fixed{position:fixed;}.inset-y-0{top:0px;bottom:0px;}.top-0{top:0px;}.left-0{left:0px;}.right-0{right:0px;}.top-full{top:100%;}.bottom-0{bottom:0px;}.-top-1{top:-0.25rem;}.-right-1{right:-0.25rem;}.top-6{top:1.5rem;}.right-10{right:2.5rem;}.top-1{top:0.25rem;}.right-1{right:0.25rem;}.top-2{top:0.5rem;}.left-3{left:0.75rem;}.top-1\\/2{top:50%;}.left-0\\.5{left:0.125rem;}.top-10{top:2.5rem;}.right-full{right:100%;}.z-50{z-index:50;}.z-30{z-index:30;}.z-20{z-index:20;}.z-10{z-index:10;}.z-40{z-index:40;}.order-2{order:2;}.order-1{order:1;}.order-3{order:3;}.col-span-1{grid-column:span 1 / span 1;}.col-span-3{grid-column:span 3 / span 3;}.col-span-2{grid-column:span 2 / span 2;}.col-span-4{grid-column:span 4 / span 4;}.m-0{margin:0px;}.m-2{margin:0.5rem;}.m-0\\.5{margin:0.125rem;}.-m-3{margin:-0.75rem;}.m-auto{margin:auto;}.my-6{margin-top:1.5rem;margin-bottom:1.5rem;}.mx-auto{margin-left:auto;margin-right:auto;}.my-8{margin-top:2rem;margin-bottom:2rem;}.my-1{margin-top:0.25rem;margin-bottom:0.25rem;}.mx-3{margin-left:0.75rem;margin-right:0.75rem;}.my-3{margin-top:0.75rem;margin-bottom:0.75rem;}.-mx-1{margin-left:-0.25rem;margin-right:-0.25rem;}.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem;}.my-2{margin-top:0.5rem;margin-bottom:0.5rem;}.-mx-3{margin-left:-0.75rem;margin-right:-0.75rem;}.my-0{margin-top:0px;margin-bottom:0px;}.-mx-2{margin-left:-0.5rem;margin-right:-0.5rem;}.my-1\\.5{margin-top:0.375rem;margin-bottom:0.375rem;}.mx-2{margin-left:0.5rem;margin-right:0.5rem;}.my-16{margin-top:4rem;margin-bottom:4rem;}.mx-1{margin-left:0.25rem;margin-right:0.25rem;}.my-4{margin-top:1rem;margin-bottom:1rem;}.mr-4{margin-right:1rem;}.ml-2{margin-left:0.5rem;}.mb-3{margin-bottom:0.75rem;}.-mb-2{margin-bottom:-0.5rem;}.-ml-1{margin-left:-0.25rem;}.mr-3{margin-right:0.75rem;}.mr-5{margin-right:1.25rem;}.mb-8{margin-bottom:2rem;}.mb-20{margin-bottom:5rem;}.mb-10{margin-bottom:2.5rem;}.mb-6{margin-bottom:1.5rem;}.mb-4{margin-bottom:1rem;}.mt-3{margin-top:0.75rem;}.mt-6{margin-top:1.5rem;}.mb-2{margin-bottom:0.5rem;}.-mt-2{margin-top:-0.5rem;}.mt-8{margin-top:2rem;}.mr-1{margin-right:0.25rem;}.mb-12{margin-bottom:3rem;}.-mt-8{margin-top:-2rem;}.mt-1{margin-top:0.25rem;}.ml-1{margin-left:0.25rem;}.ml-auto{margin-left:auto;}.-mr-1{margin-right:-0.25rem;}.mb-1{margin-bottom:0.25rem;}.mt-2{margin-top:0.5rem;}.-ml-1\\.5{margin-left:-0.375rem;}.-mt-1{margin-top:-0.25rem;}.mt-4{margin-top:1rem;}.-mt-3{margin-top:-0.75rem;}.mr-10{margin-right:2.5rem;}.mr-2{margin-right:0.5rem;}.mb-0{margin-bottom:0px;}.-mt-4{margin-top:-1rem;}.mt-0{margin-top:0px;}.-mt-5{margin-top:-1.25rem;}.mb-16{margin-bottom:4rem;}.ml-3{margin-left:0.75rem;}.-mb-3{margin-bottom:-0.75rem;}.mt-16{margin-top:4rem;}.mb-1\\.5{margin-bottom:0.375rem;}.mt-1\\.5{margin-top:0.375rem;}.ml-5{margin-left:1.25rem;}.mb-5{margin-bottom:1.25rem;}.mt-5{margin-top:1.25rem;}.box-border{box-sizing:border-box;}.flex{display:flex;}.block{display:block;}.inline-block{display:inline-block;}.grid{display:grid;}.inline-flex{display:inline-flex;}.table{display:table;}.table-cell{display:table-cell;}.inline{display:inline;}.hidden{display:none;}.h-5{height:1.25rem;}.h-4{height:1rem;}.h-full{height:100%;}.h-7{height:1.75rem;}.h-11{height:2.75rem;}.h-10{height:2.5rem;}.h-9{height:2.25rem;}.h-24{height:6rem;}.h-16{height:4rem;}.h-6{height:1.5rem;}.h-8{height:2rem;}.h-3{height:0.75rem;}.h-12{height:3rem;}.h-48{height:12rem;}.h-screen{height:100vh;}.h-40{height:10rem;}.h-96{height:24rem;}.h-1{height:0.25rem;}.h-0\\.5{height:0.125rem;}.h-0{height:0px;}.w-full{width:100%;}.w-96{width:24rem;}.w-5{width:1.25rem;}.w-4{width:1rem;}.w-auto{width:auto;}.w-7{width:1.75rem;}.w-16{width:4rem;}.w-10{width:2.5rem;}.w-12{width:3rem;}.w-6{width:1.5rem;}.w-8{width:2rem;}.w-3{width:0.75rem;}.w-10\\/12{width:83.333333%;}.w-40{width:10rem;}.w-48{width:12rem;}.w-32{width:8rem;}.w-24{width:6rem;}.min-w-full{min-width:100%;}.max-w-full{max-width:100%;}.max-w-4xl{max-width:56rem;}.max-w-5xl{max-width:64rem;}.max-w-3xl{max-width:48rem;}.max-w-xl{max-width:36rem;}.max-w-md{max-width:28rem;}.max-w-xs{max-width:20rem;}.max-w-6xl{max-width:72rem;}.max-w-2xl{max-width:42rem;}.max-w-lg{max-width:32rem;}.flex-auto{flex:1 1 auto;}.flex-shrink-0{flex-shrink:0;}.flex-grow{flex-grow:1;}.border-collapse{border-collapse:collapse;}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));}.origin-top-right{transform-origin:top right;}.origin-top{transform-origin:top;}.origin-top-left{transform-origin:top left;}.translate-y-0{--tw-translate-y:0px;}.translate-y-full{--tw-translate-y:100%;}.translate-y-2{--tw-translate-y:0.5rem;}.-translate-y-3{--tw-translate-y:-0.75rem;}.-translate-y-1\\/2{--tw-translate-y:-50%;}.rotate-180{--tw-rotate:180deg;}.rotate-45{--tw-rotate:45deg;}.-rotate-45{--tw-rotate:-45deg;}.scale-100{--tw-scale-x:1;--tw-scale-y:1;}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9;}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;}@-webkit-keyframes spin{to{transform:rotate(360deg);}}@keyframes spin{to{transform:rotate(360deg);}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;}.cursor-pointer{cursor:pointer;}.cursor-not-allowed{cursor:not-allowed;}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none;}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.flex-row{flex-direction:row;}.flex-col{flex-direction:column;}.flex-nowrap{flex-wrap:nowrap;}.flex-wrap{flex-wrap:wrap;}.content-between{align-content:space-between;}.items-center{align-items:center;}.items-end{align-items:flex-end;}.items-start{align-items:flex-start;}.justify-center{justify-content:center;}.justify-end{justify-content:flex-end;}.justify-start{justify-content:flex-start;}.justify-between{justify-content:space-between;}.gap-4{gap:1rem;}.gap-8{gap:2rem;}.gap-2{gap:0.5rem;}.gap-10{gap:2.5rem;}.gap-6{gap:1.5rem;}.gap-1{gap:0.25rem;}.gap-3{gap:0.75rem;}.gap-5{gap:1.25rem;}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem;}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem;}.gap-y-10{row-gap:2.5rem;}.gap-y-4{row-gap:1rem;}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem;}.gap-y-2{row-gap:0.5rem;}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem;}.gap-x-3{-moz-column-gap:0.75rem;column-gap:0.75rem;}.gap-y-12{row-gap:3rem;}.gap-y-3{row-gap:0.75rem;}.gap-y-0{row-gap:0px;}.divide-y > :not([hidden]) ~ :not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));}.overflow-hidden{overflow:hidden;}.overflow-y-auto{overflow-y:auto;}.overflow-auto{overflow:auto;}.overflow-visible{overflow:visible;}.overflow-x-auto{overflow-x:auto;}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.whitespace-nowrap{white-space:nowrap;}.rounded-xl{border-radius:0.75rem;}.rounded-full{border-radius:9999px;}.rounded-lg{border-radius:0.5rem;}.rounded-md{border-radius:0.375rem;}.rounded{border-radius:0.25rem;}.rounded-sm{border-radius:0.125rem;}.rounded-3xl{border-radius:1.5rem;}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem;}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px;}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px;}.rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem;}.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;}.rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;}.rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem;}.rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem;}.border-2{border-width:2px;}.border-0{border-width:0;}.border-4{border-width:4px;}.border{border-width:1px;}.border-15{border-width:15px;}.border-10{border-width:10px;}.border-40{border-width:40px;}.border-l-2{border-left-width:2px;}.border-l-8{border-left-width:8px;}.border-t{border-top-width:1px;}.border-b{border-bottom-width:1px;}.border-b-2{border-bottom-width:2px;}.border-t-2{border-top-width:2px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-transparent{border-color:transparent;}.border-black{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.border-orange{--tw-border-opacity:1;border-color:rgba(255, 137, 0, var(--tw-border-opacity));}.border-gray{--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));}.border-yellow{--tw-border-opacity:1;border-color:rgba(255, 204, 0, var(--tw-border-opacity));}.border-red{--tw-border-opacity:1;border-color:rgba(253, 80, 80, var(--tw-border-opacity));}.border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity));}.border-green{--tw-border-opacity:1;border-color:rgba(185, 203, 27, var(--tw-border-opacity));}.border-opacity-50{--tw-border-opacity:0.5;}.border-opacity-10{--tw-border-opacity:0.1;}.border-opacity-20{--tw-border-opacity:0.2;}.border-opacity-80{--tw-border-opacity:0.8;}.border-opacity-75{--tw-border-opacity:0.75;}.bg-black{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.bg-yellow{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));}.bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.bg-gray{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity));}.bg-green{--tw-bg-opacity:1;background-color:rgba(185, 203, 27, var(--tw-bg-opacity));}.bg-orange{--tw-bg-opacity:1;background-color:rgba(255, 137, 0, var(--tw-bg-opacity));}.bg-blue-light{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity));}.bg-blue{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity));}.bg-pink{--tw-bg-opacity:1;background-color:rgba(253, 80, 188, var(--tw-bg-opacity));}.bg-blue-medium{--tw-bg-opacity:1;background-color:rgba(188, 205, 212, var(--tw-bg-opacity));}.bg-purple{--tw-bg-opacity:1;background-color:rgba(206, 169, 216, var(--tw-bg-opacity));}.bg-opacity-50{--tw-bg-opacity:0.5;}.bg-opacity-20{--tw-bg-opacity:0.2;}.bg-opacity-75{--tw-bg-opacity:0.75;}.bg-opacity-25{--tw-bg-opacity:0.25;}.bg-opacity-10{--tw-bg-opacity:0.1;}.bg-none{background-image:none;}.bg-contain{background-size:contain;}.bg-cover{background-size:cover;}.bg-center{background-position:center;}.bg-bottom{background-position:bottom;}.bg-no-repeat{background-repeat:no-repeat;}.fill-current{fill:currentColor;}.p-1{padding:0.25rem;}.p-6{padding:1.5rem;}.p-4{padding:1rem;}.p-3{padding:0.75rem;}.p-8{padding:2rem;}.p-2{padding:0.5rem;}.p-10{padding:2.5rem;}.p-20{padding:5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.px-7{padding-left:1.75rem;padding-right:1.75rem;}.py-1\\.5{padding-top:0.375rem;padding-bottom:0.375rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}.px-4{padding-left:1rem;padding-right:1rem;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.py-20{padding-top:5rem;padding-bottom:5rem;}.px-8{padding-left:2rem;padding-right:2rem;}.py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.py-24{padding-top:6rem;padding-bottom:6rem;}.px-2{padding-left:0.5rem;padding-right:0.5rem;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.py-12{padding-top:3rem;padding-bottom:3rem;}.px-0\\.5{padding-left:0.125rem;padding-right:0.125rem;}.px-0{padding-left:0px;padding-right:0px;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.px-12{padding-left:3rem;padding-right:3rem;}.py-8{padding-top:2rem;padding-bottom:2rem;}.py-16{padding-top:4rem;padding-bottom:4rem;}.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.pt-20{padding-top:5rem;}.pl-2{padding-left:0.5rem;}.pl-3{padding-left:0.75rem;}.pr-20{padding-right:5rem;}.pl-16{padding-left:4rem;}.pl-2\\.5{padding-left:0.625rem;}.pt-4{padding-top:1rem;}.pt-16{padding-top:4rem;}.pb-20{padding-bottom:5rem;}.pt-2{padding-top:0.5rem;}.pr-10{padding-right:2.5rem;}.pr-8{padding-right:2rem;}.pb-2{padding-bottom:0.5rem;}.pr-3{padding-right:0.75rem;}.pb-6{padding-bottom:1.5rem;}.pl-10{padding-left:2.5rem;}.pb-48{padding-bottom:12rem;}.pt-6{padding-top:1.5rem;}.pt-8{padding-top:2rem;}.pb-10{padding-bottom:2.5rem;}.pb-28{padding-bottom:7rem;}.pl-12{padding-left:3rem;}.pl-6{padding-left:1.5rem;}.pt-3{padding-top:0.75rem;}.pt-10{padding-top:2.5rem;}.pr-5{padding-right:1.25rem;}.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";}.text-base{font-size:1rem;line-height:1.5rem;}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-7xl{font-size:4.5rem;line-height:1;}.text-5xl{font-size:3rem;line-height:1;}.text-2xl{font-size:1.5rem;line-height:2rem;}.text-3xl{font-size:1.875rem;line-height:2.25rem;}.text-4xl{font-size:2.25rem;line-height:2.5rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.font-bold{font-weight:700;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.uppercase{text-transform:uppercase;}.italic{font-style:italic;}.leading-4{line-height:1rem;}.leading-5{line-height:1.25rem;}.leading-7{line-height:1.75rem;}.leading-6{line-height:1.5rem;}.leading-8{line-height:2rem;}.leading-3{line-height:.75rem;}.leading-tight{line-height:1.25;}.leading-none{line-height:1;}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}.text-black{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));}.text-current{color:currentColor;}.text-blue-light{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity));}.text-orange{--tw-text-opacity:1;color:rgba(255, 137, 0, var(--tw-text-opacity));}.text-red{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity));}.text-yellow{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity));}.text-gray{--tw-text-opacity:1;color:rgba(243, 242, 238, var(--tw-text-opacity));}.text-pink{--tw-text-opacity:1;color:rgba(253, 80, 188, var(--tw-text-opacity));}.text-blue-medium{--tw-text-opacity:1;color:rgba(188, 205, 212, var(--tw-text-opacity));}.text-blue{--tw-text-opacity:1;color:rgba(142, 174, 217, var(--tw-text-opacity));}.text-opacity-75{--tw-text-opacity:0.75;}.text-opacity-80{--tw-text-opacity:0.8;}.text-opacity-50{--tw-text-opacity:0.5;}.text-opacity-70{--tw-text-opacity:0.7;}.text-opacity-90{--tw-text-opacity:0.9;}.underline{text-decoration:underline;}.placeholder-white::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-white:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-black::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.placeholder-black:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.opacity-100{opacity:1;}.opacity-0{opacity:0;}.opacity-25{opacity:0.25;}.opacity-75{opacity:0.75;}.opacity-50{opacity:0.5;}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.outline-none{outline:2px solid transparent;outline-offset:2px;}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.transition-width{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.duration-100{transition-duration:100ms;}.duration-200{transition-duration:200ms;}.duration-75{transition-duration:75ms;}.duration{transition-duration:150ms;}.duration-500{transition-duration:500ms;}.ease{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}.hover\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));}.hover\\:bg-yellow:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));}.hover\\:bg-blue:hover{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity));}.hover\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.hover\\:bg-red:hover{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.hover\\:bg-gray:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity));}.hover\\:bg-blue-light:hover{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity));}.hover\\:bg-opacity-75:hover{--tw-bg-opacity:0.75;}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1;}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));}.hover\\:text-blue-light:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity));}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}.hover\\:text-yellow:hover{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity));}.hover\\:text-red:hover{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity));}.hover\\:text-opacity-75:hover{--tw-text-opacity:0.75;}.hover\\:text-opacity-100:hover{--tw-text-opacity:1;}.hover\\:underline:hover{text-decoration:underline;}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.hover\\:outline-none:hover{outline:2px solid transparent;outline-offset:2px;}.focus\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}.focus\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(51, 51, 51, var(--tw-ring-opacity));}.focus\\:ring-opacity-50:focus{--tw-ring-opacity:0.5;}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px;}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\\:bg-black:disabled{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.disabled\\:opacity-50:disabled{opacity:0.5;}@media (min-width: 640px){.sm\\:absolute{position:absolute;}.sm\\:top-2{top:0.5rem;}.sm\\:right-2{right:0.5rem;}.sm\\:order-1{order:1;}.sm\\:order-2{order:2;}.sm\\:col-span-4{grid-column:span 4 / span 4;}.sm\\:col-span-2{grid-column:span 2 / span 2;}.sm\\:col-span-1{grid-column:span 1 / span 1;}.sm\\:col-span-3{grid-column:span 3 / span 3;}.sm\\:my-0{margin-top:0px;margin-bottom:0px;}.sm\\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}.sm\\:mt-0{margin-top:0px;}.sm\\:mb-0{margin-bottom:0px;}.sm\\:ml-5{margin-left:1.25rem;}.sm\\:mr-0{margin-right:0px;}.sm\\:mb-8{margin-bottom:2rem;}.sm\\:mt-16{margin-top:4rem;}.sm\\:grid{display:grid;}.sm\\:block{display:block;}.sm\\:flex{display:flex;}.sm\\:hidden{display:none;}.sm\\:h-6{height:1.5rem;}.sm\\:w-auto{width:auto;}.sm\\:w-full{width:100%;}.sm\\:w-6{width:1.5rem;}.sm\\:w-96{width:24rem;}.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.sm\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.sm\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}.sm\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.sm\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.sm\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.sm\\:flex-row{flex-direction:row;}.sm\\:items-start{align-items:flex-start;}.sm\\:items-end{align-items:flex-end;}.sm\\:items-center{align-items:center;}.sm\\:justify-end{justify-content:flex-end;}.sm\\:justify-start{justify-content:flex-start;}.sm\\:justify-center{justify-content:center;}.sm\\:gap-3{gap:0.75rem;}.sm\\:gap-10{gap:2.5rem;}.sm\\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem;}.sm\\:rounded-full{border-radius:9999px;}.sm\\:bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.sm\\:p-4{padding:1rem;}.sm\\:py-20{padding-top:5rem;padding-bottom:5rem;}.sm\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.sm\\:px-8{padding-left:2rem;padding-right:2rem;}.sm\\:py-12{padding-top:3rem;padding-bottom:3rem;}.sm\\:px-16{padding-left:4rem;padding-right:4rem;}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem;}.sm\\:py-0{padding-top:0px;padding-bottom:0px;}.sm\\:pl-4{padding-left:1rem;}.sm\\:text-left{text-align:left;}.sm\\:text-right{text-align:right;}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.sm\\:text-base{font-size:1rem;line-height:1.5rem;}.sm\\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}}@media (min-width: 768px){.md\\:col-span-5{grid-column:span 5 / span 5;}.md\\:col-span-4{grid-column:span 4 / span 4;}.md\\:col-span-2{grid-column:span 2 / span 2;}.md\\:col-span-3{grid-column:span 3 / span 3;}.md\\:col-span-1{grid-column:span 1 / span 1;}.md\\:-mx-8{margin-left:-2rem;margin-right:-2rem;}.md\\:mt-16{margin-top:4rem;}.md\\:ml-4{margin-left:1rem;}.md\\:mb-16{margin-bottom:4rem;}.md\\:mb-0{margin-bottom:0px;}.md\\:mb-8{margin-bottom:2rem;}.md\\:mt-0{margin-top:0px;}.md\\:table-cell{display:table-cell;}.md\\:flex{display:flex;}.md\\:hidden{display:none;}.md\\:h-screen{height:100vh;}.md\\:w-full{width:100%;}.md\\:w-1\\/2{width:50%;}.md\\:w-1\\/5{width:20%;}.md\\:w-3\\/5{width:60%;}.md\\:max-w-full{max-width:100%;}.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.md\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.md\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.md\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.md\\:items-end{align-items:flex-end;}.md\\:justify-end{justify-content:flex-end;}.md\\:justify-start{justify-content:flex-start;}.md\\:p-10{padding:2.5rem;}.md\\:p-8{padding:2rem;}.md\\:py-20{padding-top:5rem;padding-bottom:5rem;}.md\\:px-8{padding-left:2rem;padding-right:2rem;}.md\\:px-0{padding-left:0px;padding-right:0px;}.md\\:py-8{padding-top:2rem;padding-bottom:2rem;}.md\\:py-0{padding-top:0px;padding-bottom:0px;}.md\\:py-12{padding-top:3rem;padding-bottom:3rem;}.md\\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.md\\:pb-20{padding-bottom:5rem;}.md\\:pt-12{padding-top:3rem;}.md\\:pt-20{padding-top:5rem;}.md\\:pb-16{padding-bottom:4rem;}.md\\:pb-10{padding-bottom:2.5rem;}.md\\:text-left{text-align:left;}.md\\:text-5xl{font-size:3rem;line-height:1;}.md\\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.md\\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\\:text-7xl{font-size:4.5rem;line-height:1;}.md\\:text-base{font-size:1rem;line-height:1.5rem;}}@media (min-width: 1024px){.lg\\:static{position:static;}.lg\\:order-1{order:1;}.lg\\:order-2{order:2;}.lg\\:order-3{order:3;}.lg\\:col-span-2{grid-column:span 2 / span 2;}.lg\\:col-span-3{grid-column:span 3 / span 3;}.lg\\:col-span-6{grid-column:span 6 / span 6;}.lg\\:col-span-5{grid-column:span 5 / span 5;}.lg\\:col-span-4{grid-column:span 4 / span 4;}.lg\\:col-span-1{grid-column:span 1 / span 1;}.lg\\:mr-3{margin-right:0.75rem;}.lg\\:block{display:block;}.lg\\:grid{display:grid;}.lg\\:flex{display:flex;}.lg\\:hidden{display:none;}.lg\\:h-auto{height:auto;}.lg\\:w-auto{width:auto;}.lg\\:w-1\\/4{width:25%;}.lg\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.lg\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.lg\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}.lg\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.lg\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.lg\\:items-center{align-items:center;}.lg\\:justify-end{justify-content:flex-end;}.lg\\:justify-center{justify-content:center;}.lg\\:gap-10{gap:2.5rem;}.lg\\:p-0{padding:0px;}.lg\\:px-0{padding-left:0px;padding-right:0px;}.lg\\:px-8{padding-left:2rem;padding-right:2rem;}.lg\\:px-10{padding-left:2.5rem;padding-right:2.5rem;}.lg\\:text-7xl{font-size:4.5rem;line-height:1;}.lg\\:text-5xl{font-size:3rem;line-height:1;}.lg\\:text-sm{font-size:0.875rem;line-height:1.25rem;}}@media (min-width: 1280px){.xl\\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}.xl\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.xl\\:text-4xl{font-size:2.25rem;line-height:2.5rem;}}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 56 */ /***/ (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__(57); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; __webpack_require__(6).default("4ff7fc8c", content, true) /***/ }), /* 57 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(13); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(58); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(59); var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(60); var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(61); var ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(62); var ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(63); var ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(64); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___); var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___); var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); // Module ___CSS_LOADER_EXPORT___.push([module.i, "body, html{font-size:1rem;line-height:1.5rem;line-height:1.5rem;--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}body,html{font-family:\"Poppins\",sans-serif}h1,h2,h3,h4,h5,h6{font-family:\"Raleway\",sans-serif}.{font-family:\"the_fox_tailregular\",sans-serif}.text-content h1, .text-content h2, .text-content h3, .text-content h4, .text-content h5, .text-content h6{margin-top:1rem;margin-bottom:1rem;font-weight:700}.text-content ol, .text-content ul{margin-top:1rem;margin-bottom:1rem;padding-left:1.25rem}.text-content ol{list-style-type:decimal}.text-content ul{list-style-type:disc}.text-content li, .text-content p{margin-top:0.75rem;margin-bottom:0.75rem}.icon-envelope{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ")}.icon-phone{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ")}.icon-search{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ")}.icon-filters{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ")}.tas-bg-yellow{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.tas-bg-green{--tw-bg-opacity:1;background-color:rgba(185, 203, 27, var(--tw-bg-opacity))}.tas-bg-pink{--tw-bg-opacity:1;background-color:rgba(253, 80, 188, var(--tw-bg-opacity))}.tas-bg-blue-light{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity))}.tas-bg-blue-medium{--tw-bg-opacity:1;background-color:rgba(188, 205, 212, var(--tw-bg-opacity))}.tas-bg-orange{--tw-bg-opacity:1;background-color:rgba(255, 137, 0, var(--tw-bg-opacity))}.tas-bg-green-dark{--tw-bg-opacity:1;background-color:rgba(27, 203, 115, var(--tw-bg-opacity))}.tas-bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity))}.tas-bg-blue{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity))}.tas-bg-purple{--tw-bg-opacity:1;background-color:rgba(206, 169, 216, var(--tw-bg-opacity))}.tas-border-yellow{--tw-border-opacity:1;border-color:rgba(255, 204, 0, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-green{--tw-border-opacity:1;border-color:rgba(185, 203, 27, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-pink{--tw-border-opacity:1;border-color:rgba(253, 80, 188, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue-light{--tw-border-opacity:1;border-color:rgba(121, 208, 215, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue-medium{--tw-border-opacity:1;border-color:rgba(188, 205, 212, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-orange{--tw-border-opacity:1;border-color:rgba(255, 137, 0, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-green-dark{--tw-border-opacity:1;border-color:rgba(27, 203, 115, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-red{--tw-border-opacity:1;border-color:rgba(253, 80, 80, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue{--tw-border-opacity:1;border-color:rgba(142, 174, 217, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-purple{--tw-border-opacity:1;border-color:rgba(206, 169, 216, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-text-yellow{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity))}.tas-text-green{--tw-text-opacity:1;color:rgba(185, 203, 27, var(--tw-text-opacity))}.tas-text-pink{--tw-text-opacity:1;color:rgba(253, 80, 188, var(--tw-text-opacity))}.tas-text-blue-light{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.tas-text-blue-medium{--tw-text-opacity:1;color:rgba(188, 205, 212, var(--tw-text-opacity))}.tas-text-orange{--tw-text-opacity:1;color:rgba(255, 137, 0, var(--tw-text-opacity))}.tas-text-green-dark{--tw-text-opacity:1;color:rgba(27, 203, 115, var(--tw-text-opacity))}.tas-text-red{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity))}.tas-text-blue{--tw-text-opacity:1;color:rgba(142, 174, 217, var(--tw-text-opacity))}.tas-text-purple{--tw-text-opacity:1;color:rgba(206, 169, 216, var(--tw-text-opacity))}.btn{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem;text-align:center;}.btn:focus, .btn:hover{outline:2px solid transparent;outline-offset:2px}.btn-small{padding-left:0.75rem;padding-right:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:center}.btn-primary{border-width:1px;--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-primary:focus, .btn-primary:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.btn-primary:focus, .btn-primary:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-primary:focus, .btn-primary:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{cursor:not-allowed}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-border-opacity:0.5}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-text-opacity:0.5}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-secondary{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-secondary:focus, .btn-secondary:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{cursor:not-allowed}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-border-opacity:0.5}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-text-opacity:0.5}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-tertiary{border-width:1px;--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-tertiary:focus, .btn-tertiary:hover{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity))}.btn-tertiary:focus, .btn-tertiary:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{cursor:not-allowed}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-border-opacity:0.5}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-text-opacity:0.5}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (max-width:640px){.btn, .btn-small{width:100%}}@media (min-width:640px){.btn, .btn-small{padding-left:2rem;padding-right:2rem}}.form-label{margin-bottom:0.25rem;display:block;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;font-weight:500;text-transform:uppercase}.form-control, .v-money{width:100%;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;line-height:1rem}.form-control,.v-money{border:1px solid rgba(0,0,0,.1)}.form-control:focus, .form-control:hover{outline:2px solid transparent;outline-offset:2px;--tw-ring-opacity:1;--tw-ring-color:rgba(51, 51, 51, var(--tw-ring-opacity))}.form-select{width:100%;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding-top:0px;padding-bottom:0px;padding-left:1rem;padding-right:1rem;line-height:1rem;height:50px;border:1px solid rgba(0,0,0,.1)}.field-invalid{margin-left:0.75rem;margin-right:0.75rem;margin-top:0.25rem;display:block;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity))}.calendar-item{margin-left:auto;margin-right:auto;height:2.5rem;width:2.5rem;border-radius:9999px;font-size:0.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;}.calendar-item:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.calendar-item:hover{outline:2px solid transparent;outline-offset:2px}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{cursor:not-allowed}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-text-opacity:0.2}.calendar-item-active{margin-left:auto;margin-right:auto;height:2.5rem;width:2.5rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));font-size:0.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;}.calendar-item-active:hover{outline:2px solid transparent;outline-offset:2px}.account-nav-link{margin-left:1.25rem;margin-right:1.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.account-nav-link:focus, .account-nav-link:hover{outline:2px solid transparent;outline-offset:2px}.account-nav-link:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.account-nav-link:hover{--tw-text-opacity:0.75}.account-nav-link.nuxt-link-exact-active{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.page-wrapper{padding-top:68px}@media (min-width:1024px){.page-wrapper{padding-left:2rem;padding-right:2rem}}.account-button{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));padding:0.5rem;text-align:center;font-size:0.875rem;line-height:1.25rem;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.account-button:focus, .account-button:hover{--tw-border-opacity:1;border-color:rgba(121, 208, 215, var(--tw-border-opacity))}.account-button:focus, .account-button:hover{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity))}.account-button:focus, .account-button:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.account-button:focus, .account-button:hover{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.account-button{width:6rem}}.page-enter-active,.page-leave-active{transition:opacity .1s}.page-enter,.page-leave-to{opacity:0}.therapist-list-item{grid-auto-rows:.2fr 1fr}.ql-editor p{margin-top:1.25em!important;margin-bottom:1.25em!important}.ql-editor>:last-child{margin-bottom:0!important}.ql-editor>:first-child{margin-top:0!important}.ql-toolbar.ql-snow{overflow:hidden;border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ql-container.ql-snow{overflow:hidden;border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.card-icon-visa{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ")}.card-icon-mastercard{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ")}.card-icon-amex{background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ")}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 58 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/icon-envelope.12f9431.svg"; /***/ }), /* 59 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNC45MTkiIGhlaWdodD0iMzQuOTIzIiB2aWV3Qm94PSIwIDAgMzQuOTE5IDM0LjkyMyI+CiAgPGcgaWQ9IlBob25lcy1Nb2JpbGUtRGV2aWNlc19QaG9uZV9waG9uZSIgZGF0YS1uYW1lPSJQaG9uZXMtTW9iaWxlLURldmljZXMgLyBQaG9uZSAvIHBob25lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjgyLjc0NiAtMTQzLjUzNykiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7aXNvbGF0aW9uOiBpc29sYXRlIj4KICAgIDxnIGlkPSJHcm91cF8xMSIgZGF0YS1uYW1lPSJHcm91cCAxMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjgzLjc1IDE0NC43NikiPgogICAgICA8ZyBpZD0icGhvbmUiPgogICAgICAgIDxwYXRoIGlkPSJTaGFwZV81OSIgZGF0YS1uYW1lPSJTaGFwZSA1OSIgZD0iTTMwNC41MTMsMTc2LjE4OGwuMDE3LjAxYTguMDQsOC4wNCwwLDAsMCwxMC0xLjFsMS4xMjUtMS4xMjVhMi42ODIsMi42ODIsMCwwLDAsMC0zLjc5MWwtNC43MzgtNC43MzVhMi42ODIsMi42ODIsMCwwLDAtMy43OTEsMGgwYTIuNjc2LDIuNjc2LDAsMCwxLTMuNzg5LDBsLTcuNTgyLTcuNTgzYTIuNjgyLDIuNjgyLDAsMCwxLDAtMy43OTFoMGEyLjY4LDIuNjgsMCwwLDAsMC0zLjc4OWwtNC43MzctNC43NDNhMi42ODIsMi42ODIsMCwwLDAtMy43OTEsMGwtMS4xMjUsMS4xMjVhOC4wNDIsOC4wNDIsMCwwLDAtMS4xLDEwbC4wMTIuMDE3YTcyLjU1Myw3Mi41NTMsMCwwLDAsMTkuNDk1LDE5LjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjgzLjc1IC0xNDQuNzYpIiBmaWxsPSJub25lIiBzdHJva2U9IiM3OWQwZDciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=" /***/ }), /* 60 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBfNDAzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMC45MDIiIGhlaWdodD0iMzAuODgxIiB2aWV3Qm94PSIwIDAgMzAuOTAyIDMwLjg4MSI+CiAgPGcgaWQ9InNlYXJjaC0xIj4KICAgIDxwYXRoIGlkPSJTaGFwZV8xMTA2IiBkPSJNMjA0LjExNywzNjkwLjQ4Mmw1Ljk3Nyw1Ljk3OWEyLjU2NCwyLjU2NCwwLDAsMSwwLDMuNjMyLDIuNiwyLjYsMCwwLDEtMy42MzgsMGwtNS45NzgtNS45NzhhMTMuMTgyLDEzLjE4MiwwLDEsMSwzLjYzOS0zLjYzM1ptLTEuNjMzLTcuMzMxYTkuMzI5LDkuMzI5LDAsMSwwLTkuMzI5LDkuMzI5QTkuMzMzLDkuMzMzLDAsMCwwLDIwMi40ODQsMzY4My4xNTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTc5Ljk0NSAtMzY2OS45NTcpIiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICA8L2c+Cjwvc3ZnPgo=" /***/ }), /* 61 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE3IDE0Ij4KICA8ZyBpZD0iR3JvdXBfOTExIiBkYXRhLW5hbWU9Ikdyb3VwIDkxMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwOTYuNSAtODA2LjUpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzE0MyIgZGF0YS1uYW1lPSJMaW5lIDE0MyIgeDI9IjE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDk3LjUgODA5LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDUiIGRhdGEtbmFtZT0iTGluZSAxNDUiIHkyPSI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTAxLjUgODA3LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDYiIGRhdGEtbmFtZT0iTGluZSAxNDYiIHkyPSI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTA4LjUgODE1LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDQiIGRhdGEtbmFtZT0iTGluZSAxNDQiIHgyPSIxNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA5Ny41IDgxNy41KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogIDwvZz4KPC9zdmc+Cg==" /***/ }), /* 62 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/visa.d3b116a.svg"; /***/ }), /* 63 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/mastercard.ded9e0b.svg"; /***/ }), /* 64 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/amex.8ad5b1a.svg"; /***/ }), /* 65 */ /***/ (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__(66); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.i, content, '']]; if(content.locals) module.exports = content.locals; __webpack_require__(6).default("ff830ea8", content, true) /***/ }), /* 66 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(13); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(67); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(68); var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(69); var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(70); var ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(71); var ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(72); var ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(73); var ___CSS_LOADER_URL_IMPORT_7___ = __webpack_require__(74); var ___CSS_LOADER_URL_IMPORT_8___ = __webpack_require__(75); var ___CSS_LOADER_URL_IMPORT_9___ = __webpack_require__(76); var ___CSS_LOADER_URL_IMPORT_10___ = __webpack_require__(77); var ___CSS_LOADER_URL_IMPORT_11___ = __webpack_require__(78); var ___CSS_LOADER_URL_IMPORT_12___ = __webpack_require__(79); var ___CSS_LOADER_URL_IMPORT_13___ = __webpack_require__(80); var ___CSS_LOADER_URL_IMPORT_14___ = __webpack_require__(81); var ___CSS_LOADER_URL_IMPORT_15___ = __webpack_require__(82); var ___CSS_LOADER_URL_IMPORT_16___ = __webpack_require__(83); var ___CSS_LOADER_URL_IMPORT_17___ = __webpack_require__(84); var ___CSS_LOADER_URL_IMPORT_18___ = __webpack_require__(85); var ___CSS_LOADER_URL_IMPORT_19___ = __webpack_require__(86); var ___CSS_LOADER_URL_IMPORT_20___ = __webpack_require__(87); var ___CSS_LOADER_URL_IMPORT_21___ = __webpack_require__(88); var ___CSS_LOADER_URL_IMPORT_22___ = __webpack_require__(89); var ___CSS_LOADER_URL_IMPORT_23___ = __webpack_require__(90); var ___CSS_LOADER_URL_IMPORT_24___ = __webpack_require__(91); var ___CSS_LOADER_URL_IMPORT_25___ = __webpack_require__(92); var ___CSS_LOADER_URL_IMPORT_26___ = __webpack_require__(93); var ___CSS_LOADER_URL_IMPORT_27___ = __webpack_require__(94); var ___CSS_LOADER_URL_IMPORT_28___ = __webpack_require__(95); var ___CSS_LOADER_URL_IMPORT_29___ = __webpack_require__(96); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___); var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___); var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___); var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___); var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___); var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___); var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___); var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___); var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___); var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___); var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___); var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___); var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___); var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___); var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___); // Module ___CSS_LOADER_EXPORT___.push([module.i, "@font-face{font-family:\"Poppins\";font-style:normal;font-weight:100;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") format(\"woff2\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:100;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:100;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:400;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") format(\"woff2\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:400;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:400;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") format(\"woff2\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_7___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_8___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_9___ + ") format(\"woff2\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_10___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_11___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_12___ + ") format(\"woff2\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_13___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Poppins\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_14___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_15___ + ") format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_16___ + ") format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_17___ + ") format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_18___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:500;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_19___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_20___ + ") format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_21___ + ") format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_22___ + ") format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_23___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:600;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_24___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_25___ + ") format(\"woff2\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_26___ + ") format(\"woff2\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_27___ + ") format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_28___ + ") format(\"woff2\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\"Raleway\";font-style:normal;font-weight:700;src:url(" + ___CSS_LOADER_URL_REPLACEMENT_29___ + ") format(\"woff2\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 67 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-100-devanagari1.713233d.woff2"; /***/ }), /* 68 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-100-latin-ext2.14b7d78.woff2"; /***/ }), /* 69 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-100-latin3.ab66112.woff2"; /***/ }), /* 70 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-400-devanagari4.4dcae97.woff2"; /***/ }), /* 71 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-400-latin-ext5.53f1614.woff2"; /***/ }), /* 72 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-400-latin6.5b8f3ba.woff2"; /***/ }), /* 73 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-500-devanagari7.cdc211e.woff2"; /***/ }), /* 74 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-500-latin-ext8.64676cf.woff2"; /***/ }), /* 75 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-500-latin9.dc16a35.woff2"; /***/ }), /* 76 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-600-devanagari10.e897a1b.woff2"; /***/ }), /* 77 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-600-latin-ext11.ec1f0b8.woff2"; /***/ }), /* 78 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-600-latin12.e49343f.woff2"; /***/ }), /* 79 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-700-devanagari13.370161f.woff2"; /***/ }), /* 80 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-700-latin-ext14.ecb421a.woff2"; /***/ }), /* 81 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Poppins-700-latin15.9690ce6.woff2"; /***/ }), /* 82 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-500-cyrillic-ext16.d1327e9.woff2"; /***/ }), /* 83 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-500-cyrillic17.030bdf4.woff2"; /***/ }), /* 84 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-500-vietnamese18.41f91bf.woff2"; /***/ }), /* 85 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-500-latin-ext19.bfe79f0.woff2"; /***/ }), /* 86 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-500-latin20.e371b8f.woff2"; /***/ }), /* 87 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-600-cyrillic-ext21.d1327e9.woff2"; /***/ }), /* 88 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-600-cyrillic22.030bdf4.woff2"; /***/ }), /* 89 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-600-vietnamese23.41f91bf.woff2"; /***/ }), /* 90 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-600-latin-ext24.bfe79f0.woff2"; /***/ }), /* 91 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-600-latin25.e371b8f.woff2"; /***/ }), /* 92 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-700-cyrillic-ext26.d1327e9.woff2"; /***/ }), /* 93 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-700-cyrillic27.030bdf4.woff2"; /***/ }), /* 94 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-700-vietnamese28.41f91bf.woff2"; /***/ }), /* 95 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-700-latin-ext29.bfe79f0.woff2"; /***/ }), /* 96 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "fonts/Raleway-700-latin30.e371b8f.woff2"; /***/ }), /* 97 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/logo-white-text.6954fe5.svg"; /***/ }), /* 98 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBfMTE5OCIgZGF0YS1uYW1lPSJHcm91cCAxMTk4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNi41OTciIGhlaWdodD0iMjYuNDM1IiB2aWV3Qm94PSIwIDAgMjYuNTk3IDI2LjQzNSI+CiAgPHBhdGggaWQ9IlBhdGhfMzIwIiBkYXRhLW5hbWU9IlBhdGggMzIwIiBkPSJNMjYuNiwxMy4zQTEzLjMsMTMuMywwLDEsMCwxMS4yMiwyNi40MzVWMTcuMTQySDcuODQ0VjEzLjNIMTEuMjJ2LTIuOTNjMC0zLjMzMywxLjk4NS01LjE3NCw1LjAyMy01LjE3NGEyMC40NSwyMC40NSwwLDAsMSwyLjk3Ny4yNlY4LjcyN0gxNy41NDNBMS45MjIsMS45MjIsMCwwLDAsMTUuMzc2LDEwLjhWMTMuM2gzLjY4OGwtLjU5LDMuODQ0aC0zLjF2OS4yOTNBMTMuMywxMy4zLDAsMCwwLDI2LjYsMTMuM1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==" /***/ }), /* 99 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "img/icon-instagram.34cda1d.svg"; /***/ }), /* 100 */ /***/ (function(module, exports) { module.exports = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNi42NzkiIGhlaWdodD0iMjEuNjc4IiB2aWV3Qm94PSIwIDAgMjYuNjc5IDIxLjY3OCI+CiAgPHBhdGggaWQ9IlBhdGhfMzYyIiBkYXRhLW5hbWU9IlBhdGggMzYyIiBkPSJNODMuMzksMTIwLjEyOGExNS40NjgsMTUuNDY4LDAsMCwwLDE1LjU3NC0xNS41NzRjMC0uMjM3LDAtLjQ3My0uMDE2LS43MDhhMTEuMTM3LDExLjEzNywwLDAsMCwyLjczMS0yLjgzMywxMC45MjUsMTAuOTI1LDAsMCwxLTMuMTQ0Ljg2MSw1LjQ5Myw1LjQ5MywwLDAsMCwyLjQwNi0zLjAyOCwxMC45NjksMTAuOTY5LDAsMCwxLTMuNDc2LDEuMzI5LDUuNDc5LDUuNDc5LDAsMCwwLTkuMzI4LDQuOTkyLDE1LjU0LDE1LjU0LDAsMCwxLTExLjI4MS01LjcxOSw1LjQ3OCw1LjQ3OCwwLDAsMCwxLjY5NSw3LjMwNyw1LjQzMyw1LjQzMywwLDAsMS0yLjQ4NC0uNjg1di4wNjlhNS40NzYsNS40NzYsMCwwLDAsNC4zOTEsNS4zNjYsNS40NjUsNS40NjUsMCwwLDEtMi40NzIuMDk0LDUuNDgsNS40OCwwLDAsMCw1LjExNCwzLjgsMTAuOTgzLDEwLjk4MywwLDAsMS02LjgsMi4zNDgsMTEuMTQxLDExLjE0MSwwLDAsMS0xLjMtLjA3OSwxNS41LDE1LjUsMCwwLDAsOC4zOSwyLjQ1NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc1IC05OC40NSkiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==" /***/ }), /* 101 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_13c9b172_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_13c9b172_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_13c9b172_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_13c9b172_lang_postcss_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_4_oneOf_1_0_node_modules_nuxt_postcss8_node_modules_css_loader_dist_cjs_js_ref_4_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_nuxt_postcss8_node_modules_postcss_loader_dist_cjs_js_ref_4_oneOf_1_2_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_13c9b172_lang_postcss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /* 102 */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(5); var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.i, ".footer-link[data-v-13c9b172]{font-size:0.75rem;line-height:1rem;text-transform:uppercase;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /* 103 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ single: {}, related: [], list: [], filters: { categories: [], subjects: [], authors: [] }, meta: [] }); const mutations = { setList(state, data) { state.list = data; }, setSingle(state, data) { state.single = data; }, setRelated(state, data) { state.related = data; }, setCategoryFilters(state, data) { state.filters.categories = data; }, setSubjectFilters(state, data) { state.filters.subjects = data; }, setAuthorFilters(state, data) { state.filters.authors = data; }, setMeta(state, meta) { state.meta = meta; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/posts', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); }, async filters({ commit }, payload) { await this.$axios.post('/posts/filters').then(res => { if (res.status === 200) { commit('setCategoryFilters', res.data.categories); commit('setSubjectFilters', res.data.subjects); commit('setAuthorFilters', res.data.authors); } }).catch(error => {// }); }, async single({ commit, error }, slug) { await this.$axios.get('/posts/' + slug).then(res => { if (res.status === 200) { commit('setSingle', res.data.post); commit('setRelated', res.data.related); } }); } }; /***/ }), /* 104 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ therapist: {}, client: {} }); const mutations = { setTherapist(state, data) { state.therapist = data; }, setClient(state, data) { state.client = data; } }; const actions = { async get({ commit, error }, id) { await this.$axios.get('/booking/intent/' + id).then(res => { if (res.status === 200) { commit('setTherapist', res.data.data); } }); }, async getClient({ commit, error }, id) { await this.$axios.get('/therapist/clients/' + id).then(res => { if (res.status === 200) { commit('setClient', res.data.data); } }); } }; /***/ }), /* 105 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [] }); const mutations = { setList(state, data) { state.list = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/languages', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); } }); } }; /***/ }), /* 106 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ location: null, therapists: [], meta: [] }); const mutations = { setLocation(state, data) { state.location = data; }, setList(state, data) { state.therapists = data; }, setMeta(state, data) { state.meta = data; } }; const actions = { async get({ commit, dispatch }, payload) { await this.$axios.get('/location/' + payload).then(res => { if (res.status === 200) { commit('setLocation', res.data); dispatch('getTherapists', { locationData: { lat: res.data.lat, lng: res.data.lng }, distance: 30 }); } }); }, async getTherapists({ commit, error }, payload) { await this.$axios.post('/therapists', payload).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); } }; /***/ }), /* 107 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [] }); const mutations = { setList(state, data) { state.list = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/session-types').then(res => { if (res.status === 200) { commit('setList', res.data); } }); } }; /***/ }), /* 108 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], single: null }); const mutations = { setList(state, data) { state.list = data; }, setSingle(state, data) { state.single = data; } }; const actions = { async list({ commit, error }, payload) { await this.$axios.get('/specialisms').then(res => { if (res.status === 200) { commit('setList', res.data.data); } }); }, async get({ commit, error }, payload) { await this.$axios.get('/specialisms/' + payload).then(res => { if (res.status === 200) { commit('setSingle', res.data.data); } }); } }; /***/ }), /* 109 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], single: null }); const mutations = { setList(state, data) { state.list = data; }, setSingle(state, data) { state.single = data; } }; const actions = { async list({ commit, error }, payload) { await this.$axios.get('/tags').then(res => { if (res.status === 200) { commit('setList', res.data.data); } }); }, async get({ commit, error }, payload) { await this.$axios.get('/tags/' + payload).then(res => { if (res.status === 200) { commit('setSingle', res.data.data); } }); } }; /***/ }), /* 110 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ single: {}, list: [], meta: [], filters: { session_types: [], specialisms: [], languages: [], tags: [] } }); const mutations = { setList(state, data) { state.list = data; }, setSingle(state, data) { state.single = data; }, setMeta(state, meta) { state.meta = meta; }, setFilters(state, filters) { state.filters = filters; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.post('/therapists', payload).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); }, async single({ commit, error }, id) { await this.$axios.post('/therapists/' + id).then(res => { if (res.status === 200) { commit('setSingle', res.data.data); } }); }, async filters({ commit }, payload) { await this.$axios.get('/therapists/filters').then(res => { if (res.status === 200) { commit('setFilters', res.data); } }).catch(response => { console.log(response); }); } }; /***/ }), /* 111 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ setupIntent: {}, defaultPaymentMethod: {}, paymentMethods: [] }); const mutations = { setPaymentIntent(state, data) { state.setupIntent = data; }, setPaymentMethods(state, data) { state.paymentMethods = data; }, setDefaultPaymentMethod(state, data) { state.defaultPaymentMethod = data; } }; const actions = { async setupIntent({ commit, error }, payload) { await this.$axios.get('/payments/cards/setup').then(res => { if (res.status === 200) { commit('setPaymentIntent', res.data); } }); }, async savePaymentMethod({ dispatch, error }, payload) { await this.$axios.post('/payments/cards/create', payload).then(res => { if (res.status === 200) { dispatch('getPaymentMethods'); dispatch('setupIntent'); } }).catch(error => { dispatch('setupIntent'); this.$toast.error(error.response.data.message).goAway(15000); }); }, async getPaymentMethods({ commit, error }, payload) { await this.$axios.get('/payments/cards').then(res => { if (res.status === 200) { commit('setPaymentMethods', res.data.payment_methods); commit('setDefaultPaymentMethod', res.data.default_payment_method); } }).catch(error => { this.$toast.error(error.response.data.message).goAway(15000); }); }, async deletePaymentMethod({ dispatch }, payload) { await this.$axios.post('/payments/cards/delete', payload).then(res => { if (res.status === 200) { this.$toast.success('Successfully deleted card').goAway(3000); dispatch('getPaymentMethods'); } }).catch(error => { this.$toast.error(error.response.data.message).goAway(15000); }); }, async makePrimary({ dispatch }, payload) { await this.$axios.post('/payments/cards/update', payload).then(res => { if (res.status === 200) { this.$toast.success('Successfully updated primary card').goAway(3000); dispatch('getPaymentMethods'); } }).catch(error => { this.$toast.error(error.response.data.message).goAway(15000); }); } }; /***/ }), /* 112 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const actions = { async callback({ dispatch }, payload) { await this.$axios.post('/cronofy/callback', { code: payload }).then(response => { if (response.status == 200) { dispatch('saveToken', response.data); } }); }, async saveToken({ dispatch }, payload) { await this.$axios.post('/cronofy/save', { token: payload }); } }; /***/ }), /* 113 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ total: 0 }); const mutations = { setTotalProgress(state, data) { state.total = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/account/progress', { params: payload }).then(res => { if (res.status === 200) { commit('setTotalProgress', res.data); } }); } }; /***/ }), /* 114 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ subscription: null }); const mutations = { setSubscription(state, data) { state.subscription = data; } }; const actions = { async getSubscription({ dispatch, commit, error }, payload) { await this.$axios.get('/subscription').then(res => { if (res.status === 200) { commit('setSubscription', res.data.data); } }).catch(response => {// }); }, async startSubscription({ dispatch }, payload) { await this.$axios.post('/subscription/create', { payment_method: payload.payment_method, discount_code: payload.discount_code }).then(res => { if (res.status === 200) { dispatch('getSubscription'); } }); }, async cancelSubscription({ dispatch }, payload) { await this.$axios.post('/subscription/cancel').then(res => { if (res.status === 200) { dispatch('getSubscription'); } }); }, async updateSubscription({ dispatch }, payload) { await this.$axios.post('/subscription/update', payload).then(res => { if (res.status === 200) { dispatch('getSubscription'); } }); }, async resumeSubscription({ dispatch }, payload) { await this.$axios.post('/subscription/resume').then(res => { if (res.status === 200) { dispatch('getSubscription'); } }); } }; /***/ }), /* 115 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ payment_intent: null, connect_id: null }); const mutations = { setPaymentIntent(state, intent) { state.payment_intent = intent; }, setAccountId(state, account_id) { state.connect_id = account_id; } }; const actions = { async getPaymentIntent({ commit }, payload) { await this.$axios.post('/booking/payment/intent/' + payload.user_id, payload).then(response => { if (response.status == 200) { commit('setPaymentIntent', response.data.payment_intent); commit('setAccountId', response.data.connect_id); } }).catch(response => { this.loading = false; }); } }; /***/ }), /* 116 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ booking: {} }); const mutations = { setBooking(state, data) { state.booking = data; } }; const actions = { async get({ commit }, booking_id) { await this.$axios.get('/booking/reschedule/' + booking_id).then(response => { commit('setBooking', response.data); }); }, async update({ commit }, payload) { await this.$axios.post('/booking/reschedule/' + payload.booking_id, { slot: payload.slot }).then(response => { commit('booking/success/setBookings', response.data.data, { root: true }); this.$router.push({ path: '/booking/' + payload.therapist_id + '/reschedule/success' }); }); } }; /***/ }), /* 117 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); const state = () => ({ list: [] }); const mutations = { setBookings(state, data) { state.list = data; } }; /***/ }), /* 118 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ sessions: [], totals: {} }); const mutations = { setSessions(state, data) { state.sessions = data; }, setTotals(state, data) { state.totals = data; } }; const actions = { async get({ commit }, payload) { await this.$axios.post('/booking/summary', payload).then(response => { if (response.status == 200) { commit('setSessions', response.data.sessions); commit('setTotals', response.data.grand_total); } }).catch(response => { this.loading = false; }); } }; /***/ }), /* 119 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], meta: [] }); const mutations = { setList(state, data) { state.list = data; }, setMeta(state, meta) { state.meta = meta; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/booking/list', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); } }; /***/ }), /* 120 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], meta: [] }); const mutations = { setList(state, data) { state.list = data; }, setMeta(state, meta) { state.meta = meta; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/therapist/bookings', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); } }; /***/ }), /* 121 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], meta: [], single: {} }); const mutations = { setList(state, data) { state.list = data; }, setMeta(state, meta) { state.meta = meta; }, setSingle(state, data) { state.single = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/therapist/clients', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); }, async single({ commit, error }, client_id) { await this.$axios.get('/therapist/clients/' + client_id).then(res => { if (res.status === 200) { commit('setSingle', res.data.data); } }); }, async latest({ commit, error }, payload) { await this.$axios.get('/therapist/clients', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); } }; /***/ }), /* 122 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ statistics: {}, bookings: {}, clients: [], progress: [] }); const mutations = { setStatistics(state, data) { state.statistics = data; }, setBookings(state, data) { state.bookings = data; }, setClients(state, data) { state.clients = data; }, setProgress(state, data) { state.progress = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/therapist/dashboard').then(res => { if (res.status === 200) { commit('setClients', res.data.clients); commit('setBookings', res.data.bookings); commit('setStatistics', res.data.statistics); commit('setProgress', res.data.progress); } }); } }; /***/ }), /* 123 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], single: {} }); const mutations = { setList(state, data) { state.list = data; }, setSingle(state, data) { state.single = data; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/therapist/invitations').then(res => { if (res.status === 200) { commit('setList', res.data.data); } }); }, async single({ commit }, reference) { await this.$axios.get('/invitation/' + reference).then(res => { commit('setSingle', res.data.data); }); } }; /***/ }), /* 124 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ list: [], meta: [] }); const mutations = { setList(state, data) { state.list = data; }, setMeta(state, meta) { state.meta = meta; } }; const actions = { async get({ commit, error }, payload) { await this.$axios.get('/user/' + payload.user_id + '/messages', { params: payload }).then(res => { if (res.status === 200) { commit('setList', res.data.data); commit('setMeta', res.data.meta); } }); } }; /***/ }), /* 125 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "state", function() { return state; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mutations", function() { return mutations; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; }); const state = () => ({ statistics: {}, payments: [] }); const mutations = { setStatistics(state, data) { state.statistics = data; }, setPayments(state, data) { state.payments = data; } }; const actions = { async getStatistics({ commit, error }, payload) { await this.$axios.get('/therapist/money').then(res => { if (res.status === 200) { commit('setStatistics', res.data); } }); }, async getPayments({ commit, error }, payload) { await this.$axios.get('/therapist/money/payments').then(res => { if (res.status === 200) { commit('setPayments', res.data); } }); } }; /***/ }), /* 126 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // NAMESPACE OBJECT: ./node_modules/vee-validate/dist/rules.js var rules_namespaceObject = {}; __webpack_require__.r(rules_namespaceObject); __webpack_require__.d(rules_namespaceObject, "alpha", function() { return alpha$1; }); __webpack_require__.d(rules_namespaceObject, "alpha_dash", function() { return alpha_dash; }); __webpack_require__.d(rules_namespaceObject, "alpha_num", function() { return alpha_num; }); __webpack_require__.d(rules_namespaceObject, "alpha_spaces", function() { return alpha_spaces; }); __webpack_require__.d(rules_namespaceObject, "between", function() { return between; }); __webpack_require__.d(rules_namespaceObject, "confirmed", function() { return confirmed; }); __webpack_require__.d(rules_namespaceObject, "digits", function() { return digits; }); __webpack_require__.d(rules_namespaceObject, "dimensions", function() { return dimensions; }); __webpack_require__.d(rules_namespaceObject, "double", function() { return rules_double; }); __webpack_require__.d(rules_namespaceObject, "email", function() { return email; }); __webpack_require__.d(rules_namespaceObject, "excluded", function() { return excluded; }); __webpack_require__.d(rules_namespaceObject, "ext", function() { return ext; }); __webpack_require__.d(rules_namespaceObject, "image", function() { return rules_image; }); __webpack_require__.d(rules_namespaceObject, "integer", function() { return integer; }); __webpack_require__.d(rules_namespaceObject, "is", function() { return is; }); __webpack_require__.d(rules_namespaceObject, "is_not", function() { return is_not; }); __webpack_require__.d(rules_namespaceObject, "length", function() { return rules_length; }); __webpack_require__.d(rules_namespaceObject, "max", function() { return max; }); __webpack_require__.d(rules_namespaceObject, "max_value", function() { return max_value; }); __webpack_require__.d(rules_namespaceObject, "mimes", function() { return mimes; }); __webpack_require__.d(rules_namespaceObject, "min", function() { return min; }); __webpack_require__.d(rules_namespaceObject, "min_value", function() { return min_value; }); __webpack_require__.d(rules_namespaceObject, "numeric", function() { return numeric; }); __webpack_require__.d(rules_namespaceObject, "oneOf", function() { return oneOf; }); __webpack_require__.d(rules_namespaceObject, "regex", function() { return regex; }); __webpack_require__.d(rules_namespaceObject, "required", function() { return required; }); __webpack_require__.d(rules_namespaceObject, "required_if", function() { return required_if; }); __webpack_require__.d(rules_namespaceObject, "size", function() { return size; }); // 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__(3); // EXTERNAL MODULE: external "node-fetch" var external_node_fetch_ = __webpack_require__(27); var external_node_fetch_default = /*#__PURE__*/__webpack_require__.n(external_node_fetch_); // CONCATENATED MODULE: ./.nuxt/middleware.js const middleware = {}; middleware['hero'] = __webpack_require__(40); middleware['hero'] = middleware['hero'].default || middleware['hero']; middleware['success'] = __webpack_require__(41); middleware['success'] = middleware['success'].default || middleware['success']; middleware['therapist'] = __webpack_require__(42); middleware['therapist'] = middleware['therapist'].default || middleware['therapist']; /* harmony default export */ var _nuxt_middleware = (middleware); // CONCATENATED MODULE: ./.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: false, isDev: false, isHMR: false, app, store: app.store, payload: context.payload, error: context.error, base: app.router.options.base, env: { "APP_URL": "http://api-takeaseat.eco-n-tech.co.uk/api/", "APP_DEBUG": "false", "STRIPE_KEY": "pk_live_51H9Wg0BgLIEukih0ABEKQIi7mwuK7BoUDRBQl4z6mDfo3nquwe0NWLGE1XyPHS3swRbwntA3oezvdLbMUs11WVhm00LDulAJ1B", "RECAPTCHA_SITE_KEY": "6LfJaJ0bAAAAABneXpUq7Adg5IkoTk6kfg2OjZo6" } }; // Only set once if (context.req) { app.context.req = context.req; } if (context.res) { app.context.res = context.res; } 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: ./.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__(8); var external_vuex_default = /*#__PURE__*/__webpack_require__.n(external_vuex_); // EXTERNAL MODULE: external "vue-meta" var external_vue_meta_ = __webpack_require__(28); 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__(14); 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__(11); 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__(15); var external_vue_router_default = /*#__PURE__*/__webpack_require__.n(external_vue_router_); // CONCATENATED MODULE: ./.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: ./.nuxt/router.js const _f846bb58 = () => interopDefault(__webpack_require__.e(/* import() | pages/about */ 40).then(__webpack_require__.bind(null, 226))); const _728098b7 = () => interopDefault(__webpack_require__.e(/* import() | pages/account/index */ 43).then(__webpack_require__.bind(null, 227))); const _2ce26eee = () => interopDefault(__webpack_require__.e(/* import() | pages/blog/index */ 47).then(__webpack_require__.bind(null, 228))); const _5e267bc3 = () => interopDefault(__webpack_require__.e(/* import() | pages/bookings */ 53).then(__webpack_require__.bind(null, 229))); const _76ac3130 = () => interopDefault(__webpack_require__.e(/* import() | pages/community */ 54).then(__webpack_require__.bind(null, 230))); const _686cc198 = () => interopDefault(__webpack_require__.e(/* import() | pages/contact-us */ 55).then(__webpack_require__.bind(null, 231))); const _6e14660c = () => interopDefault(__webpack_require__.e(/* import() | pages/forgot-password */ 56).then(__webpack_require__.bind(null, 232))); const _1f11e66c = () => interopDefault(__webpack_require__.e(/* import() | pages/help */ 57).then(__webpack_require__.bind(null, 233))); const _5a988378 = () => interopDefault(__webpack_require__.e(/* import() | pages/partnerships */ 59).then(__webpack_require__.bind(null, 234))); const _274aec60 = () => interopDefault(__webpack_require__.e(/* import() | pages/privacy-policy */ 60).then(__webpack_require__.bind(null, 235))); const _6218bfa2 = () => interopDefault(__webpack_require__.e(/* import() | pages/register/index */ 61).then(__webpack_require__.bind(null, 236))); const _512f7cbc = () => interopDefault(__webpack_require__.e(/* import() | pages/reset-password */ 64).then(__webpack_require__.bind(null, 237))); const _d5e4f772 = () => interopDefault(__webpack_require__.e(/* import() | pages/terms-conditions */ 65).then(__webpack_require__.bind(null, 238))); const _617229f8 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/index */ 69).then(__webpack_require__.bind(null, 239))); const _25c7ad05 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapists/index */ 74).then(__webpack_require__.bind(null, 240))); const _236ceb86 = () => interopDefault(__webpack_require__.e(/* import() | pages/account/availability */ 41).then(__webpack_require__.bind(null, 241))); const _e42eab24 = () => interopDefault(__webpack_require__.e(/* import() | pages/account/financial */ 42).then(__webpack_require__.bind(null, 242))); const _5c072064 = () => interopDefault(__webpack_require__.e(/* import() | pages/account/settings */ 44).then(__webpack_require__.bind(null, 243))); const _a4d76774 = () => interopDefault(__webpack_require__.e(/* import() | pages/account/verification */ 45).then(__webpack_require__.bind(null, 244))); const _6b44ec54 = () => interopDefault(__webpack_require__.e(/* import() | pages/booking/success */ 52).then(__webpack_require__.bind(null, 245))); const _7ef07d52 = () => interopDefault(__webpack_require__.e(/* import() | pages/register/therapist */ 63).then(__webpack_require__.bind(null, 246))); const _6f2bc1f8 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/bookings */ 66).then(__webpack_require__.bind(null, 247))); const _1431dc86 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/clients/index */ 68).then(__webpack_require__.bind(null, 248))); const _9d2d31ec = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/messages */ 70).then(__webpack_require__.bind(null, 249))); const _31de84f5 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/money/index */ 71).then(__webpack_require__.bind(null, 250))); const _59dd21d1 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/money/statements */ 72).then(__webpack_require__.bind(null, 251))); const _8f318142 = () => interopDefault(__webpack_require__.e(/* import() | pages/register/invitation/_reference */ 62).then(__webpack_require__.bind(null, 252))); const _0a985f65 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapist/clients/_id */ 67).then(__webpack_require__.bind(null, 253))); const _d4dc89e6 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapists/location/_slug */ 75).then(__webpack_require__.bind(null, 254))); const _6cfd2102 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapists/specialism/_slug */ 76).then(__webpack_require__.bind(null, 255))); const _111adbf0 = () => interopDefault(__webpack_require__.e(/* import() | pages/therapists/tag/_slug */ 77).then(__webpack_require__.bind(null, 256))); const _2b2bcda6 = () => interopDefault(__webpack_require__.e(/* import() | pages/blog/_slug */ 46).then(__webpack_require__.bind(null, 257))); const _455aae9b = () => interopDefault(__webpack_require__.e(/* import() | pages/booking/_slug */ 48).then(__webpack_require__.bind(null, 258))); const _24110bbd = () => interopDefault(__webpack_require__.e(/* import() | pages/therapists/_slug */ 73).then(__webpack_require__.bind(null, 259))); const _39e0f61d = () => interopDefault(__webpack_require__.e(/* import() | pages/booking/_therapist_slug/reschedule/success */ 51).then(__webpack_require__.bind(null, 260))); const _8750dbf4 = () => interopDefault(__webpack_require__.e(/* import() | pages/booking/_therapist_slug/create/_id */ 49).then(__webpack_require__.bind(null, 261))); const _091a4554 = () => interopDefault(__webpack_require__.e(/* import() | pages/booking/_therapist_slug/reschedule/_id */ 50).then(__webpack_require__.bind(null, 262))); const _b8d705ce = () => interopDefault(__webpack_require__.e(/* import() | pages/index */ 58).then(__webpack_require__.bind(null, 263))); 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", component: _f846bb58, name: "about" }, { path: "/account", component: _728098b7, name: "account" }, { path: "/blog", component: _2ce26eee, name: "blog" }, { path: "/bookings", component: _5e267bc3, name: "bookings" }, { path: "/community", component: _76ac3130, name: "community" }, { path: "/contact-us", component: _686cc198, name: "contact-us" }, { path: "/forgot-password", component: _6e14660c, name: "forgot-password" }, { path: "/help", component: _1f11e66c, name: "help" }, { path: "/partnerships", component: _5a988378, name: "partnerships" }, { path: "/privacy-policy", component: _274aec60, name: "privacy-policy" }, { path: "/register", component: _6218bfa2, name: "register" }, { path: "/reset-password", component: _512f7cbc, name: "reset-password" }, { path: "/terms-conditions", component: _d5e4f772, name: "terms-conditions" }, { path: "/therapist", component: _617229f8, name: "therapist" }, { path: "/therapists", component: _25c7ad05, name: "therapists" }, { path: "/account/availability", component: _236ceb86, name: "account-availability" }, { path: "/account/financial", component: _e42eab24, name: "account-financial" }, { path: "/account/settings", component: _5c072064, name: "account-settings" }, { path: "/account/verification", component: _a4d76774, name: "account-verification" }, { path: "/booking/success", component: _6b44ec54, name: "booking-success" }, { path: "/register/therapist", component: _7ef07d52, name: "register-therapist" }, { path: "/therapist/bookings", component: _6f2bc1f8, name: "therapist-bookings" }, { path: "/therapist/clients", component: _1431dc86, name: "therapist-clients" }, { path: "/therapist/messages", component: _9d2d31ec, name: "therapist-messages" }, { path: "/therapist/money", component: _31de84f5, name: "therapist-money" }, { path: "/therapist/money/statements", component: _59dd21d1, name: "therapist-money-statements" }, { path: "/register/invitation/:reference?", component: _8f318142, name: "register-invitation-reference" }, { path: "/therapist/clients/:id", component: _0a985f65, name: "therapist-clients-id" }, { path: "/therapists/location/:slug?", component: _d4dc89e6, name: "therapists-location-slug" }, { path: "/therapists/specialism/:slug?", component: _6cfd2102, name: "therapists-specialism-slug" }, { path: "/therapists/tag/:slug?", component: _111adbf0, name: "therapists-tag-slug" }, { path: "/blog/:slug", component: _2b2bcda6, name: "blog-slug" }, { path: "/booking/:slug?", component: _455aae9b, name: "booking-slug" }, { path: "/therapists/:slug", component: _24110bbd, name: "therapists-slug" }, { path: "/booking/:therapist_slug?/reschedule/success", component: _39e0f61d, name: "booking-therapist_slug-reschedule-success" }, { path: "/booking/:therapist_slug?/create/:id?", component: _8750dbf4, name: "booking-therapist_slug-create-id" }, { path: "/booking/:therapist_slug?/reschedule/:id?", component: _091a4554, name: "booking-therapist_slug-reschedule-id" }, { path: "/", component: _b8d705ce, name: "index" }], 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: ./.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/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/error.vue?vue&type=template&id=1fa73363& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"page-wrapper"},[_c('PageHeader',{attrs:{"classObject":_vm.error.statusCode === 404 ? 'bg-green' : 'bg-red'}},[(_vm.error.statusCode === 404)?_c('div',{staticClass:"relative z-20 flex flex-col items-center justify-center"},[_c('img',{staticClass:"inline-block mb-8",attrs:{"src":__webpack_require__(20),"alt":"Takeaseat"}}),_vm._v(" "),_c('h1',{staticClass:" text-7xl mb-8"},[_c('span',{staticClass:"block mb-3 font-bold"},[_vm._v("Whoops")]),_vm._v(" "),_c('span',{staticClass:"block text-white text-5xl font-bold"},[_vm._v("Nothing Found")])]),_vm._v(" "),_c('NuxtLink',{staticClass:"btn btn-small btn-primary",attrs:{"to":"/"}},[_vm._v("Return Home")])],1):_c('div',{staticClass:"relative z-20 flex flex-col items-center justify-center"},[_c('img',{staticClass:" mb-8",attrs:{"src":__webpack_require__(20),"alt":"Takeaseat"}}),_vm._v(" "),_c('h1',{staticClass:" text-7xl mb-8"},[_c('span',{staticClass:"block mb-3 font-bold"},[_vm._v("Whoops")]),_vm._v(" "),_c('span',{staticClass:"block text-white text-5xl font-bold"},[_vm._v("Something went wrong!")])]),_vm._v(" "),_c('NuxtLink',{staticClass:"btn btn-small btn-primary",attrs:{"to":"/"}},[_vm._v("Return Home")])],1)]),_vm._ssrNode(" "+((_vm.faqs.length > 0)?("<section class=\"bg-gray py-20 px-8 mb-8\"><div class=\"max-w-4xl mx-auto w-full\"><header class=\"text-center mb-20\"><h1 class=\"text-5xl font-bold\">Need Help?</h1></header> "+(_vm._ssrList((_vm.faqs),function(item,key){return ("<div class=\"mb-10\"><h2 class=\"text-2xl font-bold mb-6\">"+_vm._ssrEscape(_vm._s(item.question))+"</h2> <div class=\"text-content\">"+(_vm._s(item.answer))+"</div></div>")}))+"</div></section>"):"<!---->"))],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./layouts/error.vue?vue&type=template&id=1fa73363& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/error.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var errorvue_type_script_lang_js_ = ({ props: ['error'], layout: 'error', head() { return { titleTemplate: 'Whoops | %s' }; }, data() { return { faqs: [{ question: "Why should I trust Take A Seat?", answer: "<p>Take A Seat is committed to maintaining an Ethical and professional core, you can be reassured you are a part of a community that is audited and allows only fully qualified, Ethical and professional counsellors.</p>" }, { question: "What’s the cost?", answer: "<p>Membership start from only £20 a month. At point of booking Clients will be charged a 10% booking fee that will be added onto their session charge.</p>" }, { question: "I already have too many clients?", answer: "<p>That’s great, but if you have too many clients, you still have options:</p><ol><li>Pass any clients you can;t help on to us and we can match them with one of our approved therapists</li><li>Still sign-up as a member so when you do have capacity you are ready to receive new clients</li><li>Sign up as a community member and gain access to events, CPD and lots lots more… (Coming later this year)</li></ol>" }, { question: "What happens once I sign-up?", answer: "<p>Once we receive your application for membership, we will ask you for copies of qualification certificates, insurance certificates and name and contact details of peer supervisors. Once we have copies of all these, they will be audited and once approved your profile will be sent live and you will be able to start receiving clients.</p>" }, { question: "Tell me more…", answer: "<p>Get access to new client referrals, online booking & payments and a dedicated takeaseat customer champion.</p>" }] }; } }); // 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 /* normalize component */ var error_component = Object(componentNormalizer["a" /* default */])( layouts_errorvue_type_script_lang_js_, render, staticRenderFns, false, null, null, "5cd0829e" ) /* harmony default export */ var layouts_error = (error_component.exports); /* nuxt-component-imports */ installComponents(error_component, {PageHeader: __webpack_require__(36).default,Header: __webpack_require__(12).default}) // CONCATENATED MODULE: ./.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/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./.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: false }; }, 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: ./.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: ./.nuxt/components/nuxt-loading.vue var nuxt_loading_render, nuxt_loading_staticRenderFns function injectStyles (context) { var style0 = __webpack_require__(52) 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, injectStyles, null, "a71181c8" ) /* harmony default export */ var nuxt_loading = (nuxt_loading_component.exports); // EXTERNAL MODULE: ./node_modules/@nuxtjs/tailwindcss/dist/runtime/tailwind.css var tailwind = __webpack_require__(54); // EXTERNAL MODULE: ./assets/css/app.css var css_app = __webpack_require__(56); // EXTERNAL MODULE: ./assets/css/fonts.css var fonts = __webpack_require__(65); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=template&id=58d1c3bd& var defaultvue_type_template_id_58d1c3bd_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Header'),_vm._ssrNode(" "),_c('Nuxt'),_vm._ssrNode(" "),_c('Footer')],2)} var defaultvue_type_template_id_58d1c3bd_staticRenderFns = [] // CONCATENATED MODULE: ./layouts/default.vue?vue&type=template&id=58d1c3bd& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=script&lang=js& // // // // // // // // /* harmony default export */ var defaultvue_type_script_lang_js_ = ({ mounted() { this.$auth.$storage.watchState('loggedIn', status => { if (status == false) { this.$router.push({ path: '/' }); } }); } }); // 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 /* normalize component */ var default_component = Object(componentNormalizer["a" /* default */])( layouts_defaultvue_type_script_lang_js_, defaultvue_type_template_id_58d1c3bd_render, defaultvue_type_template_id_58d1c3bd_staticRenderFns, false, null, null, "34c0be2a" ) /* harmony default export */ var layouts_default = (default_component.exports); /* nuxt-component-imports */ installComponents(default_component, {Header: __webpack_require__(12).default,Footer: __webpack_require__(26).default}) // CONCATENATED MODULE: ./.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; }, watch: { 'nuxt.err': 'errorChanged' }, computed: { isOffline() { return !this.isOnline; }, isFetching() { return this.nbFetching > 0; } }, 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]); } }, components: { NuxtLoading: nuxt_loading } }); // CONCATENATED MODULE: ./.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__(103), 'blog.js'); resolveStoreModules(__webpack_require__(104), 'booking.js'); resolveStoreModules(__webpack_require__(105), 'languages.js'); resolveStoreModules(__webpack_require__(106), 'location.js'); resolveStoreModules(__webpack_require__(107), 'session_types.js'); resolveStoreModules(__webpack_require__(108), 'specialisms.js'); resolveStoreModules(__webpack_require__(109), 'tags.js'); resolveStoreModules(__webpack_require__(110), 'therapists.js'); resolveStoreModules(__webpack_require__(111), 'account/billing.js'); resolveStoreModules(__webpack_require__(112), 'account/calendar.js'); resolveStoreModules(__webpack_require__(113), 'account/progress.js'); resolveStoreModules(__webpack_require__(114), 'account/subscription.js'); resolveStoreModules(__webpack_require__(115), 'booking/payment.js'); resolveStoreModules(__webpack_require__(116), 'booking/reschedule.js'); resolveStoreModules(__webpack_require__(117), 'booking/success.js'); resolveStoreModules(__webpack_require__(118), 'booking/summary.js'); resolveStoreModules(__webpack_require__(119), 'hero/bookings.js'); resolveStoreModules(__webpack_require__(120), 'therapist/bookings.js'); resolveStoreModules(__webpack_require__(121), 'therapist/clients.js'); resolveStoreModules(__webpack_require__(122), 'therapist/dashboard.js'); resolveStoreModules(__webpack_require__(123), 'therapist/invitations.js'); resolveStoreModules(__webpack_require__(124), 'therapist/messages.js'); resolveStoreModules(__webpack_require__(125), 'therapist/money.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: ./.nuxt/components/utils.js // nuxt/nuxt.js#8607 function wrapFunctional(options) { if (!options || !options.functional) { return options; } const propKeys = Array.isArray(options.props) ? options.props : Object.keys(options.props || {}); return { render(h) { const attrs = {}; const props = {}; for (const key in this.$attrs) { if (propKeys.includes(key)) { props[key] = this.$attrs[key]; } else { attrs[key] = this.$attrs[key]; } } return h(options, { on: this.$listeners, attrs, props, scopedSlots: this.$scopedSlots }, this.$slots.default); } }; } // CONCATENATED MODULE: ./.nuxt/components/plugin.js const components = { CookieBanner: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 127)).then(c => wrapFunctional(c.default || c)), LoginForm: () => __webpack_require__.e(/* import() | components/login-form */ 15).then(__webpack_require__.bind(null, 264)).then(c => wrapFunctional(c.default || c)), SearchForm: () => __webpack_require__.e(/* import() | components/search-form */ 33).then(__webpack_require__.bind(null, 147)).then(c => wrapFunctional(c.default || c)), MoneyManagerNav: () => __webpack_require__.e(/* import() | components/money-manager-nav */ 19).then(__webpack_require__.bind(null, 171)).then(c => wrapFunctional(c.default || c)), NextAvailability: () => __webpack_require__.e(/* import() | components/next-availability */ 21).then(__webpack_require__.bind(null, 140)).then(c => wrapFunctional(c.default || c)), TherapistFilters: () => __webpack_require__.e(/* import() | components/therapist-filters */ 37).then(__webpack_require__.bind(null, 265)).then(c => wrapFunctional(c.default || c)), TherapistPrice: () => __webpack_require__.e(/* import() | components/therapist-price */ 38).then(__webpack_require__.bind(null, 197)).then(c => wrapFunctional(c.default || c)), Footer: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 26)).then(c => wrapFunctional(c.default || c)), Header: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 12)).then(c => wrapFunctional(c.default || c)), PageHeader: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 36)).then(c => wrapFunctional(c.default || c)), Booking: () => __webpack_require__.e(/* import() | components/booking */ 11).then(__webpack_require__.bind(null, 148)).then(c => wrapFunctional(c.default || c)), Client: () => __webpack_require__.e(/* import() | components/client */ 12).then(__webpack_require__.bind(null, 166)).then(c => wrapFunctional(c.default || c)), Invitation: () => __webpack_require__.e(/* import() | components/invitation */ 14).then(__webpack_require__.bind(null, 193)).then(c => wrapFunctional(c.default || c)), Message: () => __webpack_require__.e(/* import() | components/message */ 17).then(__webpack_require__.bind(null, 194)).then(c => wrapFunctional(c.default || c)), Payment: () => __webpack_require__.e(/* import() | components/payment */ 22).then(__webpack_require__.bind(null, 169)).then(c => wrapFunctional(c.default || c)), Post: () => __webpack_require__.e(/* import() | components/post */ 25).then(__webpack_require__.bind(null, 161)).then(c => wrapFunctional(c.default || c)), Therapist: () => __webpack_require__.e(/* import() | components/therapist */ 36).then(__webpack_require__.bind(null, 152)).then(c => wrapFunctional(c.default || c)), Block: () => __webpack_require__.e(/* import() | components/block */ 10).then(__webpack_require__.bind(null, 131)).then(c => wrapFunctional(c.default || c)), Modal: () => __webpack_require__.e(/* import() | components/modal */ 18).then(__webpack_require__.bind(null, 137)).then(c => wrapFunctional(c.default || c)), Widget: () => __webpack_require__.e(/* import() | components/widget */ 39).then(__webpack_require__.bind(null, 160)).then(c => wrapFunctional(c.default || c)), AccountNav: () => __webpack_require__.e(/* import() | components/account-nav */ 3).then(__webpack_require__.bind(null, 146)).then(c => wrapFunctional(c.default || c)), AccountProgressBar: () => __webpack_require__.e(/* import() | components/account-progress-bar */ 6).then(__webpack_require__.bind(null, 145)).then(c => wrapFunctional(c.default || c)), PaymentStep: () => __webpack_require__.e(/* import() | components/payment-step */ 23).then(__webpack_require__.bind(null, 196)).then(c => wrapFunctional(c.default || c)), RegisterStep: () => __webpack_require__.e(/* import() | components/register-step */ 31).then(__webpack_require__.bind(null, 195)).then(c => wrapFunctional(c.default || c)), SummaryStep: () => __webpack_require__.e(/* import() | components/summary-step */ 35).then(__webpack_require__.bind(null, 170)).then(c => wrapFunctional(c.default || c)), LoggedInMenu: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 129)).then(c => wrapFunctional(c.default || c)), LoggedOutMenu: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(null, 128)).then(c => wrapFunctional(c.default || c)), AccountPayouts: () => __webpack_require__.e(/* import() | components/account-payouts */ 4).then(__webpack_require__.bind(null, 186)).then(c => wrapFunctional(c.default || c)), AccountSubscription: () => __webpack_require__.e(/* import() | components/account-subscription */ 9).then(__webpack_require__.bind(null, 185)).then(c => wrapFunctional(c.default || c)), SavedCards: () => __webpack_require__.e(/* import() | components/saved-cards */ 32).then(__webpack_require__.bind(null, 187)).then(c => wrapFunctional(c.default || c)), Personalisation: () => __webpack_require__.e(/* import() | components/personalisation */ 24).then(__webpack_require__.bind(null, 198)).then(c => wrapFunctional(c.default || c)), ProfileRates: () => __webpack_require__.e(/* import() | components/profile-rates */ 26).then(__webpack_require__.bind(null, 183)).then(c => wrapFunctional(c.default || c)), ProfileSessionTypes: () => __webpack_require__.e(/* import() | components/profile-session-types */ 27).then(__webpack_require__.bind(null, 184)).then(c => wrapFunctional(c.default || c)), QuestionSectionOne: () => __webpack_require__.e(/* import() | components/question-section-one */ 29).then(__webpack_require__.bind(null, 199)).then(c => wrapFunctional(c.default || c)), QuestionSectionTwo: () => __webpack_require__.e(/* import() | components/question-section-two */ 30).then(__webpack_require__.bind(null, 268)).then(c => wrapFunctional(c.default || c)), AccountBusiness: () => __webpack_require__.e(/* import() | components/account-business */ 1).then(__webpack_require__.bind(null, 189)).then(c => wrapFunctional(c.default || c)), AccountLocations: () => __webpack_require__.e(/* import() | components/account-locations */ 2).then(__webpack_require__.bind(null, 190)).then(c => wrapFunctional(c.default || c)), AccountPersonal: () => __webpack_require__.e(/* import() | components/account-personal */ 5).then(__webpack_require__.bind(null, 188)).then(c => wrapFunctional(c.default || c)), AccountSecurity: () => __webpack_require__.e(/* import() | components/account-security */ 7).then(__webpack_require__.bind(null, 191)).then(c => wrapFunctional(c.default || c)), AccountSocial: () => __webpack_require__.e(/* import() | components/account-social */ 8).then(__webpack_require__.bind(null, 266)).then(c => wrapFunctional(c.default || c)), Insurance: () => __webpack_require__.e(/* import() | components/insurance */ 13).then(__webpack_require__.bind(null, 201)).then(c => wrapFunctional(c.default || c)), Memberships: () => __webpack_require__.e(/* import() | components/memberships */ 16).then(__webpack_require__.bind(null, 192)).then(c => wrapFunctional(c.default || c)), Qualifications: () => __webpack_require__.e(/* import() | components/qualifications */ 28).then(__webpack_require__.bind(null, 200)).then(c => wrapFunctional(c.default || c)), NewCardModal: () => __webpack_require__.e(/* import() | components/new-card-modal */ 20).then(__webpack_require__.bind(null, 168)).then(c => wrapFunctional(c.default || c)), SubscriptionCardModal: () => __webpack_require__.e(/* import() | components/subscription-card-modal */ 34).then(__webpack_require__.bind(null, 167)).then(c => wrapFunctional(c.default || c)) }; for (const name in components) { external_vue_default.a.component(name, components[name]); external_vue_default.a.component('Lazy' + name, components[name]); } // EXTERNAL MODULE: external "cookie-universal" var external_cookie_universal_ = __webpack_require__(29); var external_cookie_universal_default = /*#__PURE__*/__webpack_require__.n(external_cookie_universal_); // CONCATENATED MODULE: ./.nuxt/cookie-universal-nuxt.js /* harmony default export */ var cookie_universal_nuxt = (({ req, res }, inject) => { const options = { "alias": "cookies", "parseJSON": true }; inject(options.alias, external_cookie_universal_default()(req, res, options.parseJSON)); }); // EXTERNAL MODULE: ./.nuxt/empty.js var _nuxt_empty = __webpack_require__(7); // EXTERNAL MODULE: external "events" var external_events_ = __webpack_require__(30); // CONCATENATED MODULE: ./.nuxt/recaptcha.js const API_URL = 'https://www.recaptcha.net/recaptcha/api.js'; class recaptcha_ReCaptcha { constructor({ hideBadge, language, siteKey, version, size }) { if (!siteKey) { throw new Error('ReCaptcha error: No key provided'); } if (!version) { throw new Error('ReCaptcha error: No version provided'); } this._elements = {}; this._eventBus = null; this._ready = false; this.hideBadge = hideBadge; this.language = language; this.siteKey = siteKey; this.version = version; this.size = size; } destroy() { if (this._ready) { this._ready = false; const { head } = document; const { style } = this._elements; const scripts = [...document.head.querySelectorAll('script')].filter(script => script.src.includes('recaptcha')); if (scripts.length) { scripts.forEach(script => head.removeChild(script)); } if (head.contains(style)) { head.removeChild(style); } const badge = document.querySelector('.grecaptcha-badge'); if (badge) { badge.remove(); } } } async execute(action) { try { await this.init(); if ('grecaptcha' in window) { return window.grecaptcha.execute(this.siteKey, { action }); } } catch (error) { throw new Error(`ReCaptcha error: Failed to execute ${error}`); } } getResponse(widgetId) { return new Promise((resolve, reject) => { if ('grecaptcha' in window) { if (this.size == 'invisible') { window.grecaptcha.execute(widgetId); window.recaptchaSuccessCallback = token => { this._eventBus.emit('recaptcha-success', token); resolve(token); }; window.recaptchaErrorCallback = error => { this._eventBus.emit('recaptcha-error', error); reject(error); }; } else { const response = window.grecaptcha.getResponse(widgetId); if (response) { this._eventBus.emit('recaptcha-success', response); resolve(response); } else { const errorMessage = 'Failed to execute'; this._eventBus.emit('recaptcha-error', errorMessage); reject(errorMessage); } } } }); } init() { if (this._ready) { // make sure caller waits until recaptcha get ready return this._ready; } this._eventBus = new external_events_["EventEmitter"](); this._elements = { script: document.createElement('script'), style: document.createElement('style') }; const { script, style } = this._elements; script.setAttribute('async', ''); script.setAttribute('defer', ''); const params = []; if (this.version === 3) { params.push('render=' + this.siteKey); } if (this.language) { params.push('hl=' + this.language); } script.setAttribute('src', API_URL + '?' + params.join('&')); window.recaptchaSuccessCallback = token => this._eventBus.emit('recaptcha-success', token); window.recaptchaExpiredCallback = () => this._eventBus.emit('recaptcha-expired'); window.recaptchaErrorCallback = () => this._eventBus.emit('recaptcha-error', 'Failed to execute'); this._ready = new Promise((resolve, reject) => { script.addEventListener('load', () => { if (this.version === 3 && this.hideBadge) { style.innerHTML = '.grecaptcha-badge { display: none }'; document.head.appendChild(style); } else if (this.version === 2 && this.hideBadge) { // display: none DISABLES the spam checking! // ref: https://stackoverflow.com/questions/44543157/how-to-hide-the-google-invisible-recaptcha-badge style.innerHTML = '.grecaptcha-badge { visibility: hidden; }'; document.head.appendChild(style); } window.grecaptcha.ready(resolve); }); script.addEventListener('error', () => { document.head.removeChild(script); reject('ReCaptcha error: Failed to load script'); this._ready = null; }); document.head.appendChild(script); }); return this._ready; } on(event, callback) { return this._eventBus.on(event, callback); } reset(widgetId) { if (this.version === 2 || typeof widgetId !== 'undefined') { window.grecaptcha.reset(widgetId); } } render(reference, { sitekey, theme }) { return window.grecaptcha.render(reference.$el || reference, { sitekey, theme }); } } /* harmony default export */ var _nuxt_recaptcha = (function (_, inject) { const { recaptcha = {} } = _.$config || {}; const options = { ...{}, ...recaptcha }; external_vue_default.a.component('Recaptcha', () => __webpack_require__.e(/* import() */ 78).then(__webpack_require__.bind(null, 267))); inject('recaptcha', new recaptcha_ReCaptcha(options)); }); // CONCATENATED MODULE: ./.nuxt/gtm.utils.js const logSyle = 'background: #2E495E;border-radius: 0.5em;color: white;font-weight: bold;padding: 2px 0.5em;'; function log(...args) {// eslint-disable-next-line no-console } // CONCATENATED MODULE: ./.nuxt/gtm.js const _layer = 'dataLayer'; const _id = 'GTM-TGWNJCS'; function gtmClient(ctx, initialized) { return { init(id = _id) { if (initialized[id] || !window._gtm_inject) { return; } window._gtm_inject(id); initialized[id] = true; log('init', id); }, push(obj) { if (!window[_layer]) { window[_layer] = []; } window[_layer].push(obj); log('push', obj); } }; } function gtmServer(ctx, initialized) { const events = []; const inits = []; ctx.beforeNuxtRender(() => { if (!inits.length && !events.length) { return; } const gtmScript = ctx.app.head.script.find(s => s.hid == 'gtm-script'); gtmScript.innerHTML = `window['${_layer}']=${JSON.stringify(events)};${gtmScript.innerHTML}`; if (inits.length) { gtmScript.innerHTML += `;${JSON.stringify(inits)}.forEach(function(i){window._gtm_inject(i)})`; } const gtmIframe = ctx.app.head.noscript.find(s => s.hid == 'gtm-noscript'); const renderIframe = id => `<iframe src="https://www.googletagmanager.com/ns.html?id=${id}&" height="0" width="0" style="display:none;visibility:hidden" title="gtm"></iframe>`; if (inits.length) { gtmIframe.innerHTML += inits.map(renderIframe); } }); return { init(id = _id) { if (initialized[id]) { return; } inits.push(id); initialized[id] = true; log('init', id); }, push(obj) { events.push(obj); log('push', JSON.stringify(obj)); } }; } function startPageTracking(ctx) { ctx.app.router.afterEach(to => { setTimeout(() => { ctx.$gtm.push(to.gtm || { routeName: to.name, pageType: 'PageView', pageUrl: '' + to.fullPath, pageTitle: typeof document !== 'undefined' && document.title || '', event: 'nuxtRoute' }); }, 250); }); } /* harmony default export */ var gtm = (function (ctx, inject) { const runtimeConfig = ctx.$config && ctx.$config.gtm || {}; const autoInit = true; const id = 'GTM-TGWNJCS'; const runtimeId = runtimeConfig.id; const initialized = autoInit && id ? { [id]: true } : {}; const $gtm = false ? undefined : gtmServer(ctx, initialized); if (autoInit && runtimeId && runtimeId !== id) { $gtm.init(runtimeId); } ctx.$gtm = $gtm; inject('gtm', ctx.$gtm); }); // EXTERNAL MODULE: external "moment" var external_moment_ = __webpack_require__(16); var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_); // CONCATENATED MODULE: ./.nuxt/moment.js /* harmony default export */ var moment = ((ctx, inject) => { ctx.$moment = external_moment_default.a; inject('moment', external_moment_default.a); }); // EXTERNAL MODULE: external "axios" var external_axios_ = __webpack_require__(9); var external_axios_default = /*#__PURE__*/__webpack_require__.n(external_axios_); // EXTERNAL MODULE: external "defu" var external_defu_ = __webpack_require__(10); var external_defu_default = /*#__PURE__*/__webpack_require__.n(external_defu_); // CONCATENATED MODULE: ./.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]; return; } 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://api-takeaseat.eco-n-tech.co.uk/api/'; // 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: external "vee-validate" var external_vee_validate_ = __webpack_require__(4); // EXTERNAL MODULE: external "awesome-phonenumber" var external_awesome_phonenumber_ = __webpack_require__(31); var external_awesome_phonenumber_default = /*#__PURE__*/__webpack_require__.n(external_awesome_phonenumber_); // EXTERNAL MODULE: external "vee-validate/dist/locale/en.json" var en_json_ = __webpack_require__(32); var en_json_default = /*#__PURE__*/__webpack_require__.n(en_json_); // CONCATENATED MODULE: ./node_modules/vee-validate/dist/rules.js /** * vee-validate v3.4.5 * (c) 2020 Abdelrahman Awad * @license MIT */ /** * Some Alpha Regex helpers. * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js */ /* eslint-disable no-misleading-character-class */ var alpha = { en: /^[A-Z]*$/i, cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i, da: /^[A-ZÆØÅ]*$/i, de: /^[A-ZÄÖÜß]*$/i, es: /^[A-ZÁÉÍÑÓÚÜ]*$/i, fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/, fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i, it: /^[A-Z\xC0-\xFF]*$/i, lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i, nl: /^[A-ZÉËÏÓÖÜ]*$/i, hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i, pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i, pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i, ro: /^[A-ZĂÂÎŞŢ]*$/i, ru: /^[А-ЯЁ]*$/i, sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i, sr: /^[A-ZČĆŽŠĐ]*$/i, sv: /^[A-ZÅÄÖ]*$/i, tr: /^[A-ZÇĞİıÖŞÜ]*$/i, uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i, ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/, az: /^[A-ZÇƏĞİıÖŞÜ]*$/i, el: /^[Α-ώ]*$/i }; var alphaSpaces = { en: /^[A-Z\s]*$/i, cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\s]*$/i, da: /^[A-ZÆØÅ\s]*$/i, de: /^[A-ZÄÖÜß\s]*$/i, es: /^[A-ZÁÉÍÑÓÚÜ\s]*$/i, fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/, fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\s]*$/i, it: /^[A-Z\xC0-\xFF\s]*$/i, lt: /^[A-ZĄČĘĖĮŠŲŪŽ\s]*$/i, nl: /^[A-ZÉËÏÓÖÜ\s]*$/i, hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\s]*$/i, pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\s]*$/i, pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\s]*$/i, ro: /^[A-ZĂÂÎŞŢ\s]*$/i, ru: /^[А-ЯЁ\s]*$/i, sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\s]*$/i, sr: /^[A-ZČĆŽŠĐ\s]*$/i, sv: /^[A-ZÅÄÖ\s]*$/i, tr: /^[A-ZÇĞİıÖŞÜ\s]*$/i, uk: /^[А-ЩЬЮЯЄІЇҐ\s]*$/i, ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\s]*$/, az: /^[A-ZÇƏĞİıÖŞÜ\s]*$/i, el: /^[Α-ώ\s]*$/i }; var alphanumeric = { en: /^[0-9A-Z]*$/i, cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i, da: /^[0-9A-ZÆØÅ]$/i, de: /^[0-9A-ZÄÖÜß]*$/i, es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i, fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/, fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i, it: /^[0-9A-Z\xC0-\xFF]*$/i, lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i, hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i, nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i, pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i, pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i, ro: /^[0-9A-ZĂÂÎŞŢ]*$/i, ru: /^[0-9А-ЯЁ]*$/i, sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i, sr: /^[0-9A-ZČĆŽŠĐ]*$/i, sv: /^[0-9A-ZÅÄÖ]*$/i, tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i, uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i, ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/, az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i, el: /^[0-9Α-ώ]*$/i }; var alphaDash = { en: /^[0-9A-Z_-]*$/i, cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i, da: /^[0-9A-ZÆØÅ_-]*$/i, de: /^[0-9A-ZÄÖÜß_-]*$/i, es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i, fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/, fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i, it: /^[0-9A-Z\xC0-\xFF_-]*$/i, lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i, nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i, hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i, pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i, pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i, ro: /^[0-9A-ZĂÂÎŞŢ_-]*$/i, ru: /^[0-9А-ЯЁ_-]*$/i, sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i, sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i, sv: /^[0-9A-ZÅÄÖ_-]*$/i, tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i, uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i, ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/, az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i, el: /^[0-9Α-ώ_-]*$/i }; var validate = function (value, _a) { var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b; if (Array.isArray(value)) { return value.every(function (val) { return validate(val, { locale: locale }); }); } // Match at least one locale. if (!locale) { return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); }); } return (alpha[locale] || alpha.en).test(value); }; var rules_params = [{ name: 'locale' }]; var alpha$1 = { validate: validate, params: rules_params }; var validate$1 = function (value, _a) { var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b; if (Array.isArray(value)) { return value.every(function (val) { return validate$1(val, { locale: locale }); }); } // Match at least one locale. if (!locale) { return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); }); } return (alphaDash[locale] || alphaDash.en).test(value); }; var params$1 = [{ name: 'locale' }]; var alpha_dash = { validate: validate$1, params: params$1 }; var validate$2 = function (value, _a) { var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b; if (Array.isArray(value)) { return value.every(function (val) { return validate$2(val, { locale: locale }); }); } // Match at least one locale. if (!locale) { return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); }); } return (alphanumeric[locale] || alphanumeric.en).test(value); }; var params$2 = [{ name: 'locale' }]; var alpha_num = { validate: validate$2, params: params$2 }; var validate$3 = function (value, _a) { var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b; if (Array.isArray(value)) { return value.every(function (val) { return validate$3(val, { locale: locale }); }); } // Match at least one locale. if (!locale) { return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); }); } return (alphaSpaces[locale] || alphaSpaces.en).test(value); }; var params$3 = [{ name: 'locale' }]; var alpha_spaces = { validate: validate$3, params: params$3 }; var validate$4 = function (value, _a) { var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max; if (Array.isArray(value)) { return value.every(function (val) { return !!validate$4(val, { min: min, max: max }); }); } return Number(min) <= value && Number(max) >= value; }; var params$4 = [{ name: 'min' }, { name: 'max' }]; var between = { validate: validate$4, params: params$4 }; var validate$5 = function (value, _a) { var target = _a.target; return String(value) === String(target); }; var params$5 = [{ name: 'target', isTarget: true }]; var confirmed = { validate: validate$5, params: params$5 }; var validate$6 = function (value, _a) { var length = _a.length; if (Array.isArray(value)) { return value.every(function (val) { return validate$6(val, { length: length }); }); } var strVal = String(value); return /^[0-9]*$/.test(strVal) && strVal.length === length; }; var params$6 = [{ name: 'length', cast: function (value) { return Number(value); } }]; var digits = { validate: validate$6, params: params$6 }; var validateImage = function (file, width, height) { var URL = window.URL || window.webkitURL; return new Promise(function (resolve) { var image = new Image(); image.onerror = function () { return resolve(false); }; image.onload = function () { return resolve(image.width === width && image.height === height); }; image.src = URL.createObjectURL(file); }); }; var validate$7 = function (files, _a) { var width = _a.width, height = _a.height; var list = []; files = Array.isArray(files) ? files : [files]; for (var i = 0; i < files.length; i++) { // if file is not an image, reject. if (!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) { return Promise.resolve(false); } list.push(files[i]); } return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) { return values.every(function (v) { return v; }); }); }; var params$7 = [{ name: 'width', cast: function (value) { return Number(value); } }, { name: 'height', cast: function (value) { return Number(value); } }]; var dimensions = { validate: validate$7, params: params$7 }; var validate$8 = function (value, _a) { var multiple = (_a === void 0 ? {} : _a).multiple; // eslint-disable-next-line var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (multiple && !Array.isArray(value)) { value = String(value).split(',').map(function (emailStr) { return emailStr.trim(); }); } if (Array.isArray(value)) { return value.every(function (val) { return re.test(String(val)); }); } return re.test(String(value)); }; var params$8 = [{ name: 'multiple', default: false }]; var email = { validate: validate$8, params: params$8 }; function isNullOrUndefined(value) { return value === null || value === undefined; } function isEmptyArray(arr) { return Array.isArray(arr) && arr.length === 0; } function isCallable(fn) { return typeof fn === 'function'; } function includes(collection, item) { return collection.indexOf(item) !== -1; } /** * Converts an array-like object to array, provides a simple polyfill for Array.from */ function toArray(arrayLike) { if (isCallable(Array.from)) { return Array.from(arrayLike); } /* istanbul ignore next */ return _copyArray(arrayLike); } /* istanbul ignore next */ function _copyArray(arrayLike) { var array = []; var length = arrayLike.length; for (var i = 0; i < length; i++) { array.push(arrayLike[i]); } return array; } var validate$9 = function (value, options) { if (Array.isArray(value)) { return value.every(function (val) { return validate$9(val, options); }); } return toArray(options).some(function (item) { // eslint-disable-next-line return item == value; }); }; var oneOf = { validate: validate$9 }; var validate$a = function (value, args) { return !validate$9(value, args); }; var excluded = { validate: validate$a }; var validate$b = function (files, extensions) { var regex = new RegExp(".(" + extensions.join('|') + ")$", 'i'); if (Array.isArray(files)) { return files.every(function (file) { return regex.test(file.name); }); } return regex.test(files.name); }; var ext = { validate: validate$b }; var validate$c = function (files) { var regex = /\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i; if (Array.isArray(files)) { return files.every(function (file) { return regex.test(file.name); }); } return regex.test(files.name); }; var rules_image = { validate: validate$c }; var validate$d = function (value) { if (Array.isArray(value)) { return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); }); } return /^-?[0-9]+$/.test(String(value)); }; var integer = { validate: validate$d }; var validate$e = function (value, _a) { var other = _a.other; return value === other; }; var params$9 = [{ name: 'other' }]; var is = { validate: validate$e, params: params$9 }; var validate$f = function (value, _a) { var other = _a.other; return value !== other; }; var params$a = [{ name: 'other' }]; var is_not = { validate: validate$f, params: params$a }; var validate$g = function (value, _a) { var length = _a.length; if (isNullOrUndefined(value)) { return false; } if (typeof value === 'string') { value = toArray(value); } if (typeof value === 'number') { value = String(value); } if (!value.length) { value = toArray(value); } return value.length === length; }; var params$b = [{ name: 'length', cast: function (value) { return Number(value); } }]; var rules_length = { validate: validate$g, params: params$b }; var validate$h = function (value, _a) { var length = _a.length; if (isNullOrUndefined(value)) { return length >= 0; } if (Array.isArray(value)) { return value.every(function (val) { return validate$h(val, { length: length }); }); } return String(value).length <= length; }; var params$c = [{ name: 'length', cast: function (value) { return Number(value); } }]; var max = { validate: validate$h, params: params$c }; var validate$i = function (value, _a) { var max = _a.max; if (isNullOrUndefined(value) || value === '') { return false; } if (Array.isArray(value)) { return value.length > 0 && value.every(function (val) { return validate$i(val, { max: max }); }); } return Number(value) <= max; }; var params$d = [{ name: 'max', cast: function (value) { return Number(value); } }]; var max_value = { validate: validate$i, params: params$d }; var validate$j = function (files, mimes) { var regex = new RegExp(mimes.join('|').replace('*', '.+') + "$", 'i'); if (Array.isArray(files)) { return files.every(function (file) { return regex.test(file.type); }); } return regex.test(files.type); }; var mimes = { validate: validate$j }; var validate$k = function (value, _a) { var length = _a.length; if (isNullOrUndefined(value)) { return false; } if (Array.isArray(value)) { return value.every(function (val) { return validate$k(val, { length: length }); }); } return String(value).length >= length; }; var params$e = [{ name: 'length', cast: function (value) { return Number(value); } }]; var min = { validate: validate$k, params: params$e }; var validate$l = function (value, _a) { var min = _a.min; if (isNullOrUndefined(value) || value === '') { return false; } if (Array.isArray(value)) { return value.length > 0 && value.every(function (val) { return validate$l(val, { min: min }); }); } return Number(value) >= min; }; var params$f = [{ name: 'min', cast: function (value) { return Number(value); } }]; var min_value = { validate: validate$l, params: params$f }; var ar = /^[٠١٢٣٤٥٦٧٨٩]+$/; var en = /^[0-9]+$/; var validate$m = function (value) { var testValue = function (val) { var strValue = String(val); return en.test(strValue) || ar.test(strValue); }; if (Array.isArray(value)) { return value.every(testValue); } return testValue(value); }; var numeric = { validate: validate$m }; var validate$n = function (value, _a) { var regex = _a.regex; if (Array.isArray(value)) { return value.every(function (val) { return validate$n(val, { regex: regex }); }); } return regex.test(String(value)); }; var params$g = [{ name: 'regex', cast: function (value) { if (typeof value === 'string') { return new RegExp(value); } return value; } }]; var regex = { validate: validate$n, params: params$g }; var validate$o = function (value, _a) { var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse; var result = { valid: false, required: true }; if (isNullOrUndefined(value) || isEmptyArray(value)) { return result; } // incase a field considers `false` as an empty value like checkboxes. if (value === false && !allowFalse) { return result; } result.valid = !!String(value).trim().length; return result; }; var computesRequired = true; var params$h = [{ name: 'allowFalse', default: true }]; var required = { validate: validate$o, params: params$h, computesRequired: computesRequired }; var testEmpty = function (value) { return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length; }; var validate$p = function (value, _a) { var target = _a.target, values = _a.values; var required; if (values && values.length) { if (!Array.isArray(values) && typeof values === 'string') { values = [values]; } // eslint-disable-next-line required = values.some(function (val) { return val == String(target).trim(); }); } else { required = !testEmpty(target); } if (!required) { return { valid: true, required: required }; } return { valid: !testEmpty(value), required: required }; }; var params$i = [{ name: 'target', isTarget: true }, { name: 'values' }]; var computesRequired$1 = true; var required_if = { validate: validate$p, params: params$i, computesRequired: computesRequired$1 }; var validate$q = function (files, _a) { var size = _a.size; if (isNaN(size)) { return false; } var nSize = size * 1024; if (!Array.isArray(files)) { return files.size <= nSize; } for (var i = 0; i < files.length; i++) { if (files[i].size > nSize) { return false; } } return true; }; var params$j = [{ name: 'size', cast: function (value) { return Number(value); } }]; var size = { validate: validate$q, params: params$j }; var validate$r = function (value, params) { var _a = params || {}, _b = _a.decimals, decimals = _b === void 0 ? 0 : _b, _c = _a.separator, separator = _c === void 0 ? 'dot' : _c; var separators = { dot: '.', comma: ',' }; var regexPart = +decimals === 0 ? '+' : "{" + decimals + "}"; var regex = new RegExp("^-?\\d+\\" + (separators[separator] || '.') + "\\d" + regexPart + "$"); return Array.isArray(value) ? value.every(function (val) { return regex.test(String(val)); }) : regex.test(String(value)); }; var params$k = [{ name: 'decimals', default: 0 }, { name: 'separator', default: 'dot' }]; var rules_double = { validate: validate$r, params: params$k }; // CONCATENATED MODULE: ./plugins/vee-validate.js // install rules and localization Object.keys(rules_namespaceObject).forEach(rule => { Object(external_vee_validate_["extend"])(rule, rules_namespaceObject[rule]); }); Object(external_vee_validate_["extend"])('required', { ...required, message: 'This field is required' }); Object(external_vee_validate_["extend"])('password', { params: ['target'], validate(value, { target }) { return value === target; }, message: 'Password confirmation does not match' }); Object(external_vee_validate_["extend"])('phone_number', { params: ['target'], validate(value) { return new Promise(resolve => { let phone = new external_awesome_phonenumber_default.a(value); resolve({ valid: phone.isValid() }); }); }, message: 'This is not a valid phone number.' }); Object(external_vee_validate_["extend"])('hourAfter', { params: ['target'], validate(value, { target }) { return new Promise(resolve => { const fromSplit = target.split(':'); const toSplit = value.split(':'); // Generate JS Date Objects for the values const fromDate = new Date(2000, 0, 1, fromSplit[0], fromSplit[1]); const toDate = new Date(2000, 0, 1, toSplit[0], toSplit[1]); // Get the diff in MS and convert to hours const minutesDiff = (toDate - fromDate) / (60 * 60 * 1000); resolve({ valid: minutesDiff >= 1 }); }); }, message: 'Availability must be at least 1 hour' }); Object(external_vee_validate_["localize"])('en', en_json_default.a); // Register it globally external_vue_default.a.component('ValidationObserver', external_vee_validate_["ValidationObserver"]); external_vue_default.a.component('ValidationProvider', external_vee_validate_["ValidationProvider"]); // EXTERNAL MODULE: external "vue-tailwind" var external_vue_tailwind_ = __webpack_require__(33); var external_vue_tailwind_default = /*#__PURE__*/__webpack_require__.n(external_vue_tailwind_); // EXTERNAL MODULE: external "vue-tailwind/dist/components" var components_ = __webpack_require__(2); // CONCATENATED MODULE: ./plugins/vue-tailwind.js const settings = { 't-table': { component: components_["TTable"], props: { classes: { table: 'min-w-full divide-y divide-gray-100 shadow-sm border-gray-200 border', thead: '', theadTr: '', theadTh: 'px-3 py-2 font-semibold text-left bg-gray-100 border-b', tbody: 'bg-white divide-y divide-gray-100', tr: '', td: 'px-3 py-2 whitespace-no-wrap', tfoot: '', tfootTr: '', tfootTd: '' }, variants: { thin: { td: 'p-1 whitespace-no-wrap text-sm', theadTh: 'p-1 font-semibold text-left bg-gray-100 border-b text-sm' } } } }, 't-calendar': { component: components_["TDatepicker"], props: { fixedClasses: { navigator: 'flex', navigatorViewButton: 'flex items-center', navigatorViewButtonIcon: 'flex-shrink-0 h-5 w-5', navigatorViewButtonBackIcon: 'flex-shrink-0 h-5 w-5', navigatorLabel: 'flex items-center py-1', navigatorPrevButtonIcon: 'h-6 w-6 inline-flex', navigatorNextButtonIcon: 'h-6 w-6 inline-flex', inputWrapper: 'hidden', viewGroup: 'w-full inline-flex flex-wrap', view: 'w-full mb-6', calendarDaysWrapper: 'grid grid-cols-6 sm:grid-cols-7 gap-1 sm:gap-3', calendarHeaderWrapper: 'grid grid-cols-7', monthWrapper: 'grid grid-cols-4', yearWrapper: 'grid grid-cols-4', input: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl', clearButton: 'flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6', clearButtonIcon: 'fill-current h-3 w-3' }, classes: { wrapper: 'flex flex-col', dropdownWrapper: 'relative z-10', dropdown: 'origin-top-left absolute rounded shadow bg-white overflow-hidden mt-1', enterClass: '', enterActiveClass: 'transition ease-out duration-100 transform opacity-0 scale-95', enterToClass: 'transform opacity-100 scale-100', leaveClass: 'transition ease-in transform opacity-100 scale-100', leaveActiveClass: '', leaveToClass: 'transform opacity-0 scale-95 duration-75', inlineWrapper: '', inlineViews: 'w-full bg-white inline-flex', inputWrapper: '', input: 'text-black placeholder-gray-400 border-gray-300', clearButton: 'hover:bg-gray-100 rounded transition duration-100 ease-in-out text-gray-600', clearButtonIcon: '', viewGroup: '', view: '', navigator: 'pt-2', navigatorViewButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer rounded-full px-2 py-1 -ml-1 hover:bg-gray-100', navigatorViewButtonIcon: 'fill-current text-gray-400', navigatorViewButtonBackIcon: 'fill-current text-gray-400', navigatorViewButtonMonth: 'text-gray-700 font-semibold', navigatorViewButtonYear: 'text-gray-500 ml-1', navigatorViewButtonYearRange: 'text-gray-500 ml-1', navigatorLabel: 'py-1', navigatorLabelMonth: 'text-gray-700 font-semibold', navigatorLabelYear: 'text-gray-500 ml-1', navigatorPrevButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 ml-2 ml-auto disabled:opacity-50 disabled:cursor-not-allowed', navigatorNextButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 -mr-1 disabled:opacity-50 disabled:cursor-not-allowed', navigatorPrevButtonIcon: 'text-gray-400', navigatorNextButtonIcon: 'text-gray-400', calendarWrapper: 'pt-2', calendarHeaderWrapper: '', calendarHeaderWeekDay: 'uppercase text-xs text-gray-500 w-8 h-8 flex items-center justify-center w-full', calendarDaysWrapper: '', calendarDaysDayWrapper: 'w-full h-10 flex flex-shrink-0 items-center', otherMonthDay: 'calendar-item', emptyDay: '', inRangeFirstDay: 'text-sm bg-yellow text-white w-full h-8 rounded-l-full', inRangeLastDay: 'text-sm bg-yellow text-white w-full h-8 rounded-r-full', inRangeDay: 'text-sm bg-yellow w-full h-8 disabled:opacity-50 disabled:cursor-not-allowed', selectedDay: 'calendar-item-active', activeDay: 'calendar-item-active', highlightedDay: 'calendar-item-active', day: 'calendar-item', today: 'cursor-not-allowed text-sm rounded-full w-10 h-10 mx-auto border border-yellow', monthWrapper: 'px-3 pt-2', selectedMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white', activeMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow', month: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow', yearWrapper: 'px-3 pt-2', year: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow', selectedYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white', activeYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow' }, variants: { danger: { input: 'border-red-300 bg-red-50 placeholder-red-200 text-red-900', clearButton: 'hover:bg-red-200 text-red-500' } } } }, 't-datepicker': { component: components_["TDatepicker"], props: { fixedClasses: { navigator: 'flex', navigatorViewButton: 'flex items-center', navigatorViewButtonIcon: 'flex-shrink-0 h-5 w-5', navigatorViewButtonBackIcon: 'flex-shrink-0 h-5 w-5', navigatorLabel: 'flex items-center py-1', navigatorPrevButtonIcon: 'h-6 w-6 inline-flex', navigatorNextButtonIcon: 'h-6 w-6 inline-flex', inputWrapper: '', viewGroup: 'w-full inline-flex flex-wrap', view: 'w-full mb-6', calendarDaysWrapper: 'grid grid-cols-7 gap-3', calendarHeaderWrapper: 'grid grid-cols-7', monthWrapper: 'grid grid-cols-4', yearWrapper: 'grid grid-cols-4', input: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl', clearButton: 'flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6', clearButtonIcon: 'fill-current h-3 w-3' }, classes: { wrapper: 'flex flex-col', dropdownWrapper: 'relative z-10', dropdown: 'origin-top-left absolute rounded shadow bg-white overflow-hidden mt-1', enterClass: '', enterActiveClass: 'transition ease-out duration-100 transform opacity-0 scale-95', enterToClass: 'transform opacity-100 scale-100', leaveClass: 'transition ease-in transform opacity-100 scale-100', leaveActiveClass: '', leaveToClass: 'transform opacity-0 scale-95 duration-75', inlineWrapper: '', inlineViews: 'w-full bg-white inline-flex', inputWrapper: '', input: 'text-black placeholder-gray-400 border-gray-300', clearButton: 'hover:bg-gray-100 rounded transition duration-100 ease-in-out text-gray-600', clearButtonIcon: '', viewGroup: '', view: '', navigator: 'pt-2', navigatorViewButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer rounded-full px-2 py-1 -ml-1 hover:bg-gray-100', navigatorViewButtonIcon: 'fill-current text-gray-400', navigatorViewButtonBackIcon: 'fill-current text-gray-400', navigatorViewButtonMonth: 'text-gray-700 font-semibold', navigatorViewButtonYear: 'text-gray-500 ml-1', navigatorViewButtonYearRange: 'text-gray-500 ml-1', navigatorLabel: 'py-1', navigatorLabelMonth: 'text-gray-700 font-semibold', navigatorLabelYear: 'text-gray-500 ml-1', navigatorPrevButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 ml-2 ml-auto disabled:opacity-50 disabled:cursor-not-allowed', navigatorNextButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 -mr-1 disabled:opacity-50 disabled:cursor-not-allowed', navigatorPrevButtonIcon: 'text-gray-400', navigatorNextButtonIcon: 'text-gray-400', calendarWrapper: 'pt-2', calendarHeaderWrapper: '', calendarHeaderWeekDay: 'uppercase text-xs text-gray-500 w-8 h-8 flex items-center justify-center w-full', calendarDaysWrapper: '', calendarDaysDayWrapper: 'w-full h-10 flex flex-shrink-0 items-center', otherMonthDay: 'calendar-item', emptyDay: '', inRangeFirstDay: 'text-sm bg-yellow text-white w-full h-8 rounded-l-full', inRangeLastDay: 'text-sm bg-yellow text-white w-full h-8 rounded-r-full', inRangeDay: 'text-sm bg-yellow w-full h-8 disabled:opacity-50 disabled:cursor-not-allowed', selectedDay: 'calendar-item-active', activeDay: 'calendar-item-active', highlightedDay: 'calendar-item-active', day: 'calendar-item', today: 'cursor-not-allowed text-sm rounded-full w-10 h-10 mx-auto border border-yellow', monthWrapper: 'px-3 pt-2', selectedMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white', activeMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow', month: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow', yearWrapper: 'px-3 pt-2', year: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow', selectedYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white', activeYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow' }, variants: { danger: { input: 'border-red-300 bg-red-50 placeholder-red-200 text-red-900', clearButton: 'hover:bg-red-200 text-red-500' } } } }, 't-input-group': { component: components_["TInputGroup"], props: { classes: { wrapper: 'relative mb-6', label: 'block px-3 mb-1 uppercase font-medium text-xs', body: 'relative', feedback: 'block px-3 mt-2 text-sm text-black text-opacity-75', description: 'block px-3 mt-2 text-sm text-black text-opacity-75' } } }, 't-select': { component: components_["TSelect"], props: { wrapped: true, classes: { wrapper: 'relative', input: 'block w-full py-3 px-4 pr-10 bg-white bg-none border border-black border-opacity-20 rounded-xl disabled:opacity-50 disabled:cursor-not-allowed', arrowWrapper: 'pointer-events-none absolute inset-y-0 right-0 flex items-center px-2', arrow: 'fill-current h-4 w-4' } } }, 't-rich-select': { component: components_["TRichSelect"], props: { fixedClasses: { wrapper: 'relative', buttonWrapper: 'inline-block relative w-full', selectButton: 'w-full flex text-left justify-between items-center px-3 py-3 text-black transition duration-100 ease-in-out border border-black border-opacity-10 rounded-xl shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 disabled:opacity-50 disabled:cursor-not-allowed', selectButtonLabel: 'block truncate', selectButtonPlaceholder: 'block truncate', selectButtonIcon: 'fill-current flex-shrink-0 ml-1 h-4 w-4', selectButtonClearButton: 'rounded flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6 transition duration-100 ease-in-out', selectButtonClearIcon: 'fill-current h-3 w-3', selectButtonTagWrapper: 'flex flex-wrap overflow-hidden', selectButtonTag: 'bg-black block disabled:cursor-not-allowed disabled:opacity-50 duration-100 ease-in-out focus:border-black focus:outline-none focus:ring-2 focus:ring-black focus:ring-opacity-50 rounded shadow-sm text-sm text-white transition white-space-no m-0.5 max-w-full overflow-hidden h-8 flex items-center', selectButtonTagText: 'px-3', selectButtonTagDeleteButton: '-ml-1.5 h-full hover:bg-blue-600 hover:shadow-sm inline-flex items-center px-2 transition', selectButtonTagDeleteButtonIcon: 'w-3 h-3', dropdown: 'absolute w-full z-10 -mt-1 absolute border-b-black border-l-black border-r-black border-opacity-10 rounded-b shadow-sm z-10', dropdownFeedback: '', loadingMoreResults: '', optionsList: 'overflow-auto', searchWrapper: 'inline-block w-full', searchBox: 'inline-block w-full', optgroup: '', option: 'cursor-pointer', disabledOption: 'opacity-50 cursor-not-allowed', highlightedOption: 'cursor-pointer bg-gray', selectedOption: 'cursor-pointer bg-gray', selectedHighlightedOption: 'cursor-pointer', optionContent: '', optionLabel: 'truncate block', selectedIcon: 'fill-current h-4 w-4', enterClass: '', enterActiveClass: '', enterToClass: '', leaveClass: '', leaveActiveClass: '', leaveToClass: '' }, classes: { wrapper: '', buttonWrapper: '', selectButton: 'bg-white border-black border-opacity-10', selectButtonLabel: 'flex items-center justify-center', selectButtonPlaceholder: 'text-black', selectButtonIcon: 'text-black', selectButtonClearButton: 'hover:bg-blue text-black', selectButtonClearIcon: 'w-4 h-4', selectButtonTagWrapper: '-mx-1 -my-2 py-1 pr-8', selectButtonTag: 'bg-black block disabled:cursor-not-allowed disabled:opacity-50 duration-100 ease-in-out focus:border-black focus:outline-none focus:ring-2 focus:ring-black focus:ring-opacity-50 rounded shadow-sm text-sm text-white transition white-space-no m-0.5 max-w-full overflow-hidden h-8 flex items-center', selectButtonTagText: 'px-3', selectButtonTagDeleteButton: '-ml-1.5 h-full hover:bg-blue-600 hover:shadow-sm inline-flex items-center px-2 transition', selectButtonTagDeleteButtonIcon: '', dropdown: 'bg-white border-black border-opacity-10', dropdownFeedback: 'pb-2 px-3 text-gray-400 text-sm', loadingMoreResults: 'pb-2 px-3 text-gray-400 text-sm', optionsList: '', searchWrapper: 'p-2 placeholder-black', searchBox: 'px-3 py-2 bg-gray-50 text-sm rounded border focus:outline-none focus:shadow-outline border-black border-opacity-10', optgroup: 'text-gray-400 uppercase text-xs py-1 px-2 font-semibold', option: '', disabledOption: '', highlightedOption: 'bg-blue', selectedOption: 'font-semibold bg-yellow font-semibold text-black', selectedHighlightedOption: 'font-semibold bg-yellow font-semibold text-black', optionContent: 'flex justify-between items-center px-3 py-2', optionLabel: '', selectedIcon: 'w-4 h-4', enterClass: '', enterActiveClass: 'opacity-0 transition ease-out duration-100', enterToClass: 'opacity-100', leaveClass: 'transition ease-in opacity-100', leaveActiveClass: '', leaveToClass: 'opacity-0 duration-75' } } }, 't-input': { component: components_["TInput"], props: { classes: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl disabled:bg-black' } }, 't-textarea': { component: components_["TTextarea"], props: { classes: 'w-full h-48 px-4 py-4 leading-6 bg-white border border-black border-opacity-20 rounded-xl' } }, 't-checkbox': { component: components_["TCheckbox"], props: { classes: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed' } }, 't-radio': { component: components_["TRadio"], props: { classes: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed' } }, 't-checkbox-group': { component: components_["TCheckboxGroup"], props: { classes: { groupWrapper: 'flex flex-col justify-center px-3', label: 'block pl-2.5', input: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed', inputWrapper: 'inline-flex', wrapper: 'flex items-center my-1' } } }, 't-radio-group': { component: components_["TRadioGroup"], props: { classes: { groupWrapper: 'flex flex-col justify-center px-3', label: 'block pl-2.5', input: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed', inputWrapper: 'inline-flex', wrapper: 'flex items-center my-1' } } }, 't-pagination': { component: components_["TPagination"], props: { classes: { wrapper: 'mt-8 table border-collapse text-center bg-white mx-auto shadow-sm', element: 'w-10 h-10 transition border border-black border-opacity-20 table-cell hover:bg-black hover:border-black hover:text-white', activeElement: 'w-10 h-10 transition border border-black table-cell bg-black text-white', disabledElement: 'w-10 h-10 transition border border-black border-opacity-20 table-cell', ellipsisElement: 'w-10 h-10 transition border border-black border-opacity-20 hidden md:table-cell', activeButton: 'bg-blue-500 w-full h-full text-white hover:bg-blue-600 transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50', disabledButton: 'opacity-25 w-full h-full cursor-not-allowed transition duration-100 ease-in-out', button: 'hover:bg-blue-100 w-full h-full transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50', ellipsis: '' } } }, 't-modal': { component: components_["TModal"], props: { fixedClasses: { overlay: 'z-50 overflow-auto scrolling-touch left-0 top-0 bottom-0 right-0 w-full h-full fixed bg-opacity-50', wrapper: 'relative mx-auto z-50 max-w-xl px-3 py-12', modal: 'overflow-visible relative rounded-xl', body: 'p-6', header: 'border-b border-black border-opacity-10 p-6 rounded-t-xl text-xl font-bold leading-6', footer: 'bg-gray px-6 py-4 rounded-b-xl', close: 'flex items-center justify-center rounded-full absolute right-0 top-0 -m-3 h-8 w-8 transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50' }, classes: { overlay: 'bg-black', wrapper: '', modal: 'bg-white shadow', body: 'p-3', header: 'border-gray-100', footer: 'bg-gray-100', close: 'bg-gray text-black hover:bg-black hover:text-white', closeIcon: 'fill-current h-4 w-4', overlayEnterClass: '', overlayEnterActiveClass: 'opacity-0 transition ease-out duration-100', overlayEnterToClass: 'opacity-100', overlayLeaveClass: 'transition ease-in opacity-100', overlayLeaveActiveClass: '', overlayLeaveToClass: 'opacity-0 duration-75', enterClass: '', enterActiveClass: '', enterToClass: '', leaveClass: '', leaveActiveClass: '', leaveToClass: '' }, variants: { danger: { overlay: 'bg-red', header: 'border-red text-red-700', close: 'bg-redtext-red-700 hover:bg-red border-redborder', modal: 'bg-white border border-red shadow-lg', footer: 'bg-red' } } } } }; external_vue_default.a.use(external_vue_tailwind_default.a, settings); // EXTERNAL MODULE: external "v-money" var external_v_money_ = __webpack_require__(34); var external_v_money_default = /*#__PURE__*/__webpack_require__.n(external_v_money_); // CONCATENATED MODULE: ./plugins/vue-money.js external_vue_default.a.use(external_v_money_default.a, { precision: 0 }); // EXTERNAL MODULE: external "vue-password-strength-meter" var external_vue_password_strength_meter_ = __webpack_require__(35); var external_vue_password_strength_meter_default = /*#__PURE__*/__webpack_require__.n(external_vue_password_strength_meter_); // CONCATENATED MODULE: ./plugins/password-strength-indicator.js // Register it globally external_vue_default.a.component('Password', external_vue_password_strength_meter_default.a); // CONCATENATED MODULE: ./plugins/facebook-events.js /* eslint-disable */ /* harmony default export */ var facebook_events = (({ app, store }) => { /* ** Only run on client-side and only in production mode */ if (false) {} /* ** Initialize Facebook Pixel Script */ if (false) {} }); // EXTERNAL MODULE: external "cookie" var external_cookie_ = __webpack_require__(17); // EXTERNAL MODULE: external "jwt-decode" var external_jwt_decode_ = __webpack_require__(18); // EXTERNAL MODULE: external "requrl" var external_requrl_ = __webpack_require__(19); // CONCATENATED MODULE: ./node_modules/@nuxtjs/auth-next/dist/runtime.mjs const isUnset = (o) => typeof o === "undefined" || o === null; const isSet = (o) => !isUnset(o); const isSameURL = (ctx, a, b) => normalizePath(a, ctx) === normalizePath(b, ctx); function isRelativeURL(u) { return u && u.length && /^\/([a-zA-Z0-9@\-%_~.][/a-zA-Z0-9@\-%_~.]*)?([?][^#]*)?(#[^#]*)?$/.test(u); } function parseQuery(queryString) { const query = {}; const pairs = queryString.split("&"); for (let i = 0; i < pairs.length; i++) { const pair = pairs[i].split("="); query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ""); } return query; } function encodeQuery(queryObject) { return Object.entries(queryObject).filter(([_key, value]) => typeof value !== "undefined").map(([key, value]) => encodeURIComponent(key) + (value != null ? "=" + encodeURIComponent(value) : "")).join("&"); } function routeOption(route, key, value) { return route.matched.some((m) => { if (false) {} else { return Object.values(m.components).some((component) => Object.values(component._Ctor).some((ctor) => ctor.options && ctor.options[key] === value)); } }); } function runtime_getMatchedComponents(route, matches = []) { return [].concat(...[], ...route.matched.map(function(m, index) { return Object.keys(m.components).map(function(key) { matches.push(index); return m.components[key]; }); })); } function normalizePath(path = "", ctx) { let result = path.split("?")[0]; if (ctx && ctx.base) { result = result.replace(ctx.base, "/"); } if (result.charAt(result.length - 1) === "/") { result = result.slice(0, -1); } result = result.replace(/\/+/g, "/"); return result; } function encodeValue(val) { if (typeof val === "string") { return val; } return JSON.stringify(val); } function decodeValue(val) { if (typeof val === "string") { try { return JSON.parse(val); } catch (_) { } } return val; } function getProp(holder, propName) { if (!propName || !holder || typeof holder !== "object") { return holder; } if (propName in holder) { return holder[propName]; } const propParts = Array.isArray(propName) ? propName : (propName + "").split("."); let result = holder; while (propParts.length && result) { result = result[propParts.shift()]; } return result; } function addTokenPrefix(token, tokenType) { if (!token || !tokenType || typeof token !== "string" || token.startsWith(tokenType)) { return token; } return tokenType + " " + token; } function removeTokenPrefix(token, tokenType) { if (!token || !tokenType || typeof token !== "string") { return token; } return token.replace(tokenType + " ", ""); } function runtime_urlJoin(...args) { return args.join("/").replace(/[/]+/g, "/").replace(/^(.+):\//, "$1://").replace(/^file:/, "file:/").replace(/\/(\?|&|#[^!])/g, "$1").replace(/\?/g, "&").replace("&", "?"); } function cleanObj(obj) { for (const key in obj) { if (obj[key] === void 0) { delete obj[key]; } } return obj; } const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; function randomString(length) { let result = ""; const charactersLength = characters.length; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } class runtime_Storage { constructor(ctx, options) { this.ctx = ctx; this.options = options; this._initState(); } setUniversal(key, value) { if (isUnset(value)) { return this.removeUniversal(key); } this.setCookie(key, value); this.setLocalStorage(key, value); this.setState(key, value); return value; } getUniversal(key) { let value; if (true) { value = this.getState(key); } if (isUnset(value)) { value = this.getCookie(key); } if (isUnset(value)) { value = this.getLocalStorage(key); } if (isUnset(value)) { value = this.getState(key); } return value; } syncUniversal(key, defaultValue) { let value = this.getUniversal(key); if (isUnset(value) && isSet(defaultValue)) { value = defaultValue; } if (isSet(value)) { this.setUniversal(key, value); } return value; } removeUniversal(key) { this.removeState(key); this.removeLocalStorage(key); this.removeCookie(key); } _initState() { external_vue_.set(this, "_state", {}); this._useVuex = this.options.vuex && !!this.ctx.store; if (this._useVuex) { const storeModule = { namespaced: true, state: () => this.options.initialState, mutations: { SET(state, payload) { external_vue_.set(state, payload.key, payload.value); } } }; this.ctx.store.registerModule(this.options.vuex.namespace, storeModule, { preserveState: Boolean(this.ctx.store.state[this.options.vuex.namespace]) }); this.state = this.ctx.store.state[this.options.vuex.namespace]; } else { external_vue_.set(this, "state", {}); } } setState(key, value) { if (key[0] === "_") { external_vue_.set(this._state, key, value); } else if (this._useVuex) { this.ctx.store.commit(this.options.vuex.namespace + "/SET", { key, value }); } else { external_vue_.set(this.state, key, value); } return value; } getState(key) { if (key[0] !== "_") { return this.state[key]; } else { return this._state[key]; } } watchState(key, fn) { if (this._useVuex) { return this.ctx.store.watch((state) => getProp(state[this.options.vuex.namespace], key), fn); } } removeState(key) { this.setState(key, void 0); } setLocalStorage(key, value) { if (isUnset(value)) { return this.removeLocalStorage(key); } if (typeof localStorage === "undefined" || !this.options.localStorage) { return; } const _key = this.options.localStorage.prefix + key; try { localStorage.setItem(_key, encodeValue(value)); } catch (e) { if (!this.options.ignoreExceptions) { throw e; } } return value; } getLocalStorage(key) { if (typeof localStorage === "undefined" || !this.options.localStorage) { return; } const _key = this.options.localStorage.prefix + key; const value = localStorage.getItem(_key); return decodeValue(value); } removeLocalStorage(key) { if (typeof localStorage === "undefined" || !this.options.localStorage) { return; } const _key = this.options.localStorage.prefix + key; localStorage.removeItem(_key); } getCookies() { const cookieStr = false ? undefined : this.ctx.req.headers.cookie; return external_cookie_.parse(cookieStr || "") || {}; } setCookie(key, value, options = {}) { if (!this.options.cookie || true && !this.ctx.res) { return; } const _prefix = options.prefix !== void 0 ? options.prefix : this.options.cookie.prefix; const _key = _prefix + key; const _options = Object.assign({}, this.options.cookie.options, options); const _value = encodeValue(value); if (isUnset(value)) { _options.maxAge = -1; } if (typeof _options.expires === "number") { _options.expires = new Date(Date.now() + _options.expires * 864e5); } const serializedCookie = external_cookie_.serialize(_key, _value, _options); if (false) {} else if ( true && this.ctx.res) { const cookies = this.ctx.res.getHeader("Set-Cookie") || []; cookies.unshift(serializedCookie); this.ctx.res.setHeader("Set-Cookie", cookies.filter((v, i, arr) => arr.findIndex((val) => val.startsWith(v.substr(0, v.indexOf("=")))) === i)); } return value; } getCookie(key) { if (!this.options.cookie || true && !this.ctx.req) { return; } const _key = this.options.cookie.prefix + key; const cookies = this.getCookies(); const value = cookies[_key] ? decodeURIComponent(cookies[_key]) : void 0; return decodeValue(value); } removeCookie(key, options) { this.setCookie(key, void 0, options); } } class Auth { constructor(ctx, options) { this.strategies = {}; this._errorListeners = []; this._redirectListeners = []; this.ctx = ctx; this.options = options; const initialState = {user: null, loggedIn: false}; const storage2 = new runtime_Storage(ctx, {...options, ...{initialState}}); this.$storage = storage2; this.$state = storage2.state; } get state() { if (!this._stateWarnShown) { this._stateWarnShown = true; console.warn("[AUTH] $auth.state is deprecated. Please use $auth.$state or top level props like $auth.loggedIn"); } return this.$state; } get strategy() { return this.getStrategy(); } getStrategy(throwException = true) { if (throwException) { if (!this.$state.strategy) { throw new Error("No strategy is set!"); } if (!this.strategies[this.$state.strategy]) { throw new Error("Strategy not supported: " + this.$state.strategy); } } return this.strategies[this.$state.strategy]; } get user() { return this.$state.user; } get loggedIn() { return this.$state.loggedIn; } get busy() { return this.$storage.getState("busy"); } async init() { if (this.options.resetOnError) { this.onError((...args) => { if (typeof this.options.resetOnError !== "function" || this.options.resetOnError(...args)) { this.reset(); } }); } this.$storage.syncUniversal("strategy", this.options.defaultStrategy); if (!this.getStrategy(false)) { this.$storage.setUniversal("strategy", this.options.defaultStrategy); if (!this.getStrategy(false)) { return Promise.resolve(); } } try { await this.mounted(); } catch (error) { this.callOnError(error); } finally { if (false) {} } } getState(key) { if (!this._getStateWarnShown) { this._getStateWarnShown = true; console.warn("[AUTH] $auth.getState is deprecated. Please use $auth.$storage.getState() or top level props like $auth.loggedIn"); } return this.$storage.getState(key); } registerStrategy(name, strategy) { this.strategies[name] = strategy; } setStrategy(name) { if (name === this.$storage.getUniversal("strategy")) { return Promise.resolve(); } if (!this.strategies[name]) { throw new Error(`Strategy ${name} is not defined!`); } this.reset(); this.$storage.setUniversal("strategy", name); return this.mounted(); } mounted(...args) { if (!this.getStrategy().mounted) { return this.fetchUserOnce(); } return Promise.resolve(this.getStrategy().mounted(...args)).catch((error) => { this.callOnError(error, {method: "mounted"}); return Promise.reject(error); }); } loginWith(name, ...args) { return this.setStrategy(name).then(() => this.login(...args)); } login(...args) { if (!this.getStrategy().login) { return Promise.resolve(); } return this.wrapLogin(this.getStrategy().login(...args)).catch((error) => { this.callOnError(error, {method: "login"}); return Promise.reject(error); }); } fetchUser(...args) { if (!this.getStrategy().fetchUser) { return Promise.resolve(); } return Promise.resolve(this.getStrategy().fetchUser(...args)).catch((error) => { this.callOnError(error, {method: "fetchUser"}); return Promise.reject(error); }); } logout(...args) { if (!this.getStrategy().logout) { this.reset(); return Promise.resolve(); } return Promise.resolve(this.getStrategy().logout(...args)).catch((error) => { this.callOnError(error, {method: "logout"}); return Promise.reject(error); }); } setUserToken(token, refreshToken) { if (!this.getStrategy().setUserToken) { this.getStrategy().token.set(token); return Promise.resolve(); } return Promise.resolve(this.getStrategy().setUserToken(token, refreshToken)).catch((error) => { this.callOnError(error, {method: "setUserToken"}); return Promise.reject(error); }); } reset(...args) { if (!this.getStrategy().reset) { this.setUser(false); this.getStrategy().token.reset(); this.getStrategy().refreshToken.reset(); } return this.getStrategy().reset(...args); } refreshTokens() { if (!this.getStrategy().refreshController) { return Promise.resolve(); } return Promise.resolve(this.getStrategy().refreshController.handleRefresh()).catch((error) => { this.callOnError(error, {method: "refreshTokens"}); return Promise.reject(error); }); } check(...args) { if (!this.getStrategy().check) { return {valid: true}; } return this.getStrategy().check(...args); } fetchUserOnce(...args) { if (!this.$state.user) { return this.fetchUser(...args); } return Promise.resolve(); } setUser(user) { this.$storage.setState("user", user); let check = {valid: Boolean(user)}; if (check.valid) { check = this.check(); } this.$storage.setState("loggedIn", check.valid); } request(endpoint, defaults = {}) { const _endpoint = typeof defaults === "object" ? Object.assign({}, defaults, endpoint) : endpoint; if (!this.ctx.app.$axios) { console.error("[AUTH] add the @nuxtjs/axios module to nuxt.config file"); return; } return this.ctx.app.$axios.request(_endpoint).catch((error) => { this.callOnError(error, {method: "request"}); return Promise.reject(error); }); } requestWith(strategy, endpoint, defaults) { const token = this.getStrategy().token.get(); const _endpoint = Object.assign({}, defaults, endpoint); const tokenName = this.strategies[strategy].options.token.name || "Authorization"; if (!_endpoint.headers) { _endpoint.headers = {}; } if (!_endpoint.headers[tokenName] && isSet(token) && token && typeof token === "string") { _endpoint.headers[tokenName] = token; } return this.request(_endpoint); } wrapLogin(promise) { this.$storage.setState("busy", true); this.error = null; return Promise.resolve(promise).then((response) => { this.$storage.setState("busy", false); return response; }).catch((error) => { this.$storage.setState("busy", false); return Promise.reject(error); }); } onError(listener) { this._errorListeners.push(listener); } callOnError(error, payload = {}) { this.error = error; for (const fn of this._errorListeners) { fn(error, payload); } } redirect(name, noRouter = false) { if (!this.options.redirect) { return; } const from = this.options.fullPathRedirect ? this.ctx.route.fullPath : this.ctx.route.path; let to = this.options.redirect[name]; if (!to) { return; } if (this.options.rewriteRedirects) { if (name === "login" && isRelativeURL(from) && !isSameURL(this.ctx, to, from)) { this.$storage.setUniversal("redirect", from); } if (name === "home") { const redirect = this.$storage.getUniversal("redirect"); this.$storage.setUniversal("redirect", null); if (isRelativeURL(redirect)) { to = redirect; } } } to = this.callOnRedirect(to, from) || to; if (isSameURL(this.ctx, to, from)) { return; } if (false) {} else { this.ctx.redirect(to, this.ctx.query); } } onRedirect(listener) { this._redirectListeners.push(listener); } callOnRedirect(to, from) { for (const fn of this._redirectListeners) { to = fn(to, from) || to; } return to; } hasScope(scope) { const userScopes = this.$state.user && getProp(this.$state.user, this.options.scopeKey); if (!userScopes) { return false; } if (Array.isArray(userScopes)) { return userScopes.includes(scope); } return Boolean(getProp(userScopes, scope)); } } const authMiddleware = async (ctx) => { if (routeOption(ctx.route, "auth", false)) { return; } const matches = []; const Components = runtime_getMatchedComponents(ctx.route, matches); if (!Components.length) { return; } const {login, callback} = ctx.$auth.options.redirect; const pageIsInGuestMode = routeOption(ctx.route, "auth", "guest"); const insidePage = (page) => normalizePath(ctx.route.path, ctx) === normalizePath(page, ctx); if (ctx.$auth.$state.loggedIn) { const { tokenExpired, refreshTokenExpired, isRefreshable } = ctx.$auth.check(true); if (!login || insidePage(login) || pageIsInGuestMode) { ctx.$auth.redirect("home"); } if (refreshTokenExpired) { ctx.$auth.reset(); } else if (tokenExpired) { if (isRefreshable) { try { await ctx.$auth.refreshTokens(); } catch (error) { ctx.$auth.reset(); } } else { ctx.$auth.reset(); } } } else if (!pageIsInGuestMode && (!callback || !insidePage(callback))) { ctx.$auth.redirect("login"); } }; class ExpiredAuthSessionError extends Error { constructor() { super("Both token and refresh token have expired. Your request was aborted."); this.name = "ExpiredAuthSessionError"; } } class RefreshController { constructor(scheme) { this.scheme = scheme; this._refreshPromise = null; this.$auth = scheme.$auth; } handleRefresh() { if (this._refreshPromise) { return this._refreshPromise; } return this._doRefresh(); } _doRefresh() { this._refreshPromise = new Promise((resolve, reject) => { this.scheme.refreshTokens().then((response) => { this._refreshPromise = null; resolve(response); }).catch((error) => { this._refreshPromise = null; reject(error); }); }); return this._refreshPromise; } } var TokenStatusEnum; (function(TokenStatusEnum2) { TokenStatusEnum2["UNKNOWN"] = "UNKNOWN"; TokenStatusEnum2["VALID"] = "VALID"; TokenStatusEnum2["EXPIRED"] = "EXPIRED"; })(TokenStatusEnum || (TokenStatusEnum = {})); class TokenStatus { constructor(token, tokenExpiresAt) { this._status = this._calculate(token, tokenExpiresAt); } unknown() { return TokenStatusEnum.UNKNOWN === this._status; } valid() { return TokenStatusEnum.VALID === this._status; } expired() { return TokenStatusEnum.EXPIRED === this._status; } _calculate(token, tokenExpiresAt) { const now = Date.now(); try { if (!token || !tokenExpiresAt) { return TokenStatusEnum.UNKNOWN; } } catch (error) { return TokenStatusEnum.UNKNOWN; } const timeSlackMillis = 500; tokenExpiresAt -= timeSlackMillis; if (now < tokenExpiresAt) { return TokenStatusEnum.VALID; } return TokenStatusEnum.EXPIRED; } } class runtime_RefreshToken { constructor(scheme, storage) { this.scheme = scheme; this.$storage = storage; } get() { const _key = this.scheme.options.refreshToken.prefix + this.scheme.name; return this.$storage.getUniversal(_key); } set(tokenValue) { const refreshToken = addTokenPrefix(tokenValue, this.scheme.options.refreshToken.type); this._setToken(refreshToken); this._updateExpiration(refreshToken); return refreshToken; } sync() { const refreshToken = this._syncToken(); this._syncExpiration(); return refreshToken; } reset() { this._setToken(false); this._setExpiration(false); } status() { return new TokenStatus(this.get(), this._getExpiration()); } _getExpiration() { const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name; return this.$storage.getUniversal(_key); } _setExpiration(expiration) { const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name; return this.$storage.setUniversal(_key, expiration); } _syncExpiration() { const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name; return this.$storage.syncUniversal(_key); } _updateExpiration(refreshToken) { let refreshTokenExpiration; const _tokenIssuedAtMillis = Date.now(); const _tokenTTLMillis = Number(this.scheme.options.refreshToken.maxAge) * 1e3; const _tokenExpiresAtMillis = _tokenTTLMillis ? _tokenIssuedAtMillis + _tokenTTLMillis : 0; try { refreshTokenExpiration = external_jwt_decode_(refreshToken + "").exp * 1e3 || _tokenExpiresAtMillis; } catch (error) { refreshTokenExpiration = _tokenExpiresAtMillis; if (!(error && error.name === "InvalidTokenError")) { throw error; } } return this._setExpiration(refreshTokenExpiration || false); } _setToken(refreshToken) { const _key = this.scheme.options.refreshToken.prefix + this.scheme.name; return this.$storage.setUniversal(_key, refreshToken); } _syncToken() { const _key = this.scheme.options.refreshToken.prefix + this.scheme.name; return this.$storage.syncUniversal(_key); } } class RequestHandler { constructor(scheme, axios) { this.scheme = scheme; this.axios = axios; this.interceptor = null; } setHeader(token) { if (this.scheme.options.token.global) { this.axios.setHeader(this.scheme.options.token.name, token); } } clearHeader() { if (this.scheme.options.token.global) { this.axios.setHeader(this.scheme.options.token.name, false); } } initializeRequestInterceptor(refreshEndpoint) { this.interceptor = this.axios.interceptors.request.use(async (config) => { if (!this._needToken(config) || config.url === refreshEndpoint) { return config; } const { valid, tokenExpired, refreshTokenExpired, isRefreshable } = this.scheme.check(true); let isValid = valid; if (refreshTokenExpired) { this.scheme.reset(); throw new ExpiredAuthSessionError(); } if (tokenExpired) { if (!isRefreshable) { this.scheme.reset(); throw new ExpiredAuthSessionError(); } isValid = await this.scheme.refreshTokens().then(() => true).catch(() => { this.scheme.reset(); throw new ExpiredAuthSessionError(); }); } const token = this.scheme.token.get(); if (!isValid) { if (!token && this._requestHasAuthorizationHeader(config)) { throw new ExpiredAuthSessionError(); } return config; } return this._getUpdatedRequestConfig(config, token); }); } reset() { this.axios.interceptors.request.eject(this.interceptor); this.interceptor = null; } _needToken(config) { const options = this.scheme.options; return options.token.global || Object.values(options.endpoints).some((endpoint) => typeof endpoint === "object" ? endpoint.url === config.url : endpoint === config.url); } _getUpdatedRequestConfig(config, token) { if (typeof token === "string") { config.headers[this.scheme.options.token.name] = token; } return config; } _requestHasAuthorizationHeader(config) { return !!config.headers.common[this.scheme.options.token.name]; } } class runtime_Token { constructor(scheme, storage) { this.scheme = scheme; this.$storage = storage; } get() { const _key = this.scheme.options.token.prefix + this.scheme.name; return this.$storage.getUniversal(_key); } set(tokenValue) { const token = addTokenPrefix(tokenValue, this.scheme.options.token.type); this._setToken(token); this._updateExpiration(token); if (typeof token === "string") { this.scheme.requestHandler.setHeader(token); } return token; } sync() { const token = this._syncToken(); this._syncExpiration(); if (typeof token === "string") { this.scheme.requestHandler.setHeader(token); } return token; } reset() { this.scheme.requestHandler.clearHeader(); this._setToken(false); this._setExpiration(false); } status() { return new TokenStatus(this.get(), this._getExpiration()); } _getExpiration() { const _key = this.scheme.options.token.expirationPrefix + this.scheme.name; return this.$storage.getUniversal(_key); } _setExpiration(expiration) { const _key = this.scheme.options.token.expirationPrefix + this.scheme.name; return this.$storage.setUniversal(_key, expiration); } _syncExpiration() { const _key = this.scheme.options.token.expirationPrefix + this.scheme.name; return this.$storage.syncUniversal(_key); } _updateExpiration(token) { let tokenExpiration; const _tokenIssuedAtMillis = Date.now(); const _tokenTTLMillis = Number(this.scheme.options.token.maxAge) * 1e3; const _tokenExpiresAtMillis = _tokenTTLMillis ? _tokenIssuedAtMillis + _tokenTTLMillis : 0; try { tokenExpiration = external_jwt_decode_(token + "").exp * 1e3 || _tokenExpiresAtMillis; } catch (error) { tokenExpiration = _tokenExpiresAtMillis; if (!(error && error.name === "InvalidTokenError")) { throw error; } } return this._setExpiration(tokenExpiration || false); } _setToken(token) { const _key = this.scheme.options.token.prefix + this.scheme.name; return this.$storage.setUniversal(_key, token); } _syncToken() { const _key = this.scheme.options.token.prefix + this.scheme.name; return this.$storage.syncUniversal(_key); } } class runtime_BaseScheme { constructor($auth, ...options) { this.$auth = $auth; this.options = options.reduce((p, c) => external_defu_(p, c), {}); } get name() { return this.options.name; } } const DEFAULTS = { name: "local", endpoints: { login: { url: "/api/auth/login", method: "post" }, logout: { url: "/api/auth/logout", method: "post" }, user: { url: "/api/auth/user", method: "get" } }, token: { property: "token", type: "Bearer", name: "Authorization", maxAge: 1800, global: true, required: true, prefix: "_token.", expirationPrefix: "_token_expiration." }, user: { property: "user", autoFetch: true }, clientId: false, grantType: false, scope: false }; class LocalScheme extends runtime_BaseScheme { constructor($auth, options, ...defaults) { super($auth, options, ...defaults, DEFAULTS); this.token = new runtime_Token(this, this.$auth.$storage); this.requestHandler = new RequestHandler(this, this.$auth.ctx.$axios); } check(checkStatus = false) { const response = { valid: false, tokenExpired: false }; const token = this.token.sync(); if (!token) { return response; } if (!checkStatus) { response.valid = true; return response; } const tokenStatus = this.token.status(); if (tokenStatus.expired()) { response.tokenExpired = true; return response; } response.valid = true; return response; } mounted({ tokenCallback = () => this.$auth.reset(), refreshTokenCallback = void 0 } = {}) { const {tokenExpired, refreshTokenExpired} = this.check(true); if (refreshTokenExpired && typeof refreshTokenCallback === "function") { refreshTokenCallback(); } else if (tokenExpired && typeof tokenCallback === "function") { tokenCallback(); } this.initializeRequestInterceptor(); return this.$auth.fetchUserOnce(); } async login(endpoint, {reset = true} = {}) { if (!this.options.endpoints.login) { return; } if (reset) { this.$auth.reset({resetInterceptor: false}); } if (this.options.clientId) { endpoint.data.client_id = this.options.clientId; } if (this.options.grantType) { endpoint.data.grant_type = this.options.grantType; } if (this.options.scope) { endpoint.data.scope = this.options.scope; } const response = await this.$auth.request(endpoint, this.options.endpoints.login); this.updateTokens(response); if (!this.requestHandler.interceptor) { this.initializeRequestInterceptor(); } if (this.options.user.autoFetch) { await this.fetchUser(); } return response; } setUserToken(token) { this.token.set(token); return this.fetchUser(); } fetchUser(endpoint) { if (!this.check().valid) { return Promise.resolve(); } if (!this.options.endpoints.user) { this.$auth.setUser({}); return Promise.resolve(); } return this.$auth.requestWith(this.name, endpoint, this.options.endpoints.user).then((response) => { const userData = getProp(response.data, this.options.user.property); if (!userData) { const error = new Error(`User Data response does not contain field ${this.options.user.property}`); return Promise.reject(error); } this.$auth.setUser(userData); return response; }).catch((error) => { this.$auth.callOnError(error, {method: "fetchUser"}); return Promise.reject(error); }); } async logout(endpoint = {}) { if (this.options.endpoints.logout) { await this.$auth.requestWith(this.name, endpoint, this.options.endpoints.logout).catch(() => { }); } return this.$auth.reset(); } reset({resetInterceptor = true} = {}) { this.$auth.setUser(false); this.token.reset(); if (resetInterceptor) { this.requestHandler.reset(); } } updateTokens(response) { const token = this.options.token.required ? getProp(response.data, this.options.token.property) : true; this.token.set(token); } initializeRequestInterceptor() { this.requestHandler.initializeRequestInterceptor(); } } const DEFAULTS$1 = { name: "cookie", cookie: { name: null }, token: { type: "", property: "", maxAge: false, global: false, required: false }, endpoints: { csrf: null } }; class CookieScheme extends LocalScheme { constructor($auth, options) { super($auth, options, DEFAULTS$1); } mounted() { if (true) { this.$auth.ctx.$axios.setHeader("referer", this.$auth.ctx.req.headers.host); } return super.mounted(); } check() { const response = {valid: false}; if (!super.check().valid) { return response; } if (this.options.cookie.name) { const cookies = this.$auth.$storage.getCookies(); response.valid = Boolean(cookies[this.options.cookie.name]); return response; } response.valid = true; return response; } async login(endpoint) { this.$auth.reset(); if (this.options.endpoints.csrf) { await this.$auth.request(this.options.endpoints.csrf, { maxRedirects: 0 }); } return super.login(endpoint, {reset: false}); } reset() { if (this.options.cookie.name) { this.$auth.$storage.setCookie(this.options.cookie.name, null, { prefix: "" }); } return super.reset(); } } const DEFAULTS$2 = { name: "oauth2", accessType: null, redirectUri: null, logoutRedirectUri: null, clientId: null, audience: null, grantType: null, responseMode: null, acrValues: null, autoLogout: false, endpoints: { logout: "", authorization: "", token: "", userInfo: "" }, scope: [], token: { property: "access_token", type: "Bearer", name: "Authorization", maxAge: 1800, global: true, prefix: "_token.", expirationPrefix: "_token_expiration." }, refreshToken: { property: "refresh_token", maxAge: 60 * 60 * 24 * 30, prefix: "_refresh_token.", expirationPrefix: "_refresh_token_expiration." }, user: { property: false }, responseType: "token", codeChallengeMethod: "implicit" }; class runtime_Oauth2Scheme extends runtime_BaseScheme { constructor($auth, options, ...defaults) { super($auth, options, ...defaults, DEFAULTS$2); this.req = $auth.ctx.req; this.token = new runtime_Token(this, this.$auth.$storage); this.refreshToken = new runtime_RefreshToken(this, this.$auth.$storage); this.refreshController = new RefreshController(this); this.requestHandler = new RequestHandler(this, this.$auth.ctx.$axios); } get scope() { return Array.isArray(this.options.scope) ? this.options.scope.join(" ") : this.options.scope; } get redirectURI() { const basePath = this.$auth.ctx.base || ""; const path = normalizePath(basePath + "/" + this.$auth.options.redirect.callback); return this.options.redirectUri || runtime_urlJoin(external_requrl_(this.req), path); } get logoutRedirectURI() { return this.options.logoutRedirectUri || runtime_urlJoin(external_requrl_(this.req), this.$auth.options.redirect.logout); } check(checkStatus = false) { const response = { valid: false, tokenExpired: false, refreshTokenExpired: false, isRefreshable: true }; const token = this.token.sync(); this.refreshToken.sync(); if (!token) { return response; } if (!checkStatus) { response.valid = true; return response; } const tokenStatus = this.token.status(); const refreshTokenStatus = this.refreshToken.status(); if (refreshTokenStatus.expired()) { response.refreshTokenExpired = true; return response; } if (tokenStatus.expired()) { response.tokenExpired = true; return response; } response.valid = true; return response; } async mounted() { const {tokenExpired, refreshTokenExpired} = this.check(true); if (refreshTokenExpired || tokenExpired && this.options.autoLogout) { this.$auth.reset(); } this.requestHandler.initializeRequestInterceptor(this.options.endpoints.token); const redirected = await this._handleCallback(); if (!redirected) { return this.$auth.fetchUserOnce(); } } reset() { this.$auth.setUser(false); this.token.reset(); this.refreshToken.reset(); this.requestHandler.reset(); } async login(_opts = {}) { const opts = { protocol: "oauth2", response_type: this.options.responseType, access_type: this.options.accessType, client_id: this.options.clientId, redirect_uri: this.redirectURI, scope: this.scope, state: _opts.state || randomString(10), code_challenge_method: this.options.codeChallengeMethod, ..._opts.params }; if (this.options.audience) { opts.audience = this.options.audience; } if (opts.response_type.includes("token")) { opts.nonce = _opts.nonce || randomString(10); } if (opts.code_challenge_method) { switch (opts.code_challenge_method) { case "plain": case "S256": { const state = this.generateRandomString(); this.$auth.$storage.setUniversal(this.name + ".pkce_state", state); const codeVerifier = this.generateRandomString(); this.$auth.$storage.setUniversal(this.name + ".pkce_code_verifier", codeVerifier); const codeChallenge = await this.pkceChallengeFromVerifier(codeVerifier, opts.code_challenge_method === "S256"); opts.code_challenge = window.encodeURIComponent(codeChallenge); } break; } } if (this.options.responseMode) { opts.response_mode = this.options.responseMode; } if (this.options.acrValues) { opts.acr_values = this.options.acrValues; } this.$auth.$storage.setUniversal(this.name + ".state", opts.state); const url = this.options.endpoints.authorization + "?" + encodeQuery(opts); window.location.replace(url); } logout() { if (this.options.endpoints.logout) { const opts = { client_id: this.options.clientId + "", logout_uri: this.logoutRedirectURI }; const url = this.options.endpoints.logout + "?" + encodeQuery(opts); window.location.replace(url); } return this.$auth.reset(); } async fetchUser() { if (!this.check().valid) { return; } if (!this.options.endpoints.userInfo) { this.$auth.setUser({}); return; } const response = await this.$auth.requestWith(this.name, { url: this.options.endpoints.userInfo }); this.$auth.setUser(getProp(response.data, this.options.user.property)); } async _handleCallback() { if (this.$auth.options.redirect && normalizePath(this.$auth.ctx.route.path, this.$auth.ctx) !== normalizePath(this.$auth.options.redirect.callback, this.$auth.ctx)) { return; } if (true) { return; } const hash = parseQuery(this.$auth.ctx.route.hash.substr(1)); const parsedQuery = Object.assign({}, this.$auth.ctx.route.query, hash); let token = parsedQuery[this.options.token.property]; let refreshToken; if (this.options.refreshToken.property) { refreshToken = parsedQuery[this.options.refreshToken.property]; } const state = this.$auth.$storage.getUniversal(this.name + ".state"); this.$auth.$storage.setUniversal(this.name + ".state", null); if (state && parsedQuery.state !== state) { return; } if (this.options.responseType === "code" && parsedQuery.code) { let codeVerifier; if (this.options.codeChallengeMethod && this.options.codeChallengeMethod !== "implicit") { codeVerifier = this.$auth.$storage.getUniversal(this.name + ".pkce_code_verifier"); this.$auth.$storage.setUniversal(this.name + ".pkce_code_verifier", null); } const response = await this.$auth.request({ method: "post", url: this.options.endpoints.token, baseURL: "", data: encodeQuery({ code: parsedQuery.code, client_id: this.options.clientId + "", redirect_uri: this.redirectURI, response_type: this.options.responseType, audience: this.options.audience, grant_type: this.options.grantType, code_verifier: codeVerifier }) }); token = getProp(response.data, this.options.token.property) || token; refreshToken = getProp(response.data, this.options.refreshToken.property) || refreshToken; } if (!token || !token.length) { return; } this.token.set(token); if (refreshToken && refreshToken.length) { this.refreshToken.set(refreshToken); } this.$auth.redirect("home", true); return true; } async refreshTokens() { const refreshToken = this.refreshToken.get(); if (!refreshToken) { return; } const refreshTokenStatus = this.refreshToken.status(); if (refreshTokenStatus.expired()) { this.$auth.reset(); throw new ExpiredAuthSessionError(); } this.requestHandler.clearHeader(); const response = await this.$auth.request({ method: "post", url: this.options.endpoints.token, baseURL: "", headers: { "Content-Type": "application/x-www-form-urlencoded" }, data: encodeQuery({ refresh_token: removeTokenPrefix(refreshToken, this.options.token.type), client_id: this.options.clientId + "", grant_type: "refresh_token" }) }).catch((error) => { this.$auth.callOnError(error, {method: "refreshToken"}); return Promise.reject(error); }); this.updateTokens(response); return response; } updateTokens(response) { const token = getProp(response.data, this.options.token.property); const refreshToken = getProp(response.data, this.options.refreshToken.property); this.token.set(token); if (refreshToken) { this.refreshToken.set(refreshToken); } } async pkceChallengeFromVerifier(v, hashValue) { if (hashValue) { const hashed = await this._sha256(v); return this._base64UrlEncode(hashed); } return v; } generateRandomString() { const array = new Uint32Array(28); window.crypto.getRandomValues(array); return Array.from(array, (dec) => ("0" + dec.toString(16)).substr(-2)).join(""); } _sha256(plain) { const encoder = new TextEncoder(); const data = encoder.encode(plain); return window.crypto.subtle.digest("SHA-256", data); } _base64UrlEncode(str) { return btoa(String.fromCharCode.apply(null, new Uint8Array(str))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, ""); } } const DEFAULTS$3 = { name: "refresh", endpoints: { refresh: { url: "/api/auth/refresh", method: "post" } }, refreshToken: { property: "refresh_token", data: "refresh_token", maxAge: 60 * 60 * 24 * 30, required: true, tokenRequired: false, prefix: "_refresh_token.", expirationPrefix: "_refresh_token_expiration." }, autoLogout: false }; class RefreshScheme extends LocalScheme { constructor($auth, options) { super($auth, options, DEFAULTS$3); this.refreshToken = new runtime_RefreshToken(this, this.$auth.$storage); this.refreshController = new RefreshController(this); } check(checkStatus = false) { const response = { valid: false, tokenExpired: false, refreshTokenExpired: false, isRefreshable: true }; const token = this.token.sync(); const refreshToken = this.refreshToken.sync(); if (!token || !refreshToken) { return response; } if (!checkStatus) { response.valid = true; return response; } const tokenStatus = this.token.status(); const refreshTokenStatus = this.refreshToken.status(); if (refreshTokenStatus.expired()) { response.refreshTokenExpired = true; return response; } if (tokenStatus.expired()) { response.tokenExpired = true; return response; } response.valid = true; return response; } mounted() { return super.mounted({ tokenCallback: () => { if (this.options.autoLogout) { this.$auth.reset(); } }, refreshTokenCallback: () => { this.$auth.reset(); } }); } refreshTokens() { if (!this.options.endpoints.refresh) { return Promise.resolve(); } if (!this.check().valid) { return Promise.resolve(); } const refreshTokenStatus = this.refreshToken.status(); if (refreshTokenStatus.expired()) { this.$auth.reset(); throw new ExpiredAuthSessionError(); } if (!this.options.refreshToken.tokenRequired) { this.requestHandler.clearHeader(); } const endpoint = { data: { client_id: void 0, grant_type: void 0 } }; if (this.options.refreshToken.required && this.options.refreshToken.data) { endpoint.data[this.options.refreshToken.data] = this.refreshToken.get(); } if (this.options.clientId) { endpoint.data.client_id = this.options.clientId; } if (this.options.grantType) { endpoint.data.grant_type = "refresh_token"; } cleanObj(endpoint.data); return this.$auth.request(endpoint, this.options.endpoints.refresh).then((response) => { this.updateTokens(response, {isRefreshing: true}); return response; }).catch((error) => { this.$auth.callOnError(error, {method: "refreshToken"}); return Promise.reject(error); }); } setUserToken(token, refreshToken) { this.token.set(token); if (refreshToken) { this.refreshToken.set(refreshToken); } return this.fetchUser(); } reset({resetInterceptor = true} = {}) { this.$auth.setUser(false); this.token.reset(); this.refreshToken.reset(); if (resetInterceptor) { this.requestHandler.reset(); } } updateTokens(response, {isRefreshing = false, updateOnRefresh = true} = {}) { const token = this.options.token.required ? getProp(response.data, this.options.token.property) : true; const refreshToken = this.options.refreshToken.required ? getProp(response.data, this.options.refreshToken.property) : true; this.token.set(token); if (refreshToken && (!isRefreshing || isRefreshing && updateOnRefresh)) { this.refreshToken.set(refreshToken); } } initializeRequestInterceptor() { this.requestHandler.initializeRequestInterceptor(this.options.endpoints.refresh.url); } } class Auth0Scheme extends runtime_Oauth2Scheme { logout() { this.$auth.reset(); const opts = { client_id: this.options.clientId + "", returnTo: this.logoutRedirectURI }; const url = this.options.endpoints.logout + "?" + encodeQuery(opts); window.location.replace(url); } } class LaravelJWTScheme extends RefreshScheme { updateTokens(response, {isRefreshing = false, updateOnRefresh = false} = {}) { super.updateTokens(response, {isRefreshing, updateOnRefresh}); } } // CONCATENATED MODULE: ./.nuxt/auth.js // Active schemes _nuxt_middleware.auth = authMiddleware; /* harmony default export */ var auth = (function (ctx, inject) { // Options const options = { "resetOnError": false, "ignoreExceptions": false, "scopeKey": "scope", "rewriteRedirects": true, "fullPathRedirect": false, "watchLoggedIn": false, "redirect": { "login": "/", "logout": "/", "home": "/", "callback": "/" }, "vuex": { "namespace": "auth" }, "cookie": { "prefix": "auth.", "options": { "path": "/" } }, "localStorage": { "prefix": "auth." }, "defaultStrategy": "laravelJWT" }; // Create a new Auth instance const $auth = new Auth(ctx, options); // Register strategies // laravelJWT $auth.registerStrategy('laravelJWT', new LaravelJWTScheme($auth, { "url": "http://api-takeaseat.eco-n-tech.co.uk/api/", "endpoints": { "login": { "url": "http://api-takeaseat.eco-n-tech.co.uk/api/auth/login", "method": "post" }, "refresh": { "url": "http://api-takeaseat.eco-n-tech.co.uk/api/auth/refresh", "method": "post" }, "logout": { "url": "http://api-takeaseat.eco-n-tech.co.uk/api/auth/logout", "method": "post" }, "user": { "url": "http://api-takeaseat.eco-n-tech.co.uk/api/auth/user", "method": "get" } }, "token": { "property": "token", "maxAge": 3600 }, "refreshToken": { "property": false, "data": false, "maxAge": 1209600, "required": false, "tokenRequired": true }, "name": "laravelJWT", "user": { "property": false }, "clientId": false, "grantType": false })); // Inject it to nuxt context as $auth inject('auth', $auth); ctx.$auth = $auth; // Initialize auth return $auth.init().catch(error => { if (false) {} }); }); // CONCATENATED MODULE: ./.nuxt/index.js /* Plugins */ // Source: ./components/plugin.js (mode: 'all') // Source: ./cookie-universal-nuxt.js (mode: 'all') // Source: ./templates.plugin.4dcde494.js (mode: 'client') // Source: ./recaptcha.js (mode: 'all') // Source: ./gtm.js (mode: 'all') // Source: ./moment.js (mode: 'all') // Source: ./axios.js (mode: 'all') // Source: ./toast.js (mode: 'client') // Source: ../plugins/vee-validate.js (mode: 'all') // Source: ../plugins/vue-tailwind.js (mode: 'all') // Source: ../plugins/vue-money.js (mode: 'all') // Source: ../plugins/password-strength-indicator.js (mode: 'all') // Source: ../plugins/facebook-events.js (mode: 'all') // Source: ../plugins/vue-croppie.js (mode: 'client') // Source: ../plugins/vue-calendar.js (mode: 'client') // Source: ../plugins/vue2editor.js (mode: 'client') // Source: ../plugins/vue-smoothscroll.js (mode: 'client') // Source: ./auth.js (mode: 'all') // 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: { "title": "Takeaseat", "htmlAttrs": { "lang": "en" }, "meta": [{ "charset": "utf-8" }, { "name": "viewport", "content": "width=device-width, initial-scale=1" }, { "name": "msapplication-TileColor", "content": "#2d89ef" }, { "name": "theme-color", "content": "#ffffff" }, { "hid": "description", "name": "description", "content": "Providing a safe space for you to talk more and live a better life" }], "link": [{ "rel": "apple-touch-icon", "sizes": "180x180", "href": "\u002Fapple-touch-icon.png" }, { "rel": "icon", "type": "image\u002Fpng", "sizes": "32x32", "href": "\u002Ffavicon-32x32.png" }, { "rel": "icon", "type": "image\u002Fpng", "sizes": "16x16", "href": "\u002Ffavicon-16x16.png" }, { "rel": "manifest", "href": "\u002Fsite.webmanifest" }], "script": [{ "src": "https:\u002F\u002Funpkg.com\u002Farray-flat-polyfill", "body": true }, { "hid": "gtm-script", "innerHTML": "if(!window._gtm_init){window._gtm_init=1;(function(w,n,d,m,e,p){w[d]=(w[d]==1||n[d]=='yes'||n[d]==1||n[m]==1||(w[e]&&w[e][p]&&w[e][p]()))?1:0})(window,navigator,'doNotTrack','msDoNotTrack','external','msTrackingProtectionEnabled');(function(w,d,s,l,x,y){w[x]={};w._gtm_inject=function(i){if(w.doNotTrack||w[x][i])return;w[x][i]=1;w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src='https:\u002F\u002Fwww.googletagmanager.com\u002Fgtm.js?id='+i;f.parentNode.insertBefore(j,f);};w[y]('GTM-TGWNJCS')})(window,document,'script','dataLayer','_gtm_ids','_gtm_inject')}" }], "style": [], "noscript": [{ "hid": "gtm-noscript", "pbody": true, "innerHTML": "\u003Ciframe src=\"https:\u002F\u002Fwww.googletagmanager.com\u002Fns.html?id=GTM-TGWNJCS&\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\" title=\"gtm\"\u003E\u003C\u002Fiframe\u003E" }], "__dangerouslyDisableSanitizersByTagID": { "gtm-script": ["innerHTML"], "gtm-noscript": ["innerHTML"] } }, 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 /* Cannot get final name for export "default" in "./.nuxt/components/plugin.js" (known exports: , known reexports: ) */ undefined === 'function') { await /* Cannot get final name for export "default" in "./.nuxt/components/plugin.js" (known exports: , known reexports: ) */ undefined(app.context, inject); } if (typeof cookie_universal_nuxt === 'function') { await cookie_universal_nuxt(app.context, inject); } if (false) {} if (typeof _nuxt_recaptcha === 'function') { await _nuxt_recaptcha(app.context, inject); } if (typeof gtm === 'function') { await gtm(app.context, inject); } if (typeof moment === 'function') { await moment(app.context, inject); } if (typeof _nuxt_axios === 'function') { await _nuxt_axios(app.context, inject); } if (false) {} if (typeof /* Cannot get final name for export "default" in "./plugins/vee-validate.js" (known exports: , known reexports: ) */ undefined === 'function') { await /* Cannot get final name for export "default" in "./plugins/vee-validate.js" (known exports: , known reexports: ) */ undefined(app.context, inject); } if (typeof /* Cannot get final name for export "default" in "./plugins/vue-tailwind.js" (known exports: , known reexports: ) */ undefined === 'function') { await /* Cannot get final name for export "default" in "./plugins/vue-tailwind.js" (known exports: , known reexports: ) */ undefined(app.context, inject); } if (typeof /* Cannot get final name for export "default" in "./plugins/vue-money.js" (known exports: , known reexports: ) */ undefined === 'function') { await /* Cannot get final name for export "default" in "./plugins/vue-money.js" (known exports: , known reexports: ) */ undefined(app.context, inject); } if (typeof /* Cannot get final name for export "default" in "./plugins/password-strength-indicator.js" (known exports: , known reexports: ) */ undefined === 'function') { await /* Cannot get final name for export "default" in "./plugins/password-strength-indicator.js" (known exports: , known reexports: ) */ undefined(app.context, inject); } if (typeof facebook_events === 'function') { await facebook_events(app.context, inject); } if (false) {} if (false) {} if (false) {} if (false) {} if (typeof auth === 'function') { await auth(app.context, inject); } // Lock enablePreview in context if (false) {} // Wait for async component to be resolved first await new Promise((resolve, reject) => { router.push(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: ./.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: ./.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 // 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; }; }; 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 = []; 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(); } /* ** 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; }); /***/ }), /* 127 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/CookieBanner.vue?vue&type=template&id=4dcf2014& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.showBanner),expression:"showBanner"}],staticClass:"bg-black text-white box-border flex flex-nowrap font-sans text-base overflow-hidden relative z-50 flex-row py-4 px-7 w-full top-0 left-0 right-0",attrs:{"role":"dialog","aria-live":"polite","aria-label":"cookieconsent","aria-describedby":"cookieconsent:desc"}},[_vm._ssrNode("<span id=\"cookieconsent:desc\" class=\"flex-auto block max-w-full mr-4 p-1\">","</span>",[_vm._ssrNode("\n This website uses cookies to ensure you get the best experience on our\n website.\n "),_c('nuxt-link',{staticClass:"inline-block underline",attrs:{"to":"/privacy-policy/"}},[_vm._v("\n Learn more\n ")])],2),_vm._ssrNode(" <div class=\"flex content-between items-center\"><a aria-label=\"dismiss cookie message\" role=\"button\" tabindex=\"0\" class=\"border-transparent border-solid border-2 text-black cursor-pointer block font-bold py-1.5 px-3 text-center whitespace-nowrap bg-yellow\">\n Got it!\n </a></div>")],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/CookieBanner.vue?vue&type=template&id=4dcf2014& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/CookieBanner.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var CookieBannervue_type_script_lang_js_ = ({ data() { return { showBanner: this.$cookies.get("cookiebanner") !== "dismissed" }; }, methods: { closeBanner() { this.showBanner = false; this.$cookies.set('is_sidebar_open', "no"); this.$cookies.set("cookiebanner", "dismissed"); } } }); // CONCATENATED MODULE: ./components/CookieBanner.vue?vue&type=script&lang=js& /* harmony default export */ var components_CookieBannervue_type_script_lang_js_ = (CookieBannervue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/CookieBanner.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( components_CookieBannervue_type_script_lang_js_, render, staticRenderFns, false, null, null, "56b606d0" ) /* harmony default export */ var CookieBanner = __webpack_exports__["default"] = (component.exports); /***/ }), /* 128 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Menu/LoggedOutMenu.vue?vue&type=template&id=30beed07&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"lg:col-span-4 lg:flex lg:items-center lg:justify-center"},[_vm._ssrNode("<div class=\"hidden lg:block\" data-v-30beed07>","</div>",_vm._l((_vm.links),function(link,key){return _c('NuxtLink',{key:key,staticClass:"nav-link",attrs:{"to":link.url}},[_vm._v(_vm._s(link.name))])}),1),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"ml-5 block lg:hidden\" data-v-30beed07>","</div>",[_vm._ssrNode("<button class=\"block relative w-10 focus:outline-none\" data-v-30beed07><span"+(_vm._ssrClass("block mb-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? 'rotate-45 translate-y-2' : ''))+" data-v-30beed07></span> <span"+(_vm._ssrClass("block my-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? 'opacity-0' : ''))+" data-v-30beed07></span> <span"+(_vm._ssrClass("block mt-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? '-rotate-45 -translate-y-3' : ''))+" data-v-30beed07></span></button> "),(_vm.menuOpen)?_vm._ssrNode("<div class=\"absolute z-20 top-full right-0 w-full bg-white shadow-lg\" data-v-30beed07>","</div>",_vm._l((_vm.links),function(link,key){return _vm._ssrNode("<div data-v-30beed07>","</div>",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:"mobile-nav-link px-4 md:px-8 py-3",attrs:{"to":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0):_vm._e()],2),_vm._ssrNode(" "+((_vm.menuOpen)?("<div class=\"fixed z-10 top-0 left-0 w-full h-full\" data-v-30beed07></div>"):"<!---->"))],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/layout/Menu/LoggedOutMenu.vue?vue&type=template&id=30beed07&scoped=true& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Menu/LoggedOutMenu.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var LoggedOutMenuvue_type_script_lang_js_ = ({ data() { return { menuOpen: false, links: [{ name: 'Therapists', url: '/therapists' }, { name: 'Blog', url: '/blog' }, { name: 'About', url: '/about' }, { name: 'Community', url: '/community' }, { name: 'Partnerships', url: '/partnerships' }, { name: 'Help', url: '/help' }] }; }, methods: { onLinkClick() { this.menuOpen = false; } } }); // CONCATENATED MODULE: ./components/layout/Menu/LoggedOutMenu.vue?vue&type=script&lang=js& /* harmony default export */ var Menu_LoggedOutMenuvue_type_script_lang_js_ = (LoggedOutMenuvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/layout/Menu/LoggedOutMenu.vue function injectStyles (context) { var style0 = __webpack_require__(48) if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Menu_LoggedOutMenuvue_type_script_lang_js_, render, staticRenderFns, false, injectStyles, "30beed07", "6e1bbcb0" ) /* harmony default export */ var LoggedOutMenu = __webpack_exports__["default"] = (component.exports); /***/ }), /* 129 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Menu/LoggedInMenu.vue?vue&type=template&id=57ee62f1&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"ml-5 lg:mr-3 order-3 lg:order-1"},[_vm._ssrNode("<div class=\"relative z-20 hidden lg:flex lg:items-center lg:justify-center\" data-v-57ee62f1>","</div>",_vm._l((_vm.links),function(link,key){return _vm._ssrNode("<div data-v-57ee62f1>","</div>",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:"mx-2 xl:mx-3 nav-link",attrs:{"to":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0),_vm._ssrNode(" "),_vm._ssrNode("<div class=\"block lg:hidden\" data-v-57ee62f1>","</div>",[_vm._ssrNode("<button class=\"block relative w-10 focus:outline-none\" data-v-57ee62f1><span"+(_vm._ssrClass("block mb-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? 'rotate-45 translate-y-2' : ''))+" data-v-57ee62f1></span> <span"+(_vm._ssrClass("block my-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? 'opacity-0' : ''))+" data-v-57ee62f1></span> <span"+(_vm._ssrClass("block mt-1.5 h-1 w-full bg-black rounded transform transition duration-100",_vm.menuOpen ? '-rotate-45 -translate-y-3' : ''))+" data-v-57ee62f1></span></button> "),(_vm.menuOpen)?_vm._ssrNode("<div class=\"absolute z-20 top-full right-0 w-full bg-white shadow-lg\" data-v-57ee62f1>","</div>",_vm._l((_vm.links),function(link,key){return _vm._ssrNode("<div data-v-57ee62f1>","</div>",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:"mobile-nav-link px-4 md:px-8 py-3",attrs:{"to":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0):_vm._e()],2),_vm._ssrNode(" "+((_vm.menuOpen)?("<div class=\"fixed z-10 top-0 left-0 w-full h-full\" data-v-57ee62f1></div>"):"<!---->"))],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./components/layout/Menu/LoggedInMenu.vue?vue&type=template&id=57ee62f1&scoped=true& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/@nuxt/components/dist/loader.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./components/layout/Menu/LoggedInMenu.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ var LoggedInMenuvue_type_script_lang_js_ = ({ data() { return { menuOpen: false, links: [{ role: 'all', name: 'Home', url: '/therapist' }, { role: 'therapist', name: 'Bookings', url: '/therapist/bookings' }, { role: 'hero', name: 'Bookings', url: '/bookings' }, { role: 'therapist', name: 'Clients', url: '/therapist/clients' }, { role: 'therapist', name: 'Money Manager', url: '/therapist/money' }, { role: 'all', name: 'Therapists', url: '/therapists' }, { role: 'all', name: 'Blog', url: '/blog' }, { role: 'all', name: 'Help', url: '/help' }] }; }, computed: { role() { if (this.$auth.loggedIn == true) { return this.$auth.user.data.role.name; } return 'all'; } }, methods: { onLinkClick() { this.menuOpen = false; } } }); // CONCATENATED MODULE: ./components/layout/Menu/LoggedInMenu.vue?vue&type=script&lang=js& /* harmony default export */ var Menu_LoggedInMenuvue_type_script_lang_js_ = (LoggedInMenuvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1); // CONCATENATED MODULE: ./components/layout/Menu/LoggedInMenu.vue function injectStyles (context) { var style0 = __webpack_require__(50) if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( Menu_LoggedInMenuvue_type_script_lang_js_, render, staticRenderFns, false, injectStyles, "57ee62f1", "4fc23c99" ) /* harmony default export */ var LoggedInMenu = __webpack_exports__["default"] = (component.exports); /***/ }), /* 130 */ /***/ (function(module, exports) { module.exports = require("url"); /***/ }) /******/ ]); //# sourceMappingURL=server.js.map