1/*! For license information please see app-db459c1185e057cfe851.js.LICENSE.txt */ 2(self.webpackChunkdublincitypass=self.webpackChunkdublincitypass||[]).push([[524],{20:function(t,e,a){const i=a(9377),{getResourceURLsForPathname:n,loadPage:s,loadPageSync:r}=a(6814).Zf;e.N=function(t,e,a,o){void 0===e&&(e={});let l=i.map(a=>{if(!a.plugin[t])return;e.getResourceURLsForPathname=n,e.loadPage=s,e.loadPageSync=r;const i=a.plugin[t](e,a.options);return i&&o&&(e=o({args:e,result:i,plugin:a})),i});return l=l.filter(t=>void 0!==t),l.length>0?l:a?[a]:[]},e.v=(t,e,a)=>i.reduce((a,i)=>i.plugin[t]?a.then(()=>i.plugin[t](e,i.options)):a,Promise.resolve())},311:function(t){"use strict";t.exports=function(t,e,a,i,n,s,r,o){if(!t){var l;if(void 0===e)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[a,i,n,s,r,o],u=0;(l=new Error(e.replace(/%s/g,function(){return c[u++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},525:function(t,e,a){"use strict";function i(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]}function n(){return"undefined"!=typeof WeakMap?new WeakMap:{add:i,delete:i,get:i,set:i,has:function(t){return!1}}}a.r(e),a.d(e,{outdent:function(){return g}}),t=a.hmd(t);var s=Object.prototype.hasOwnProperty,r=function(t,e){return s.call(t,e)};function o(t,e){for(var a in e)r(e,a)&&(t[a]=e[a]);return t}var l=/^[ \t]*(?:\r\n|\r|\n)/,c=/(?:\r\n|\r|\n)[ \t]*$/,u=/^(?:[\r\n]|$)/,h=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,d=/^[ \t]*[\r\n][ \t\r\n]*$/;function p(t,e,a){var i=0,n=t[0].match(h);n&&(i=n[1].length);var s=new RegExp("(\\r\\n|\\r|\\n).{0,"+i+"}","g");e&&(t=t.slice(1));var r=a.newline,o=a.trimLeadingNewline,u=a.trimTrailingNewline,d="string"==typeof r,p=t.length;return t.map(function(t,e){return t=t.replace(s,"$1"),0===e&&o&&(t=t.replace(l,"")),e===p-1&&u&&(t=t.replace(c,"")),d&&(t=t.replace(/\r\n|\n|\r/g,function(t){return r})),t})}var g=function t(e){var a=n(),i=n(),s=o(function n(s){for(var l,c=[],h=1;h<arguments.length;h++)c[h-1]=arguments[h];if(r(l=s,"raw")&&r(l,"length")){var m=s,f=(c[0]===n||c[0]===g)&&d.test(m[0])&&u.test(m[1]),v=f?i:a,y=v.get(m);if(y||(y=p(m,f,e),v.set(m,y)),0===c.length)return y[0];var b=function(t,e){for(var a="",i=0,n=t.length;i<n;i++)a+=t[i],i<n-1&&(a+=e[i]);return a}(y,f?c.slice(1):c);return b}return t(o(o({},e),s||{}))},{string:function(t){return p([t],!1,e)[0]}});return s}({trimLeadingNewline:!0,trimTrailingNewline:!0});e.default=g;try{t.exports=g,Object.defineProperty(g,"__esModule",{value:!0}),g.default=g,g.outdent=g}catch(m){}},595:function(t,e){"use strict";function a(t,e,a){var i=t.length;return(a=null==a?0:a)<0?a=0:a>i&&(a=i),e="".concat(e),t.slice(a,a+e.length)==e}function i(){return"undefined"==typeof window?null:window.navigator.languages&&window.navigator.languages[0]||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage||window.navigator.systemLanguage||null}function n(t){return t.toLowerCase().replace(/-/,"_")}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var s=function(t){if(!t)return i();var e=t.languages,s=t.fallback;if(!t.languages)return s;var r=n(i());if(!r)return s;var o=e.filter(function(t){return n(t)===r});return o.length>0?o[0]||s:e.filter(function(t){return a(r,t)||a(t,r)})[0]||s};e.default=s},626:function(t,e,a){"use strict";a.r(e);var i=a(20);"https:"!==window.location.protocol&&"localhost"!==window.location.hostname?console.error("Service workers can only be used over HTTPS, or on localhost for development"):"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(function(t){t.addEventListener("updatefound",()=>{(0,i.N)("onServiceWorkerUpdateFound",{serviceWorker:t});const e=t.installing;console.log("installingWorker",e),e.addEventListener("statechange",()=>{switch(e.state){case"installed":navigator.serviceWorker.controller?(window.___swUpdated=!0,(0,i.N)("onServiceWorkerUpdateReady",{serviceWorker:t}),window.___failedResources&&(console.log("resources failed, SW updated - reloading"),window.location.reload())):(console.log("Content is now available offline!"),(0,i.N)("onServiceWorkerInstalled",{serviceWorker:t}));break;
2case"redundant":console.error("The installing service worker became redundant."),(0,i.N)("onServiceWorkerRedundant",{serviceWorker:t});break;case"activated":(0,i.N)("onServiceWorkerActive",{serviceWorker:t})}})})}).catch(function(t){console.error("Error during service worker registration:",t)})},700:function(t,e){e.U=()=>""},963:function(t,e,a){"use strict";a.r(e);var i=a(5299),n=a(6814),s=a(8428);e.default=t=>{let{location:e}=t;const a=n.Ay.loadPageSync(e.pathname);return a?i.default.createElement(s.A,{location:e,pageResources:a,...a.json}):null}},1250:function(t){t.exports=function(t,e){return e||(e=t.slice(0)),t.raw=e,t},t.exports.__esModule=!0,t.exports.default=t.exports},1468:function(t,e){"use strict";e.registerServiceWorker=function(){return"true"!=={}.GATSBY_IS_PREVIEW};var a=/^(stylesheet|preload)$/,i=[];function n(t,e){if(!window.___swUpdated&&"serviceWorker"in navigator){var a=navigator.serviceWorker;if(null===a.controller)i.push(t);else{var n=e(t);a.controller.postMessage({gatsbyApi:"setPathResources",path:t,resources:n})}}}e.onServiceWorkerActive=function(t){var e=t.getResourceURLsForPathname,n=t.serviceWorker;if("true"!=={}.GATSBY_IS_PREVIEW)if(window.___swUpdated)n.active.postMessage({gatsbyApi:"clearPathResources"});else{var s=document.querySelectorAll("\n head > script[src],\n head > link[href],\n head > style[data-href]\n "),r=[].slice.call(s).filter(function(t){return"LINK"!==t.tagName||a.test(t.getAttribute("rel"))}).map(function(t){return t.src||t.href||t.getAttribute("data-href")}),o=[];i.forEach(function(t){var a=e(t);o.push.apply(o,a),n.active.postMessage({gatsbyApi:"setPathResources",path:t,resources:a})}),[].concat(r,o).forEach(function(t){var e=document.createElement("link");e.rel="prefetch",e.href=t,e.onload=e.remove,e.onerror=e.remove,document.head.appendChild(e)})}},e.onRouteUpdate=function(t){var e=t.location,a=t.getResourceURLsForPathname;n(e.pathname.replace("",""),a),"serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"enableOfflineShell"})},e.onPostPrefetchPathname=function(t){n(t.pathname,t.getResourceURLsForPathname)}},2024:function(t,e,a){"use strict";a.d(e,{Jr:function(){return r},dd:function(){return n},hr:function(){return o},j$:function(){return s}});var i=a(5299);const n=i.default.createContext({}),s=i.default.createContext({}),r=i.default.createContext({}),o=i.default.createContext({})},2107:function(t,e,a){"use strict";var i=a(4994);e.__esModule=!0,e.wrapPageElement=void 0;var n=i(a(4634)),s=(i(a(1250)),i(a(5299))),r=a(4794),o=i(a(595)),l=a(3773),c=i(a(5543)),u=a(4494),h=a(3064);i(a(525));e.wrapPageElement=function(t,e){var a,i,d=t.element,p=t.props,g=e.i18nextOptions,m=void 0===g?{}:g,f=e.redirect,v=void 0===f||f,y=e.generateDefaultLanguagePage,b=void 0!==y&&y,k=e.siteUrl,w=e.localeJsonNodeName,P=void 0===w?"locales":w,x=e.fallbackLanguage,S=e.trailingSlash;if(p){var j=p.data,E=p.pageContext,L=p.location,C=E.i18n,R=C.routed,z=C.language,O=C.languages,N=C.originalPath,$=C.defaultLanguage,_=C.path;if(v&&!R){var A=L.search;if("undefined"!=typeof window){var T=window.localStorage.getItem(l.LANGUAGE_KEY)||(0,o.default)({languages:O,fallback:x||z});if(O.includes(T)||(T=z),window.localStorage.setItem(l.LANGUAGE_KEY,T),T!==$){var F=A||"",D="never"===S,I=(0,r.withPrefix)("/"+T+function(t,e){var a=(0,r.withPrefix)("/"),i=t;return t.startsWith(a)&&(i=t.replace(a,"/")),e&&i.endsWith("/")?i.slice(0,-1):i}(L.pathname,D)+F+L.hash);return window.___replace(I),null}}}var U=(null==j||null===(a=j[P])||void 0===a?void 0:a.edges)||[];O.length>1&&U.length,0;var M=U.map(function(t){return t.node.ns}),H=(null===(i=m.defaultNS)||void 0===i?void 0:i.toString())||"translation";H=M.find(function(t){return t!==H})||H;var V=M.filter(function(t){return t!==H}),W=U.reduce(function(t,e){var a=e.node,i="object"==typeof a.data?a.data:JSON.parse(a.data);return a.language in t||(t[a.language]={}),t[a.language][a.ns||H]=i,t},{}),K=c.default.createInstance();return K.init((0,n.default)({},m,{resources:W,lng:z,fallbackLng:$,defaultNS:H,fallbackNS:V,react:(0,n.default)({},m.react,{useSuspense:!1})})),K.language!==z&&K.changeLanguage(z),function(t,e){return function(a){return s.default.createElement(u.I18nextProvider,{i18n:t},s.default.createElement(h.I18nextContext.Provider,{value:e},a))}}(K,{routed:R,language:z,languages:O,originalPath:N,defaultLanguage:$,generateDefaultLanguagePage:b,siteUrl:k,path:_})(d)}}},2311:function(t,e,a){"use strict";
2e.__esModule=!0,e.onInitialClientRender=void 0;a(5535),a(9300);e.onInitialClientRender=()=>{}},2475:function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.__esModule=!0,t.exports.default=t.exports},2549:function(t,e,a){var i;t.exports=(i=a(963))&&i.default||i},2620:function(t,e,a){"use strict";a.r(e),a.d(e,{onRouteUpdate:function(){return i}});const i=function(t,e){let{location:a}=t;void 0===e&&(e={stripQueryString:!1});const i=document.querySelector("link[rel='canonical']"),n=i.getAttribute("href"),s=i.getAttribute("data-baseProtocol"),r=i.getAttribute("data-baseHost");if(n&&s&&r){let t=`${s}//${r}${a.pathname}`;const{stripQueryString:n}=e;n||(t+=a.search),t+=a.hash,i.setAttribute("href",`${t}`)}}},2958:function(t,e,a){const{wrapPageElement:i}=a(2107);e.wrapPageElement=i},3064:function(t,e,a){"use strict";var i=a(4994);e.__esModule=!0,e.I18nextContext=void 0;var n=i(a(5299)).default.createContext({language:"en",languages:["en"],routed:!1,defaultLanguage:"en",generateDefaultLanguagePage:!1,originalPath:"/",path:"/"});e.I18nextContext=n},3145:function(t,e,a){"use strict";function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,i=Array(e);a<e;a++)i[a]=t[a];return i}a.d(e,{A:function(){return i}})},3215:function(t,e,a){"use strict";var i=a(4994);e.__esModule=!0,e.ScrollHandler=e.ScrollContext=void 0;var n=i(a(2475)),s=i(a(6221)),r=function(t,e){if(!e&&t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var a=c(e);if(a&&a.has(t))return a.get(t);var i={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var r=n?Object.getOwnPropertyDescriptor(t,s):null;r&&(r.get||r.set)?Object.defineProperty(i,s,r):i[s]=t[s]}i.default=t,a&&a.set(t,i);return i}(a(5299)),o=i(a(5556)),l=a(4351);function c(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,a=new WeakMap;return(c=function(t){return t?a:e})(t)}var u=r.createContext(new l.SessionStorage);
2e.ScrollContext=u,u.displayName="GatsbyScrollContext";var h=function(t){function e(){for(var e,a=arguments.length,i=new Array(a),s=0;s<a;s++)i[s]=arguments[s];return(e=t.call.apply(t,[this].concat(i))||this)._stateStorage=new l.SessionStorage,e._isTicking=!1,e._latestKnownScrollY=0,e.scrollListener=function(){e._latestKnownScrollY=window.scrollY,e._isTicking||(e._isTicking=!0,requestAnimationFrame(e._saveScroll.bind((0,n.default)(e))))},e.windowScroll=function(t,a){e.shouldUpdateScroll(a,e.props)&&window.scrollTo(0,t)},e.scrollToHash=function(t,a){var i=document.getElementById(t.substring(1));i&&e.shouldUpdateScroll(a,e.props)&&i.scrollIntoView()},e.shouldUpdateScroll=function(t,a){var i=e.props.shouldUpdateScroll;return!i||i.call((0,n.default)(e),t,a)},e}(0,s.default)(e,t);var a=e.prototype;return a._saveScroll=function(){var t=this.props.location.key||null;t&&this._stateStorage.save(this.props.location,t,this._latestKnownScrollY),this._isTicking=!1},a.componentDidMount=function(){var t;window.addEventListener("scroll",this.scrollListener);var e=this.props.location,a=e.key,i=e.hash;a&&(t=this._stateStorage.read(this.props.location,a)),i?this.scrollToHash(decodeURI(i),void 0):t&&this.windowScroll(t,void 0)},a.componentWillUnmount=function(){window.removeEventListener("scroll",this.scrollListener)},a.componentDidUpdate=function(t){var e,a=this.props.location,i=a.hash,n=a.key;n&&(e=this._stateStorage.read(this.props.location,n)),i?this.scrollToHash(decodeURI(i),t):this.windowScroll(e,t)},a.render=function(){return r.createElement(u.Provider,{value:this._stateStorage},this.props.children)},e}(r.Component);e.ScrollHandler=h,h.propTypes={shouldUpdateScroll:o.default.func,children:o.default.element.isRequired,location:o.default.object.isRequired}},3309:function(t,e){"use strict";e.__esModule=!0,e.getForwards=function(t){return null==t?void 0:t.flatMap(t=>(null==t?void 0:t.forward)||[])}},3662:function(t,e,a){"use strict";function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}a.d(e,{A:function(){return i}})},3721:function(t,e,a){"use strict";e.__esModule=!0,e.useScrollRestoration=function(t){var e=(0,s.useLocation)(),a=(0,n.useContext)(i.ScrollContext),r=(0,n.useRef)(null);return(0,n.useLayoutEffect)(function(){if(r.current){var i=a.read(e,t);r.current.scrollTo(0,i||0)}},[e.key]),{ref:r,onScroll:function(){r.current&&a.save(e,t,r.current.scrollTop)}}};var i=a(3215),n=a(5299),s=a(6462)},3773:function(t,e){"use strict";e.__esModule=!0,e.LANGUAGE_KEY=void 0;e.LANGUAGE_KEY="gatsby-i18next-language"},4351:function(t,e){"use strict";e.__esModule=!0,e.SessionStorage=void 0;var a="___GATSBY_REACT_ROUTER_SCROLL",i=function(){function t(){}var e=t.prototype;return e.read=function(t,e){var i=this.getStateKey(t,e);try{var n=window.sessionStorage.getItem(i);return n?JSON.parse(n):0}catch(s){return window&&window[a]&&window[a][i]?window[a][i]:0}},e.save=function(t,e,i){var n=this.getStateKey(t,e),s=JSON.stringify(i);try{window.sessionStorage.setItem(n,s)}catch(r){window&&window[a]||(window[a]={}),window[a][n]=JSON.parse(s)}},e.getStateKey=function(t,e){var a="@@scroll|"+t.pathname;return null==e?a:a+"|"+e},t}();e.SessionStorage=i},4494:function(t,e,a){"use strict";a.r(e),a.d(e,{I18nContext:function(){return At},I18nextProvider:function(){return Xt},IcuTrans:function(){return Kt},IcuTransWithoutContext:function(){return Wt},Trans:function(){return It},TransWithoutContext:function(){return $t},Translation:function(){return Yt},composeInitialProps:function(){return Ft},date:function(){return ee},getDefaults:function(){return kt},getI18n:function(){return xt},getInitialProps:function(){return Dt},initReactI18next:function(){return _t},nodesToString:function(){return Ct},number:function(){return ie},plural:function(){return se},select:function(){return ne},selectOrdinal:function(){return re},setDefaults:function(){return bt},setI18n:function(){return Pt},time:function(){return ae},useSSR:function(){return Zt},useTranslation:function(){return Qt},withSSR:function(){return te},withTranslation:function(){return Gt}});var i=a(5299);const n=t=>"string"==typeof t,s=()=>{let t,e;const a=new Promise((a,i)=>{t=a,e=i});return a.resolve=t,a.reject=e,a},r=t=>null==t?"":String(t),o=/###/g,l=t=>t&&t.includes("###")?t.replace(o,"."):t,c=t=>!t||n(t),u=(t,e,a)=>{const i=n(e)?e.split("."):e;let s=0;for(;s<i.length-1;){if(c(t))return{};const e=l(i[s]);!t[e]&&a&&(t[e]=new a),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{},++s}return c(t)?{}:{obj:t,k:l(i[s])}},h=(t,e,a)=>{const{obj:i,k:n}=u(t,e,Object);if(void 0!==i||1===e.length)return void(i[n]=a);let s=e[e.length-1],r=e.slice(0,e.length-1),o=u(t,r,Object);for(;void 0===o.obj&&r.length;)s=`${r[r.length-1]}.${s}`,r=r.slice(0,r.length-1),o=u(t,r,Object),o?.obj&&void 0!==o.obj[`${o.k}.${s}`]&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=a},d=(t,e)=>{const{obj:a,k:i}=u(t,e);if(a&&Object.prototype.hasOwnProperty.call(a,i))return a[i]},p=(t,e,a)=>{for(const i in e)"__proto__"!==i&&"constructor"!==i&&(Object.prototype.hasOwnProperty.call(t,i)?n(t[i])||t[i]instanceof String||n(e[i])||e[i]instanceof String?a&&(t[i]=e[i]):p(t[i],e[i],a):t[i]=e[i]);return t},g=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),m={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},f=t=>n(t)?t.replace(/[&<>
2"'\/]/g,t=>m[t]):t;const v=[" ",",","?","!",";"],y=new class{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const e=this.regExpMap.get(t);if(void 0!==e)return e;const a=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,a),this.regExpQueue.push(t),a}}(20),b=(t,e,a=".")=>{if(!t)return;if(t[e]){if(!Object.prototype.hasOwnProperty.call(t,e))return;return t[e]}const i=e.split(a);let n=t;for(let s=0;s<i.length;){if(!n||"object"!=typeof n)return;let t,e="";for(let r=s;r<i.length;++r)if(r!==s&&(e+=a),e+=i[r],t=n[e],void 0!==t){if(["string","number","boolean"].includes(typeof t)&&r<i.length-1)continue;s+=r-s+1;break}n=t}return n},k=t=>t?.replace(/_/g,"-"),w={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}};class P{constructor(t,e={}){this.init(t,e)}init(t,e={}){this.prefix=e.prefix||"i18next:",this.logger=t||w,this.options=e,this.debug=e.debug}log(...t){return this.forward(t,"log","",!0)}warn(...t){return this.forward(t,"warn","",!0)}error(...t){return this.forward(t,"error","")}deprecate(...t){return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(t,e,a,i){return i&&!this.debug?null:(t=t.map(t=>n(t)?t.replace(/[\r\n\x00-\x1F\x7F]/g," "):t),n(t[0])&&(t[0]=`${a}${this.prefix} ${t[0]}`),this.logger[e](t))}create(t){return new P(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new P(this.logger,t)}}var x=new P;class S{constructor(){this.observers={}}on(t,e){return t.split(" ").forEach(t=>{this.observers[t]||(this.observers[t]=new Map);const a=this.observers[t].get(e)||0;this.observers[t].set(e,a+1)}),this}off(t,e){this.observers[t]&&(e?this.observers[t].delete(e):delete this.observers[t])}once(t,e){const a=(...i)=>{e(...i),this.off(t,a)};return this.on(t,a),this}emit(t,...e){if(this.observers[t]){Array.from(this.observers[t].entries()).forEach(([t,a])=>{for(let i=0;i<a;i++)t(...e)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(([a,i])=>{for(let n=0;n<i;n++)a(t,...e)})}}}class j extends S{constructor(t,e={ns:["translation"],defaultNS:"translation"}){super(),this.data=t||{},this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.includes(t)||this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,a,i={}){const s=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,r=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;t.includes(".")?o=t.split("."):(o=[t,e],a&&(Array.isArray(a)?o.push(...a):n(a)&&s?o.push(...a.split(s)):o.push(a)));const l=d(this.data,o);return l||e||a||!t.includes(".")||(t=o[0],e=o[1],a=o.slice(2).join(".")),!l&&r&&n(a)?b(this.data?.[t]?.[e],a,s):l}addResource(t,e,a,i,n={silent:!1}){const s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[t,e];a&&(r=r.concat(s?a.split(s):a)),t.includes(".")&&(r=t.split("."),i=e,e=r[1]),this.addNamespaces(e),h(this.data,r,i),n.silent||this.emit("added",t,e,a,i)}addResources(t,e,a,i={silent:!1}){for(const s in a)(n(a[s])||Array.isArray(a[s]))&&this.addResource(t,e,s,a[s],{silent:!0});i.silent||this.emit("added",t,e,a)}addResourceBundle(t,e,a,i,n,s={silent:!1,skipCopy:!1}){let r=[t,e];t.includes(".")&&(r=t.split("."),i=a,a=e,e=r[1]),this.addNamespaces(e);let o=d(this.data,r)||{};s.skipCopy||(a=JSON.parse(JSON.stringify(a))),i?p(o,a,n):o={...o,...a},h(this.data,r,o),s.silent||this.emit("added",t,e,a)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return void 0!==this.getResource(t,e)}getResourceBundle(t,e){return e||(e=this.options.defaultNS),this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find(t=>e[t]&&Object.keys(e[t]).length>0)}toJSON(){return this.data}}var E={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,a,i,n){return t.forEach(t=>{e=this.processors[t]?.process(e,a,i,n)??e}),e}};const L=Symbol("i18next/PATH_KEY");function C(t,e){const{[L]:a}=t(function(){const t=[],e=Object.create(null);let a;return e.get=(i,n)=>(a?.revoke?.(),n===L?t:(t.push(n),a=Proxy.revocable(i,e),a.proxy)),Proxy.revocable(Object.create(null),e).proxy}()),i=e?.keySeparator??".",n=e?.nsSeparator??":",s="strict"===e?.enableSelector;if(a.length>1&&n){const t=e?.ns,r=s?Array.isArray(t)?t:t?[t]:null:Array.isArray(t)?t:null;if(r){if((s?r:r.length>1?r.slice(1):[]).includes(a[0]))return`${a[0]}${n}${a.slice(1).join(i)}`}}return a.join(i)}const R=t=>!n(t)&&"boolean"!=typeof t&&"number"!=typeof t;class z extends S{constructor(t,e={}){super(),((t,e,a)=>{t.forEach(t=>{e[t]&&(a[t]=e[t])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
2i18nFormat","utils"],t,this),this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=x.create("translator"),this.checkedLoadedFor={}}changeLanguage(t){t&&(this.language=t)}exists(t,e={interpolation:{}}){const a={...e};if(null==t)return!1;const i=this.resolve(t,a);if(void 0===i?.res)return!1;const n=R(i.res);return!1!==a.returnObjects||!n}extractFromKey(t,e){let a=void 0!==e.nsSeparator?e.nsSeparator:this.options.nsSeparator;void 0===a&&(a=":");const i=void 0!==e.keySeparator?e.keySeparator:this.options.keySeparator;let s=e.ns||this.options.defaultNS||[];const r=a&&t.includes(a),o=!(this.options.userDefinedKeySeparator||e.keySeparator||this.options.userDefinedNsSeparator||e.nsSeparator||((t,e,a)=>{e=e||"",a=a||"";const i=v.filter(t=>!e.includes(t)&&!a.includes(t));if(0===i.length)return!0;const n=y.getRegExp(`(${i.map(t=>"?"===t?"\\?":t).join("|")})`);let s=!n.test(t);if(!s){const e=t.indexOf(a);e>0&&!n.test(t.substring(0,e))&&(s=!0)}return s})(t,a,i));if(r&&!o){const e=t.match(this.interpolator.nestingRegexp);if(e&&e.length>0)return{key:t,namespaces:n(s)?[s]:s};const r=t.split(a);(a!==i||a===i&&this.options.ns.includes(r[0]))&&(s=r.shift()),t=r.join(i)}return{key:t,namespaces:n(s)?[s]:s}}translate(t,e,a){let i="object"==typeof e?{...e}:e;if("object"!=typeof i&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof i&&(i={...i}),i||(i={}),null==t)return"";"function"==typeof t&&(t=C(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(t=>"function"==typeof t?C(t,{...this.options,...i}):String(t));const s=void 0!==i.returnDetails?i.returnDetails:this.options.returnDetails,r=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,{key:o,namespaces:l}=this.extractFromKey(t[t.length-1],i),c=l[l.length-1];let u=void 0!==i.nsSeparator?i.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");const h=i.lng||this.language,d=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===h?.toLowerCase())return d?s?{res:`${c}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:h,usedNS:c,usedParams:this.getUsedParamsDetails(i)}:`${c}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:h,usedNS:c,usedParams:this.getUsedParamsDetails(i)}:o;const p=this.resolve(t,i);let g=p?.res;const m=p?.usedKey||o,f=p?.exactUsedKey||o,v=void 0!==i.joinArrays?i.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==i.count&&!n(i.count),k=z.hasDefaultValue(i),w=b?this.pluralResolver.getSuffix(h,i.count,i):"",P=i.ordinal&&b?this.pluralResolver.getSuffix(h,i.count,{ordinal:!1}):"",x=b&&!i.ordinal&&0===i.count,S=x&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${w}`]||i[`defaultValue${P}`]||i.defaultValue;let j=g;y&&!g&&k&&(j=S);const E=R(j),L=Object.prototype.toString.apply(j);if(!(y&&j&&E)||["[object Number]","[object Function]","[object RegExp]"].includes(L)||n(v)&&Array.isArray(j))if(y&&n(v)&&Array.isArray(g))g=g.join(v),g&&(g=this.extendTranslation(g,t,i,a));else{let e=!1,n=!1;!this.isValidLookup(g)&&k&&(e=!0,g=S),this.isValidLookup(g)||(n=!0,g=o);const s=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:g,l=k&&S!==g&&this.options.updateMissing;if(n||e||l){if(this.logger.log(l?"updateKey":"missingKey",h,c,b&&!l?`${o}${this.pluralResolver.getSuffix(h,i.count,i)}`:o,l?S:g),r){const t=this.resolve(o,{...i,keySeparator:!1});t&&t.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let t=[];const e=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if("fallback"===this.options.saveMissingTo&&e&&e[0])for(let i=0;i<e.length;i++)t.push(e[i]);else"all"===this.options.saveMissingTo?t=this.languageUtils.toResolveHierarchy(i.lng||this.language):t.push(i.lng||this.language);const a=(t,e,a)=>{const n=k&&a!==g?a:s;this.options.missingKeyHandler?this.options.missingKeyHandler(t,c,e,n,l,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(t,c,e,n,l,i),this.emit
vendor: 9,216 bytes, line 2
2("missingKey",t,c,e,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?t.forEach(t=>{const e=this.pluralResolver.getSuffixes(t,i);x&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!e.includes(`${this.options.pluralSeparator}zero`)&&e.push(`${this.options.pluralSeparator}zero`),e.forEach(e=>{a([t],o+e,i[`defaultValue${e}`]||S)})}):a(t,o,S))}g=this.extendTranslation(g,t,i,p,a),n&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${c}${u}${o}`),(n||e)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}${u}${o}`:o,e?g:void 0,i))}else{if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const t=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,j,{...i,ns:l}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(p.res=t,p.usedParams=this.getUsedParamsDetails(i),p):t}if(r){const t=Array.isArray(j),e=t?[]:{},a=t?f:m;for(const n in j)if(Object.prototype.hasOwnProperty.call(j,n)){const t=`${a}${r}${n}`;e[n]=k&&!g?this.translate(t,{...i,defaultValue:R(S)?S[n]:void 0,joinArrays:!1,ns:l}):this.translate(t,{...i,joinArrays:!1,ns:l}),e[n]===t&&(e[n]=j[n])}g=e}}return s?(p.res=g,p.usedParams=this.getUsedParamsDetails(i),p):g}extendTranslation(t,e,a,i,s){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...a},a.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init({...a,interpolation:{...this.options.interpolation,...a.interpolation}});const r=n(t)&&(void 0!==a?.interpolation?.skipOnVariables?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let o;if(r){const e=t.match(this.interpolator.nestingRegexp);o=e&&e.length}let l=a.replace&&!n(a.replace)?a.replace:a;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,a.lng||this.language||i.usedLng,a),r){const e=t.match(this.interpolator.nestingRegexp);o<(e&&e.length)&&(a.nest=!1)}!a.lng&&i&&i.res&&(a.lng=this.language||i.usedLng),!1!==a.nest&&(t=this.interpolator.nest(t,(...t)=>s?.[0]!==t[0]||a.context?this.translate(...t,e):(this.logger.warn(`It seems you are nesting recursively key: ${t[0]} in key: ${e[0]}`),null),a)),a.interpolation&&this.interpolator.reset()}const r=a.postProcess||this.options.postProcess,o=n(r)?[r]:r;return null!=t&&o?.length&&!1!==a.applyPostProcessor&&(t=E.handle(o,t,e,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(a)},...a}:a,this)),t}resolve(t,e={}){let a,i,s,r,o;return n(t)&&(t=[t]),Array.isArray(t)&&(t=t.map(t=>"function"==typeof t?C(t,{...this.options,...e}):t)),t.forEach(t=>{if(this.isValidLookup(a))return;const l=this.extractFromKey(t,e),c=l.key;i=c;let u=l.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==e.count&&!n(e.count),d=h&&!e.ordinal&&0===e.count,p=void 0!==e.context&&(n(e.context)||"number"==typeof e.context)&&""!==e.context,g=e.lngs?e.lngs:this.languageUtils.toResolveHierarchy(e.lng||this.language,e.fallbackLng);u.forEach(t=>{this.isValidLookup(a)||(o=t,this.checkedLoadedFor[`${g[0]}-${t}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(o)||(this.checkedLoadedFor[`${g[0]}-${t}`]=!0,this.logger.warn(`key "${i}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(i=>{if(this.isValidLookup(a))return;r=i;const n=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(n,c,i,t,e);else{let t;h&&(t=this.pluralResolver.getSuffix(i,e.count,e));const a=`${this.options.pluralSeparator}zero`,s=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(e.ordinal&&t.startsWith(s)&&n.push(c+t.replace(s,this.options.pluralSeparator)),n.push(c+t),d&&n.push(c+a)),p){const i=`${c}${this.options.contextSeparator||"_"}${e.context}`;n.push(i),h&&(e.ordinal&&t.startsWith(s)&&n.push(i+t.replace(s,this.options.pluralSeparator)),n.push(i+t),d&&n.push(i+a))}}let o;for(;o=n.pop();)this.isValidLookup(a)||(s=o,a=this.getResource(i,t,o,e))}))})}),{res:a,usedKey:i,exactUsedKey:s,usedLng:r,usedNS:o}}isValidLookup(t){return!(void 0===t||!this.options.returnNull&&null===t||!this.options.returnEmptyString&&""===t)}getResource(t,e,a,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,e,a,i):this.resourceStore.getResource(t,e,a,i)}getUsedParamsDetails(t={}){const e=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],a=t.replace&&!n(t.replace);let i=a?t.replace:t;if(a&&void 0!==t.count&&(i={...i,count:t.count}),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!a){i={...i};for(const t of e)delete i[t]}return i}static hasDefaultValue(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&e.startsWith("defaultValue")&&void 0!==t[e])return!0;return!1}}class O{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=x.create("languageUtils"),this.resolveHierarchyCache={}}clearCache(){this.resolveHierarchyCache={}}getScriptPartFromCode(t){if(!(t=k(t))||!t.includes("-"))return null;const e=t.split("-");return 2===e.length?null:(e.pop(),"x"===e[e.length-1].toLowerCase()?null:this.formatLanguageCode(e.join("-")))}getLanguagePartFromCode(t){if(!(t=k(t))||!t.includes("-"))return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if(n(t)&&t.includes("-")){let a;try{a=Intl.getCanonicalLocales(t)[0]}catch(e){}return a&&this.options.lowerCaseLng&&(a=a.toLowerCase()),a||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(t)}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach(t=>{if(e)return;const a=this.formatLanguageCode(t);this.options.supportedLngs&&!this.isSupportedCode(a)||(e=a)}),!e&&this.options.supportedLngs&&t.forEach(t=>{if(e)return;const a=this.getScriptPartFromCode(t);if(this.isSupportedCode(a))return e=a;const i=this.getLanguagePartFromCode(t);if(this.isSupportedCode(i))return e=i;e=this.options.supportedLngs.find(t=>t===i||!(!t.includes("-")&&!i.includes("-"))&&(!(!t.includes("-")||i.includes("-")||t.slice(0,t.indexOf("-"))!==i)||!!(t.startsWith(i)&&i.length>1)))}),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if("function"==typeof t&&(t=t(e)),n(t)&&(t=[t]),Array.isArray(t))return t;if(!e)return t.default||[];let a=t[e];return a||(a=t[this.getScriptPartFromCode(e)]),a||(a=t[this.formatLanguageCode(e)]),a||(a=t[this.getLanguagePartFromCode(e)]),a||(a=t.default),a||[]}toResolveHierarchy(t,e){const a=this.options.fallbackLng,i=Array.isArray(a)?a.join("|"):a;i!==this._cachedFallbackLng&&(this.resolveHierarchyCache={},this._cachedFallbackLng=i);const s=void 0===e||!1===e||n(e),r=void 0===e&&"function"==typeof this.options.fallbackLng;let o=null;if(n(t)&&s&&!r){let a;a=void 0===e?"undefined":!1===e?"boolean:false":`string:${e}`,o=`${t.length}:${t}|${a}`}if(null!==o){const t=this.resolveHierarchyCache[o];if(void 0!==t)return t.slice()}const l=this.getFallbackCodes((!1===e?[]:e)||this.options.fallbackLng||[],t),c=[],u=t=>{t&&(this.isSupportedCode(t)?c.push(t):this.logger.warn(`rejecting language code not found in supportedLngs: ${t}`))};return n(t)&&(t.includes("-")||t.includes("_"))?("languageOnly"!==this.options.load&&u(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&u(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&u(this.getLanguagePartFromCode(t))):n(t)&&u(this.formatLanguageCode(t)),l.forEach(t=>{c.includes(t)||u(this.formatLanguageCode(t))}),null!==o?(this.resolveHierarchyCache[o]=c,c.slice()):c}}const N={zero:0,one:1,two:2,few:3,many:4,other:5},$={select:t=>1===t?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class _{constructor(t,e={}){this.languageUtils=t,this.options=e,this.logger=x.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(t,e={}){const a=k("dev"===t?"en":t),i=e.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:a,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let s;try{s=new Intl.PluralRules(a,{type:i})}catch(r){if("undefined"==typeof Intl)return this.logger.error("No Intl support, please use an Intl pol
2yfill!"),$;if(!t.match(/-|_/))return $;const a=this.languageUtils.getLanguagePartFromCode(t);s=this.getRule(a,e)}return this.pluralRulesCache[n]=s,s}needsPlural(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,e,a={}){return this.getSuffixes(t,a).map(t=>`${e}${t}`)}getSuffixes(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?a.resolvedOptions().pluralCategories.sort((t,e)=>N[t]-N[e]).map(t=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${t}`):[]}getSuffix(t,e,a={}){const i=this.getRule(t,a);return i?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${i.select(e)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",e,a))}}const A=(t,e,a,i=".",s=!0)=>{let r=((t,e,a)=>{const i=d(t,a);return void 0!==i?i:d(e,a)})(t,e,a);return!r&&s&&n(a)&&(r=b(t,a,i),void 0===r&&(r=b(e,a,i))),r},T=t=>t.replace(/\$/g,"$$$$");class F{constructor(t={}){this.logger=x.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(t=>t),this.init(t)}init(t={}){t.interpolation||(t.interpolation={escapeValue:!0});const{escape:e,escapeValue:a,useRawValueToEscape:i,prefix:n,prefixEscaped:s,suffix:r,suffixEscaped:o,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:h,nestingPrefixEscaped:d,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:v,maxReplaces:y,alwaysFormat:b}=t.interpolation;this.escape=void 0!==e?e:f,this.escapeValue=void 0===a||a,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?g(n):s||"{{",this.suffix=r?g(r):o||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u?g(u):"-",this.unescapeSuffix=this.unescapePrefix?"":c?g(c):"",this.nestingPrefix=h?g(h):d||g("$t("),this.nestingSuffix=p?g(p):m||g(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(t,e)=>t?.source===e?(t.lastIndex=0,t):new RegExp(e,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(t,e,a,i){let s,o,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=t=>{if(!t.includes(this.formatSeparator)){const n=A(e,c,t,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,a,{...i,...e,interpolationkey:t}):n}const n=t.split(this.formatSeparator),s=n.shift().trim(),r=n.join(this.formatSeparator).trim();return this.format(A(e,c,s,this.options.keySeparator,this.options.ignoreJSONStructure),r,a,{...i,...e,interpolationkey:s})};this.resetRegExp(),!this.escapeValue&&"string"==typeof t&&/\$t\([^)]*\{[^}]*\{\{/.test(t)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false â if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const h=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:t=>t},{regex:this.regexp,safeValue:t=>this.escapeValue?this.escape(t):t}].forEach(e=>{for(l=0;s=e.regex.exec(t);){const a=s[1].trim();if(o=u(a),void 0===o)if("function"==typeof h){const e=h(t,s,i);o=n(e)?e:""}else if(i&&Object.prototype.hasOwnProperty.call(i,a))o="";else{if(d){o=s[0];continue}this.logger.warn(`missed to pass in variable ${a} for interpolating ${t}`),o=""}else n(o)||this.useRawValueToEscape||(o=r(o));const c=e.safeValue(o);if(t=t.replace(s[0],T(c)),d?(e.regex.lastIndex+=c.length,e.regex.lastIndex-=s[0].length):e.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,e,a={}){let i,s,o;const l=(t,e)=>{const a=this.nestingOptionsSeparator;if(!t.includes(a))return t;const i=t.split(new RegExp(`${g(a)}[ ]*{`));let n=`{${i[1]}`;t=i[0],n=this.interpolate(n,o);const s=n.match(/'/g),r=n.match(/"/g);((s?.length??0)%2==0&&!r||(r?.length??0)%2!=0)&&(n=n.replace(/'/g,'"'));try{o=JSON.parse(n),e&&(o={...e,...o}
vendor: 15,872 bytes, line 2
2)}catch(l){return this.logger.warn(`failed parsing options string in nesting for key ${t}`,l),`${t}${a}${n}`}return o.defaultValue&&o.defaultValue.includes(this.prefix)&&delete o.defaultValue,t};for(;i=this.nestingRegexp.exec(t);){let c=[];o={...a},o=o.replace&&!n(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;const u=/{.*}/s.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(-1!==u&&(c=i[1].slice(u).split(this.formatSeparator).map(t=>t.trim()).filter(Boolean),i[1]=i[1].slice(0,u)),s=e(l.call(this,i[1].trim(),o),o),s&&i[0]===t&&!n(s))return s;n(s)||(s=r(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),s=""),c.length&&(s=c.reduce((t,e)=>this.format(t,e,a.lng,{...a,interpolationkey:i[1].trim()}),s.trim())),t=t.replace(i[0],T(r(s))),this.regexp.lastIndex=0}return t}}const D=t=>{const e={};return(a,i,n)=>{let s=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(s={...s,[n.interpolationkey]:void 0});const r=i+JSON.stringify(s);let o=e[r];return o||(o=t(k(i),n),e[r]=o),o(a)}},I=t=>(e,a,i)=>t(k(a),i)(e);class U{constructor(t={}){this.logger=x.create("formatter"),this.options=t,this.init(t)}init(t,e={interpolation:{}}){this.formatSeparator=e.interpolation.formatSeparator||",";const a=e.cacheInBuiltFormats?D:I;this.formats={number:a((t,e)=>{const a=new Intl.NumberFormat(t,{...e});return t=>a.format(t)}),currency:a((t,e)=>{const a=new Intl.NumberFormat(t,{...e,style:"currency"});return t=>a.format(t)}),datetime:a((t,e)=>{const a=new Intl.DateTimeFormat(t,{...e});return t=>a.format(t)}),relativetime:a((t,e)=>{const a=new Intl.RelativeTimeFormat(t,{...e});return t=>a.format(t,e.range||"day")}),list:a((t,e)=>{const a=new Intl.ListFormat(t,{...e});return t=>a.format(t)})}}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=D(e)}format(t,e,a,i={}){if(!e)return t;if(null==t)return t;const n=e.split(this.formatSeparator),s=[];for(let r=0;r<n.length;r++){let t=n[r];for(;t.indexOf("(")>-1&&!t.includes(")")&&r+1<n.length;)t=`${t}${this.formatSeparator}${n[++r]}`;s.push(t)}return s.reduce((t,e)=>{const{formatName:n,formatOptions:s}=(t=>{let e=t.toLowerCase().trim();const a={};if(t.includes("(")){const i=t.split("(");e=i[0].toLowerCase().trim();const n=i[1].slice(0,-1);"currency"!==e||n.includes(":")?"relativetime"!==e||n.includes(":")?n.split(";").forEach(t=>{if(t){const[e,...i]=t.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),s=e.trim();a[s]||(a[s]=n),"false"===n&&(a[s]=!1),"true"===n&&(a[s]=!0),isNaN(n)||(a[s]=parseInt(n,10))}}):a.range||(a.range=n.trim()):a.currency||(a.currency=n.trim())}return{formatName:e,formatOptions:a}})(e);if(this.formats[n]){let e=t;try{const r=i?.formatParams?.[i.interpolationkey]||{},o=r.locale||r.lng||i.locale||i.lng||a;e=this.formats[n](t,o,{...s,...i,...r})}catch(r){this.logger.warn(r)}return e}return this.logger.warn(`there was no format function for ${n}`),t},t)}}class M extends S{constructor(t,e,a,i={}){super(),this.backend=t,this.store=e,this.services=a,this.languageUtils=a.languageUtils,this.options=i,this.logger=x.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(a,i.backend,i)}queueLoad(t,e,a,i){const n={},s={},r={},o={};return t.forEach(t=>{let i=!0;e.forEach(e=>{const r=`${t}|${e}`;!a.reload&&this.store.hasResourceBundle(t,e)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===s[r]&&(s[r]=!0):(this.state[r]=1,i=!1,void 0===s[r]&&(s[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===o[e]&&(o[e]=!0)))}),i||(r[t]=!0)}),(Object.keys(n).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(s),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(o)}}loaded(t,e,a){const i=t.split("|"),n=i[0],s=i[1];e&&this.emit("failedLoading",n,s,e),!e&&a&&this.store.addResourceBundle(n,s,a,void 0,void 0,{skipCopy:!0}),this.state[t]=e?-1:2,e&&a&&(this.state[t]=0);const r={};this.queue.forEach(a=>{((t,e,a)=>{const{obj:i,k:n}=u(t,e,Object);i[n]=i[n]||[],i[n].push(a)})(a.loaded,[n],s),((t,e)=>{void 0!==t.pending[e]&&(delete t.pending[e],t.pendingCount--)})(a,t),e&&a.errors.push(e),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach(t=>{r[t]||(r[t]={});const e=a.loaded[t];e.length&&e.forEach(e=>{void 0===r[t][e]&&(r[t][e]=!0)})}),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())}),this.emit("loaded",r),this.queue=this.queue.filter(t=>!t.done)}read(t,e,a,i=0,n=this.retryTimeout,s){if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:t,ns:e,fcName:a,tried:i,wait:n,callback:s});this.readingCalls++;const r=(r,o)=>{if(this.readingCalls--,this.waitingReads.length>0){const t=this.waitingReads.shift();this.read(t.lng,t.ns,t.fcName,t.tried,t.wait,t.callback)}r&&o&&i<this.maxRetries?setTimeout(()=>{this.read(t,e,a,i+1,2*n,s)},n):s(r,o)},o=this.backend[a].bind(this.backend);if(2!==o.length)return o(t,e,r);try{const a=o(t,e);a&&"function"==typeof a.then?a.then(t=>r(null,t)).catch(r):r(null,a)}catch(l){r(l)}}prepareLoading(t,e,a={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();n(t)&&(t=this.languageUtils.toResolveHierarchy(t)),n(e)&&(e=[e]);const s=this.queueLoad(t,e,a,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(t=>{this.loadOne(t)})}load(t,e,a){this.prepareLoading(t,e,{},a)}reload(t,e,a){this.prepareLoading(t,e,{reload:!0},a)}loadOne(t,e=""){const a=t.split("|"),i=a[0],n=a[1];this.read(i,n,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${e}loading namespace ${n} for language ${i} failed`,a),!a&&s&&this.logger.log(`${e}loaded namespace ${n} for language ${i}`,s),this.loaded(t,a,s)})}saveMissing(t,e,a,i,n,s={},r=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(e)){if(null!=a&&""!==a){if(this.backend?.create){const l={...s,isUpdate:n},c=this.backend.create.bind(this.backend);if(c.length<6)try{let n;n=5===c.length?c(t,e,a,i,l):c(t,e,a,i),n&&"function"==typeof n.then?n.then(t=>r(null,t)).catch(r):r(null,n)}catch(o){r(o)}else c(t,e,a,i,r,l)}t&&t[0]&&this.store.addResource(t[0],e,a,i)}}else this.logger.warn(`did not save key "${a}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const H=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if("object"==typeof t[1]&&(e=t[1]),n(t[1])&&(e.defaultValue=t[1]),n(t[2])&&(e.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const a=t[3]||t[2];Object.keys(a).forEach(t=>{e[t]=a[t]})}return e},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),V=t=>(n(t.ns)&&(t.ns=[t.ns]),n(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),n(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&!t.supportedLngs.includes("cimode")&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t),W=()=>{};class K extends S{constructor(t={},e){var a;if(super(),this.options=V(t),this.services={},this.logger=x,this.modules={external:[]},a=this,Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach(t=>{"function"==typeof a[t]&&(a[t]=a[t].bind(a))}),e&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,e),this;setTimeout(()=>{this.init(t,e)},0)}}init(t={},e){this.isInitializing=!0,"function"==typeof t&&(e=t,t={}),null==t.defaultNS&&t.ns&&(n(t.ns)?t.defaultNS=t.ns:t.ns.includes("translation")||(t.defaultNS=t.ns[0]));const a=H();this.options={...a,...this.options,...V(t)},this.options.interpolation={...a.interpolation,...this.options.interpolation},void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),"function"!=typeof this.options.overloadTranslationOptionHandler&&(this.options.overloadTranslationOptionHandler=a.overloadTranslationOptionHandler);const i=t=>t?"function"==typeof t?new t:t:null;if(!this.options.isClone){let t;this.modules.logger?x.init(i(this.modules.logger),this.options):x.init(null,this.options),t=this.modules.formatter?this.modules.formatter:U;const e=new O(this.options);this.store=new j(this.options.resources,this.options);const a=this.services;a.logger=x,a.resourceStore=this.store,a.languageUtils=e,a.pluralResolver=new _(e,{prepend:this.options.pluralSeparator}),t&&(a.formatter=i(t),a.formatter.init&&a.formatter.init(a,this.options),this.options.interpolation.format=a.formatter.format.bind(a.formatter)),a.interpolator=new F(this.options),a.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},a.backendConnector=new M(i(this.modules.backend),a.resourceStore,a,this.options),a.backendConnector.on("*",(t,...e)=>{this.emit(t,...e)}),this.modules.languageDetector&&(a.languageDetector=i(this.modules.languageDetector),a.languageDetector.init&&a.languageDetector.init(a,this.options.detection,this.options)),this.modules.i18nFormat&&(a.i18nFormat=i(this.modules.i18nFormat),a.i18nFormat.init&&a.i18nFormat.init(this)),this.translator=new z(this.services,this.options),this.translator.on("*",(t,...e)=>{this.emit(t,...e)}),this.modules.external.forEach(t=>{t.init&&t.init(this)})}if(this.format=this.options.interpolation.format,e||(e=W),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);t.length>0&&"dev"!==t[0]&&(this.options.lng=t[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(t=>{this[t]=(...e)=>this.store[t](...e)});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(t=>{this[t]=(...e)=>(this.store[t](...e),this)});const r=s(),o=()=>{const t=(t,a)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),r.resolve(a),e(t,a)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return t(null,this.t.bind(this));this.changeLanguage(this.options.lng,t)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),r}loadResources(t,e=W){let a=e;const i=n(t)?t:this.language;if("function"==typeof t&&(a=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===i?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return a();const t=[],e=e=>{if(!e)return;if("cimode"===e)return;this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&(t.includes(e)||t.push(e))})};if(i)e(i);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(t=>e(t))}this.options.preload?.forEach?.(t=>e(t)),this.services.backendConnector.load(t,this.options.ns,t=>{t||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),a(t)})}else a(null)}reloadResources(t,e,a){const i=s();return"function"==typeof t&&(a=t,t=void 0),"function"==typeof e&&(a=e,e=void 0),t||(t=this.languages),e||(e=this.options.ns),a||(a=W),this.services.backendConnector.reload(t,e,t=>{i.resolve(),a(t)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===t.type&&(this.modules.backend=t),("logger"===t.type||t.log&&t.warn&&t.error)&&(this.modules.logger=t),"languageDetector"===t.type&&(this.modules.languageDetector=t),"i18nFormat"===t.type&&(this.modules.i18nFormat=t),"postProcessor"===t.type&&E.addPostProcessor(t),"formatter"===t.type&&(this.modules.formatter=t),"3rdParty"===t.type&&this.modules.external.push(t),this}setResolvedLanguage(t){if(t&&this.languages&&!["cimode","dev"].includes(t)){for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(!["cimode","dev"].includes(e)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}this.resolvedLanguage||this.languages.includes(t)||!this.store.hasLanguageSomeTranslations(t)||(this.resolvedLanguage=t,this.languages.unshift(t))}}changeLanguage(t,e){this.isLanguageChangingTo=t;const a=s();this.emit("languageChanging",t);const i=t=>{this.language=t,this.languages=this.services.languageUtils.toResolveHierarchy(t),this.resolvedLanguage=void 0,this.setResolvedLanguage(t)},r=(n,s)=>{s?this.isLanguageChangingTo===t&&(i(s),this.translator.changeLanguage(s),this.isLanguageChangingTo=void 0,this.emit("languageChanged",s),this.logger.log("languageChanged",s)):this.isLanguageChangingTo=void 0,a.resolve((...t)=>this.t(...t)),e&&e(n,(...t)=>this.t(...t))},o=e=>{t||e||!this.services.languageDetector||(e=[]);const a=n(e)?e:e&&e[0],s=this.store.hasLanguageSomeTranslations(a)?a:this.services.languageUtils.getBestMatchFromCodes(n(e)?[e]:e);s&&(this.language||i(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector?.cacheUserLanguage?.(s)),this.loadResources(s,t=>{r(t,s)})};return t||!this.services.languageDetector||this.services.languageDetector.async?!t&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(t):o(this.services.languageDetector.detect()),a}getFixedT(t,e,a,i){const s=i?.scopeNs,r=(t,e,...i)=>{let n;n="object"!=typeof e?this.options.overloadTranslationOptionHandler([t,e].concat(i)):{...e},n.lng=n.lng||r.lng,n.lngs=n.lngs||r.lngs;const o=void 0!==n.ns&&null!==n.ns;n.ns=n.ns||r.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||a||r.keyPrefix);const l={...this.options,...n};Array.isArray(s)&&!o&&(l.ns=s),"function"==typeof n.keyPrefix&&(n.keyPrefix=C(n.keyPrefix,l));const c=this.options.keySeparator||".";let u;return n.keyPrefix&&Array.isArray(t)?u=t.map(t=>("function"==typeof t&&(t=C(t,l)),`${n.keyPrefix}${c}${t}`)):("function"==typeof t&&(t=C(t,l)),u=n.keyPrefix?`${n.keyPrefix}${c}${t}`:t),this.t(u,n)};return n(t)?r.lng=t:r.lngs=t,r.ns=e,r.keyPrefix=a,r}t(...t){return this.translator?.translate(...t)}exists(...t){return this.translator?.exists(...t)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t,e={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
vendor: 11,182 bytes, line 2
2if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=e.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===a.toLowerCase())return!0;const s=(t,e)=>{const a=this.services.backendConnector.state[`${t}|${e}`];return-1===a||0===a||2===a};if(e.precheck){const t=e.precheck(this,s);if(void 0!==t)return t}return!!this.hasResourceBundle(a,t)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!s(a,t)||i&&!s(n,t)))}loadNamespaces(t,e){const a=s();return this.options.ns?(n(t)&&(t=[t]),t.forEach(t=>{this.options.ns.includes(t)||this.options.ns.push(t)}),this.loadResources(t=>{a.resolve(),e&&e(t)}),a):(e&&e(),Promise.resolve())}loadLanguages(t,e){const a=s();n(t)&&(t=[t]);const i=this.options.preload||[],r=t.filter(t=>!i.includes(t)&&this.services.languageUtils.isSupportedCode(t));return r.length?(this.options.preload=i.concat(r),this.loadResources(t=>{a.resolve(),e&&e(t)}),a):(e&&e(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!t)return"rtl";try{const e=new Intl.Locale(t);if(e&&e.getTextInfo){const t=e.getTextInfo();if(t&&t.direction)return t.direction}}catch(a){}const e=this.services?.languageUtils||new O(H());return t.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].includes(e.getLanguagePartFromCode(t))||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(t={},e){const a=new K(t,e);return a.createInstance=K.createInstance,a}cloneInstance(t={},e=W){const a=t.forkResourceStore;a&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},n=new K(i);void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t));if(["store","services","language"].forEach(t=>{n[t]=this[t]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},a){const t=Object.keys(this.store.data).reduce((t,e)=>(t[e]={...this.store.data[e]},t[e]=Object.keys(t[e]).reduce((a,i)=>(a[i]={...t[e][i]},a),t[e]),t),{});n.store=new j(t,i),n.services.resourceStore=n.store}if(t.interpolation){const e={...H().interpolation,...this.options.interpolation,...t.interpolation},a={...i,interpolation:e};n.services.interpolator=new F(a)}return n.translator=new z(n.services,i),n.translator.on("*",(t,...e)=>{n.emit(t,...e)}),n.init(i,e),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const q=K.createInstance(),B=(q.createInstance,q.dir,q.init,q.loadResources,q.reloadResources,q.use,q.changeLanguage,q.getFixedT,q.t,q.exists,q.setDefaultNamespace,q.hasLoadedNamespace,q.loadNamespaces,q.loadLanguages,{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0}),J=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function Q(t){const e={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},a=t.match(/<\/?([^\s]+?)[/\s>]/);if(a&&(e.name=a[1],(B[a[1]]||"/"===t.charAt(t.length-2))&&(e.voidElement=!0),e.name.startsWith("!--"))){const e=t.indexOf("--\x3e");return{type:"comment",comment:-1!==e?t.slice(4,e):""}}const i=new RegExp(J);let n=null;for(;n=i.exec(t),null!==n;)if(n[0].trim())if(n[1]){const t=n[1].trim();let a=[t,null];const s=t.indexOf("=");s>-1&&(a=[t.slice(0,s),t.slice(s+1)]),e.attrs[a[0]]=a[1],i.lastIndex--}else n[2]&&(e.attrs[n[2]]=n[3].trim().substring(1,n[3].length-1));return e}const G=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,Y=/<\/?([^\s]+?)[/\s>]/,X=/^\s*$/,Z=/^(script|style)$/i,tt="\0",et=Object.create(null);function at(t){t.forEach(function(t){if("text"!==t.type)if("comment"!==t.type){for(const e in t.attrs){const a=t.attrs[e];"string"==typeof a&&a.indexOf(tt)>-1&&(t.attrs[e]=a.split(tt).join("<"))}t.children.length&&at(t.children)}else t.comment=t.comment.split(tt).join("<");else t.content=t.content.split(tt).join("<")})}function it(t,e){switch(e.type){case"text":return t+e.content;case"tag":{const a=e.voidElement&&"!doctype"!==e.name.toLowerCase()?"/>":">";return t+="<"+e.name+(e.attrs?function(t){const e=[];for(const a in t)null===t[a]?e.push(a):e.push(a+'="'+String(t[a]).replace(/"/g,""")+'"');return e.length?" "+e.join(" "):""}(e.attrs):"")+a,e.voidElement?t:t+e.children.reduce(it,"")+"</"+e.name+">"}case"comment":return t+="\x3c!--"+e.comment+"--\x3e"}}var nt={parse:function(t,e){const a=e&&e.components||et,i=e&&e.allowedTags;let n=!1;if(i){const e="function"==typeof i?i:function(t){return i.indexOf(t)>-1};let a,s="",r=0;for(G.lastIndex=0;a=G.exec(t);){const i=a[0];s+=t.slice(r,a.index);const o=i.match(Y);i.startsWith("\x3c!--")||o&&e(o[1])?(s+=i,r=a.index+i.length):(n=!0,s+=tt,r=a.index+1,G.lastIndex=r)}t=s+t.slice(r)}const s=[],r=[];let o,l,c=-1,u=!1,h=0;if(0!==t.indexOf("<")){const e=t.indexOf("<");s.push({type:"text",content:-1===e?t:t.substring(0,e)})}const d=[];let p;for(;p=G.exec(t);)d.push(p);return d.forEach(function(t,e){const a=t[0];if(!a)return;if(a.startsWith("\x3c!--"))return;let i=0,n=0,s=-1,r=null;for(let l=0;l<a.length;l++){const t=a.charAt(l);r?t===r&&(r=null):'"'===t||"'"===t?r=t:"<"===t?(i++,2===i&&(s=l)):">"===t&&n++}const o=s>-1&&/[a-zA-Z0-9\-!/]/.test(a.charAt(s+1));if(i>n&&o){const t=a.substring(0,s),i=a.substring(t.length);d[e][0]=i,d[e].index+=t.length}}),d.forEach(function(e,i){const n=e[0];if(!n)return;const p=e.index;if(p<h)return;if(u){if(n!=="</"+o.name+">")return;u=!1}const g="/"!==n.charAt(1),m=n.startsWith("\x3c!--"),f=p+n.length,v=t.charAt(f),y=d[i+1];let b,k;if("<"===v&&y){const e=t.substring(f,y.index);b=e.split("<").length>e.split(">").length}if(m){const e=Q(n);if(c<0)return s.push(e),s;k=r[c],k.children.push(e);const a=t.slice(f,y?y.index:void 0);return a.length>0&&k.children.push({type:"text",content:a}),s}if(g){c++,o=Q(n),"tag"===o.type&&a[o.name]&&(o.type="component",u=!0);let e=!1;if(!u&&!o.voidElement&&Z.test(o.name)){e=!0,l||(l=t.toLowerCase());const a=l.indexOf("</"+o.name.toLowerCase()+">",f),i=-1===a?t.length:a,n=t.slice(f,i);n&&o.children.push({type:"text",content:n}),h=i}o.voidElement||u||e||!v||"<"===v||o.children.push({type:"text",content:t.slice(f,y?y.index:void 0)}),0===c&&s.push(o),k=r[c-1],k&&k.children.push(o),r[c]=o}if((!g||o.voidElement)&&(c>-1&&(o.voidElement||o.name===n.slice(2,-1))&&(c--,o=-1===c?s:r[c]),!u&&("<"!==v||b)&&v)){k=-1===c?s:r[c].children;const e=y?y.index:-1;let a=t.slice(f,-1===e?void 0:e);X.test(a)&&(a=" "),(e>-1&&c+k.length>=0||" "!==a)&&k.push({type:"text",content:a})}}),n&&at(s),s},stringify:function(t){return t.reduce(function(t,e){return t+it("",e)},"")}};const st=(t,e,a,i)=>{const n=[a,{code:e,...i||{}}];if(t?.services?.logger?.forward)return t.services.logger.forward(n,"warn","react-i18next::",!0);dt(n[0])&&(n[0]=`react-i18next:: ${n[0]}`),t?.services?.logger?.warn?t.services.logger.warn(...n):console?.warn&&console.warn(...n)},rt={},ot=(t,e,a,i)=>{dt(a)&&rt[a]||(dt(a)&&(rt[a]=new Date),st(t,e,a,i))},lt=(t,e)=>()=>{if(t.isInitialized)e();else{const a=()=>{setTimeout(()=>{t.off("initialized",a)},0),e()};t.on("initialized",a)}},ct=(t,e,a)=>{t.loadNamespaces(e,lt(t,a))},ut=(t,e,a,i)=>{if(dt(a)&&(a=[a]),t.options.preload&&t.options.preload.indexOf(e)>-1)return ct(t,a,i);a.forEach(e=>{t.options.ns.indexOf(e)<0&&t.options.ns.push(e)}),t.loadLanguages(e,lt(t,i))},ht=t=>t.displayName||t.name||(dt(t)&&t.length>0?t:"Unknown"),dt=t=>"string"==typeof t,pt=t=>"object"==typeof t&&null!==t,gt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,mt={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"â¦","…":"â¦","/":"/","/":"/"},ft=t=>mt[t],vt=t=>t.replace(gt,ft);let yt={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:vt,transDefaultProps:void 0};const bt=(t={})=>{yt={...yt,...t}},kt=()=>yt;let wt;const Pt=t=>{wt=t},xt=()=>wt,St=(t,e)=>{if(!t)return!1;const a=t.props?.children??t.children;return e?a.length>0:!!a},jt=t=>{if(!t)return[];const e=t.props?.children??t.children;return t.props?.i18nIsDynamicList?Et(e):e},Et=t=>Array.isArray(t)?t:[t],Lt=t=>{const e={};if(!t)return e;const a=t=>{Et(t).forEach(t=>{dt(t)||(St(t)?a(jt(t)):pt(t)&&!(0,i.isValidElement)(t)&&Object.assign(e,t))})};return a(t),e},Ct=(t,e,a,n)=>{if(!t)return"";let s="";const r=Et(t),o=e?.transSupportBasicHtmlNodes?e.transKeepBasicHtmlNodesFor??[]:[];return r.forEach((t,r)=>{if(dt(t))s+=`${t}`;else{if((0,i.isValidElement)(t)){const{props:i,type:l}=t,c=Object.keys(i).length,u=o.indexOf(l)>-1,h=i.children;if(!h&&u&&!c)return void(s+=`<${l}/>`);if(!h&&(!u||c)||i.i18nIsDynamicList)return void(s+=`<${r}></${r}>`);if(u&&c<=1){const t=dt(h)?h:Ct(h,e,a,n);return void(s+=`<${l}>${t}</${l}>`)}const d=Ct(h,e,a,n);return void(s+=`<${r}>${d}</${r}>`)}if(null!==t){if(pt(t)){const{format:e,...i}=t,r=Object.keys(i);if(1===r.length){const t=e?`${r[0]}, ${e}`:r[0];return void(s+=`{{${t}}}`)}return void st(a,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:n,child:t})}st(a,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:n,child:t})}else st(a,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:n})}}),s},Rt=(t,e,a,n,s,r,o)=>{if(""===a)return[];const l=s.transKeepBasicHtmlNodesFor||[],c=a&&new RegExp(l.map(t=>`<${t}`).join("|")).test(a);if(!(t||e||c||o))return[a];const u=e??{},h=t=>{Et(t).forEach(t=>{dt(t)||(St(t)?h(jt(t)):pt(t)&&!(0,i.isValidElement)(t)&&Object.assign(u,t))})};h(t);const d=Object.keys(u),p=nt.parse(`<0>${a}</0>`,{allowedTags:t=>/^\d+$/.test(t)||l.indexOf(t)>-1||d.indexOf(t)>-1}),g={...u,...r},m=(t,e,a)=>{const n=jt(t),s=v(n,e.children,a);return(t=>Array.isArray(t)&&t.every(i.isValidElement))(n)&&0===s.length||t.props?.i18nIsDynamicList?n:s},f=(t,e,a,n,s)=>{t.dummy?(t.children=e,a.push((0,i.cloneElement)(t,{key:n},s?void 0:e))):a.push(...i.Children.map([t],t=>{if(t.type===i.Fragment||void 0!==t.props?.i18nIsDynamicList){const a={key:n};return t&&t.props&&Object.keys(t.props).forEach(e=>{"children"!==e&&"i18nIsDynamicList"!==e&&(a[e]=t.props[e])}),(0,i.createElement)(t.type,a,s?null:e)}const a={key:n};
2return t&&t.props&&Object.keys(t.props).forEach(e=>{"ref"!==e&&"children"!==e&&(a[e]=t.props[e])}),(0,i.cloneElement)(t,a,s?null:e)}))},v=(t,a,r)=>{const u=Et(t),h=Et(a),d={};return h.reduce((t,a,h)=>{const p=a.children?.[0]?.content&&n.services.interpolator.interpolate(a.children[0].content,g,n.language);if("tag"===a.type){let y=u[parseInt(a.name,10)];!y&&e&&(y=e[a.name]),1!==r.length||y||(y=r[0][a.name]),y||(y={});const b={...a.attrs};o&&Object.keys(b).forEach(t=>{const e=b[t];dt(e)&&(b[t]=vt(e))});const k=0!==Object.keys(b).length?((t,e)=>{const a={...e};return a.props={...e.props,...t.props},a})({props:b},y):y,w=(0,i.isValidElement)(k),P=w&&St(a,!0)&&!a.voidElement,x=c&&pt(k)&&k.dummy&&!w,S=pt(e)&&Object.hasOwnProperty.call(e,a.name);if(dt(k)){const e=n.services.interpolator.interpolate(k,g,n.language);t.push(e)}else if(St(k)||P){const e=m(k,a,r);f(k,e,t,h)}else if(x){const e=v(u,a.children,r);f(k,e,t,h)}else if(Number.isNaN(parseFloat(a.name)))if(S){const e=m(k,a,r);f(k,e,t,h,a.voidElement)}else if(s.transSupportBasicHtmlNodes&&l.indexOf(a.name)>-1)if(a.voidElement)t.push((0,i.createElement)(a.name,{key:`${a.name}-${h}`}));else{const e=d[a.name]||0;let n;d[a.name]=e+1;let s=0;for(let t=0;t<u.length;t+=1){const r=u[t];if((0,i.isValidElement)(r)&&r.type===a.name){if(s===e){n=r;break}s+=1}}const o=n?Et(jt(n)):u,l=v(o,a.children,r);t.push((0,i.createElement)(a.name,{key:`${a.name}-${h}`},l))}else if(a.voidElement)t.push(`<${a.name} />`);else{const e=v(u,a.children,r);t.push(`<${a.name}>${e}</${a.name}>`)}else if(pt(k)&&!w){const e=a.children[0]?p:null;e&&t.push(e)}else f(k,p,t,h,1!==a.children.length||!p)}else if("text"===a.type){const e=s.transWrapTextNodes,r="function"==typeof s.unescape?s.unescape:kt().unescape,l=o?r(n.services.interpolator.interpolate(a.content,g,n.language)):n.services.interpolator.interpolate(a.content,g,n.language);e?t.push((0,i.createElement)(e,{key:`${a.name}-${h}`},l)):t.push(l)}return t},[])},y=v([{dummy:!0,children:t||[]}],p,Et(t||[]));return jt(y[0])},zt=(t,e,a)=>{const n=t.key||e,s=(0,i.cloneElement)(t,{key:n});if(!s.props||!s.props.children||a.indexOf(`${e}/>`)<0&&a.indexOf(`${e} />`)<0)return s;return(0,i.createElement)(function(){return(0,i.createElement)(i.Fragment,null,s)},{key:n})},Ot=(t,e,a,i)=>t?Array.isArray(t)?((t,e)=>t.map((t,a)=>zt(t,a,e)))(t,e):pt(t)?((t,e)=>{const a={};return Object.keys(t).forEach(i=>{Object.assign(a,{[i]:zt(t[i],i,e)})}),a})(t,e):(ot(a,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:i}),null):null,Nt=t=>!!pt(t)&&(!Array.isArray(t)&&Object.keys(t).reduce((t,e)=>t&&Number.isNaN(Number.parseFloat(e)),!0));function $t({children:t,count:e,parent:a,i18nKey:n,context:s,tOptions:r={},values:o,defaults:l,components:c,ns:u,i18n:h,t:d,shouldUnescape:p,...g}){const m=h||xt();if(!m)return ot(m,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.",{i18nKey:n}),t;const f=d||m.t.bind(m)||(t=>t),v={...kt(),...m.options?.react};let y=u||f.ns||m.options?.defaultNS;y=dt(y)?[y]:y||["translation"];const{transDefaultProps:b}=v,k=b?.tOptions?{...b.tOptions,...r}:r,w=p??b?.shouldUnescape,P=b?.values?{...b.values,...o}:o,x=b?.components?{...b.components,...c}:c,S=Ct(t,v,m,n),j=l||k?.defaultValue||S||v.transEmptyNodeValue||("function"==typeof n?C(n):n),{hashTransKey:E}=v,L=n||(E?E(S||j):S||j);o=m.options?.interpolation?.defaultVariables?P&&Object.keys(P).length>0?{...P,...m.options.interpolation.defaultVariables}:{...m.options.interpolation.defaultVariables}:P;const R=Lt(t);R&&"number"==typeof R.count&&void 0===e&&(e=R.count);const z=o||void 0!==e&&!m.options?.interpolation?.alwaysFormat||!t?k.interpolation:{interpolation:{...k.interpolation,prefix:"#$?",suffix:"?$#"}},O={...k,context:s||k.context,count:e,...o,...z,defaultValue:j,ns:y};let N=L?f(L,O):j;N===L&&j&&(N=j);const $=Ot(x,N,m,n);let _=$||t,A=null;Nt($)&&(A=$,_=t);const T=Rt(_,A,N,m,v,O,w),F=a??v.defaultTransParent;return F?(0,i.createElement)(F,g,T):T}const _t={type:"3rdParty",init(t){bt(t.options.react),Pt(t)}},At=(0,i.createContext)();class Tt{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Ft=t=>async e=>({...await(t.getInitialProps?.(e))??{},...Dt()}),Dt=()=>{const t=xt();if(!t)return console.warn("react-i18next:: getInitialProps: You will need to pass in an i18next instance by using initReactI18next"),{};const e=t.reportNamespaces?.getUsedNamespaces()??[],a={},i={};
2return t.languages.forEach(a=>{i[a]={},e.forEach(e=>{i[a][e]=t.getResourceBundle(a,e)||{}})}),a.initialI18nStore=i,a.initialLanguage=t.language,a};function It({children:t,count:e,parent:a,i18nKey:n,context:s,tOptions:r={},values:o,defaults:l,components:c,ns:u,i18n:h,t:d,shouldUnescape:p,...g}){const{i18n:m,defaultNS:f}=(0,i.useContext)(At)||{},v=h||m||xt(),y=d||v?.t.bind(v);return $t({children:t,count:e,parent:a,i18nKey:n,context:s,tOptions:r,values:o,defaults:l,components:c,ns:u||y?.ns||f||v?.options?.defaultNS,i18n:v,t:d,shouldUnescape:p,...g})}class Ut extends Error{constructor(t,e,a){super(t),this.name="TranslationParserError",this.position=e,this.translationString=a,Error.captureStackTrace&&Error.captureStackTrace(this,Ut)}}const Mt={" ":" ","&":"&","<":"<",">":">",""":'"',"'":"'","©":"©","®":"®","™":"â¢","…":"â¦","–":"â","—":"â","‘":"â","’":"â","‚":"â","“":"â","”":"â","„":"â","†":"â ","‡":"â¡","•":"â¢","′":"â²","″":"â³","‹":"â¹","›":"âº","§":"§","¶":"¶","·":"·"," ":"â"," ":"â"," ":"â","€":"â¬","£":"£","¥":"Â¥","¢":"¢","¤":"¤","×":"Ã","÷":"÷","−":"â","±":"±","≠":"â ","≤":"â¤","≥":"â¥","≈":"â","≡":"â¡","∞":"â","∫":"â«","∑":"â","∏":"â","√":"â","∂":"â","‰":"â°","°":"°","µ":"µ","←":"â","↑":"â","→":"â","↓":"â","↔":"â","↵":"âµ","⇐":"â","⇑":"â","⇒":"â","⇓":"â","⇔":"â","α":"α","β":"β","γ":"γ","δ":"δ","ε":"ε","ζ":"ζ","η":"η","θ":"θ","ι":"ι","κ":"κ","λ":"λ","μ":"μ","ν":"ν","ξ":"ξ","ο":"ο","π":"Ï","ρ":"Ï","σ":"Ï","τ":"Ï","υ":"Ï
","φ":"Ï","χ":"Ï","ψ":"Ï","ω":"Ï","Α":"Î","Β":"Î","Γ":"Î","Δ":"Î","Ε":"Î","Ζ
2":"Î","Η":"Î","Θ":"Î","Ι":"Î","Κ":"Î","Λ":"Î","Μ":"Î","Ν":"Î","Ξ":"Î","Ο":"Î","Π":"Î ","Ρ":"Ρ","Σ":"Σ","Τ":"Τ","Υ":"Î¥","Φ":"Φ","Χ":"Χ","Ψ":"Ψ","Ω":"Ω","À":"Ã","Á":"Ã","Â":"Ã","Ã":"Ã","Ä":"Ã","Å":"Ã
","Æ":"Ã","Ç":"Ã","È":"Ã","É":"Ã","Ê":"Ã","Ë":"Ã","Ì":"Ã","Í":"Ã","Î":"Ã","Ï":"Ã","Ð":"Ã","Ñ":"Ã","Ò":"Ã","Ó":"Ã","Ô":"Ã","Õ":"Ã","Ö":"Ã","Ø":"Ã","Ù":"Ã","Ú":"Ã","Û":"Ã","Ü":"Ã","Ý":"Ã","Þ":"Ã","ß":"Ã","à":"à ","á":"á","â":"â","ã":"ã","ä":"ä","å":"Ã¥","æ":"æ","ç":"ç","è":"è","é":"é","ê":"ê","ë":"ë","ì":"ì","í":"Ã","î":"î","ï":"ï","ð":"ð","ñ":"ñ","ò":"ò","ó":"ó","ô":"ô","õ":"õ","ö":"ö","ø":"ø","ù":"ù","ú":"ú","û":"û","ü":"ü","ý":"ý","þ":"þ","ÿ":"ÿ","¡":"¡","¿":"¿","ƒ":"Æ","ˆ":"Ë","˜":"Ë","Œ":"Å","œ":"Å","Š":"Å ","š":"Å¡","Ÿ":"Ÿ","ª":"ª","º":"º","¯":"¯","´":"´","¸":"¸","¹":"¹","²":"²","³":"³","¼":"¼","½":"½","¾":"¾","♠":"â ","♣":"â£","♥":"â¥","♦":"â¦","◊":"â","‾":"â¾","⁄":"â","℘":"â","ℑ":"â","ℜ":"â","ℵ":"âµ"},Ht=new RegExp(Object.keys(Mt).map(t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),"g"),Vt=(t,e=[])=>{if(!t)return[];const a=(t=>{const e=[];let a=0,i="";const n=()=>{i&&(e.push({type:"Text",value:i,position:a-i.length}),i="")};for(;a<t.length;){const s=t[a];if("<"===s){const r=t.slice(a).match(/^<(\d+)>/);if(r)n(),e.push({type:"TagOpen",value:r[0],position:a,tagNumber:parseInt(r[1],10)}),a+=r[0].length;else{const r=t.slice(a).match(/^<\/(\d+)>/);r?(n(),e.push({type:"TagClose",value:r[0],position:a,tagNumber:parseInt(r[1],10)}),a+=r[0].length):(i+=s,a+=1)}}else i+=s,a+=1}return n(),e})(t),n=[],s=[],r=new Set;if(a.forEach(a=>{switch(a.type){case"Text":{const t=a.value.replace(Ht,t=>Mt[t]).replace(/&#(\d+);/g,(t,e)=>String.fromCharCode(parseInt(e,10))).replace(/&#x([0-9a-fA-F]+);/g,(t,e)=>String.fromCharCode(parseInt(e,16)));(s.length>0?s[s.length-1].children:n).push(t)}break;case"TagOpen":{const{tagNumber:t}=a,i=(()=>{if(0===s.length)return e;const t=s[s.length-1];return t.declaration.props?.children&&Array.isArray(t.declaration.props.children)?t.declaration.props.children:t.declarations})(),o=i[t];if(!o){r.add(t);const e=`<${t}>`;(s.length>0?s[s.length-1].children:n).push(e);break}s.push({tagNumber:t,children:[],position:a.position,declaration:o,declarations:i})}break;case"TagClose":{const{tagNumber:e}=a;if(r.has(e)){const t=`</${e}>`;(s.length>0?s[s.length-1].children:n).push(t),r.delete(e);break}if(0===s.length)throw new Ut(`Unexpected closing tag </${e}> at position ${a.position}`,a.position,t);const o=s.pop();if(o.tagNumber!==e)throw new Ut(`Mismatched tags: expected </${o.tagNumber}> but got </${e}> at position ${a.position}`,a.position,t);const l=((t,e,a)=>{const{type:n,props:s={}}=t;if(s.children&&Array.isArray(s.children)&&a){const{children:t,...a}=s;return i.default.createElement(n,a,...e)}return 0===e.length?i.default.createElement(n,s):1===e.length?i.default.createElement(n,s,e[0]):i.default.createElement(n,s,...e)})(o.declaration,o.children,o.declarations);(s.length>0?s[s.length-1].children:n).push(l)}}}),s.length>0){const e=s[s.length-1];throw new Ut(`Unclosed tag <${e.tagNumber}> at position ${e.position}`,e.position,t)}return n};function Wt({i18nKey:t,defaultTranslation:e,content:a,ns:n,values:s={},i18n:r,t:o}){const l=r||xt();if(!l)return ot(l,"NO_I18NEXT_INSTANCE","IcuTrans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:t}),i.default.createElement(i.default.Fragment,{},e);const c=o||l.t?.bind(l)||(t=>t);let u=n||c.ns||l.options?.defaultNS;u=dt(u)?[u]:u||["translation"];let h=s;l.options?.interpolation?.defaultVariables&&(h=s&&Object.keys(s).length>0?{...s,...l.options.interpolation.defaultVariables}:{...l.options.interpolation.defaultVariables});const d=c(t||e,{defaultValue:e,...h,ns:u});try{const t=Vt(d,a);return i.default.createElement(i.default.Fragment,{},...t)}catch(p){return st(l,"ICU_TRANS_RENDER_ERROR",`IcuTrans component error for key "${t}": ${p.message}`,{i18nKey:t,error:p}),i.default.createElement(i.default.Fragment,{},d)}}function Kt({i18nKey:t,defaultTranslation:e,content:a,ns:n,values:s={},i18n:r,t:o}){const{i18n:l,defaultNS:c}=(0,i.useContext)(At)||{},u=r||l||xt(),h=o||u?.t.bind(u);
2return Wt({i18nKey:t,defaultTranslation:e,content:a,ns:n||h?.ns||c||u?.options?.defaultNS,values:s,i18n:u,t:o})}Wt.displayName="IcuTransWithoutContext",Kt.displayName="IcuTrans";var qt=a(9888);const Bt={t:(t,e)=>{if(dt(e))return e;if(pt(e)&&dt(e.defaultValue))return e.defaultValue;if("function"==typeof t)return"";if(Array.isArray(t)){const e=t[t.length-1];return"function"==typeof e?"":e}return t},ready:!1},Jt=()=>()=>{},Qt=(t,e={})=>{const{i18n:a}=e,{i18n:n,defaultNS:s}=(0,i.useContext)(At)||{},r=a||n||xt();r&&!r.reportNamespaces&&(r.reportNamespaces=new Tt),r||ot(r,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.");const o=(0,i.useMemo)(()=>({...kt(),...r?.options?.react,...e}),[r,e]),{useSuspense:l,keyPrefix:c}=o,u=t||s||r?.options?.defaultNS,h=dt(u)?[u]:u||["translation"],d=(0,i.useMemo)(()=>h,h);r?.reportNamespaces?.addUsedNamespaces?.(d);const p=(0,i.useRef)(0),g=(0,i.useCallback)(t=>{if(!r)return Jt;const{bindI18n:e,bindI18nStore:a}=o,i=()=>{p.current+=1,t()};return e&&r.on(e,i),a&&r.store.on(a,i),()=>{e&&e.split(" ").forEach(t=>r.off(t,i)),a&&a.split(" ").forEach(t=>r.store.off(t,i))}},[r,o]),m=(0,i.useRef)(),f=(0,i.useCallback)(()=>{if(!r)return Bt;const t=!(!r.isInitialized&&!r.initializedStoreOnce)&&d.every(t=>((t,e,a={})=>e.languages&&e.languages.length?e.hasLoadedNamespace(t,{lng:a.lng,precheck:(e,i)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!i(e.isLanguageChangingTo,t))return!1}}):(ot(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0))(t,r,o)),a=e.lng||r.language,i=p.current,n=m.current;if(n&&n.ready===t&&n.lng===a&&n.keyPrefix===c&&n.revision===i)return n;const s={t:r.getFixedT(a,"fallback"===o.nsMode?d:d[0],c,{scopeNs:d}),ready:t,lng:a,keyPrefix:c,revision:i};return m.current=s,s},[r,d,c,o,e.lng]),[v,y]=(0,i.useState)(0),{t:b,ready:k}=(0,qt.useSyncExternalStore)(g,f,f);(0,i.useEffect)(()=>{if(r&&!k&&!l){const t=()=>y(t=>t+1);e.lng?ut(r,e.lng,d,t):ct(r,d,t)}},[r,e.lng,d,k,l,v]);const w=r||{},P=(0,i.useRef)(null),x=(0,i.useRef)(),S=t=>{const e=Object.getOwnPropertyDescriptors(t);e.__original&&delete e.__original;const a=Object.create(Object.getPrototypeOf(t),e);if(!Object.prototype.hasOwnProperty.call(a,"__original"))try{Object.defineProperty(a,"__original",{value:t,writable:!1,enumerable:!1,configurable:!1})}catch(i){}return a},j=(0,i.useMemo)(()=>{const t=w,e=t?.language;let a=t;t&&(P.current&&P.current.__original===t?x.current!==e?(a=S(t),P.current=a,x.current=e):a=P.current:(a=S(t),P.current=a,x.current=e));const i=k||l?b:(...t)=>(ot(r,"USE_T_BEFORE_READY","useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t."),b(...t)),n=[i,a,k];return n.t=i,n.i18n=a,n.ready=k,n},[b,w,k,w.resolvedLanguage,w.language,w.languages]);if(r&&l&&!k){let t=!1;try{t=!1}catch(E){}throw t&&ot(r,"SUSPENDED_WHILE_LOADING","useTranslation: suspended while translations are loading (useSuspense is true by default). Add a <Suspense> boundary above this component, or set react.useSuspense: false in the i18next init options. https://react.i18next.com/latest/usetranslation-hook"),new Promise(t=>{const a=()=>t();e.lng?ut(r,e.lng,d,a):ct(r,d,a)})}return j},Gt=(t,e={})=>function(a){function n({forwardedRef:n,...s}){const[r,o,l]=Qt(t,{...s,keyPrefix:e.keyPrefix}),c={...s,t:r,i18n:o,tReady:l};return e.withRef&&n?c.ref=n:!e.withRef&&n&&(c.forwardedRef=n),(0,i.createElement)(a,c)}n.displayName=`withI18nextTranslation(${ht(a)})`,n.WrappedComponent=a;return e.withRef?(0,i.forwardRef)((t,e)=>(0,i.createElement)(n,Object.assign({},t,{forwardedRef:e}))):n},Yt=({ns:t,children:e,...a})=>{const[i,n,s]=Qt(t,a);return e(i,{i18n:n,lng:n?.language},s)};function Xt({i18n:t,defaultNS:e,children:a}){const n=(0,i.useMemo)(()=>({i18n:t,defaultNS:e}),[t,e]);return(0,i.createElement)(At.Provider,{value:n},a)}const Zt=(t,e,a={})=>{const{i18n:n}=a,{i18n:s}=(0,i.useContext)(At)||{},r=n||s||xt();if(r){if(!r.options?.isClone){if(t&&!r.initializedStoreOnce){if(!r.services?.resourceStore)return void ot(r,"I18N_NOT_INITIALIZED","useSSR: i18n instance was found but not initialized (services.resourceStore is missing). Make sure you call i18next.init(
2) before using useSSR â e.g. at module level, not only in getStaticProps/getServerSideProps.");r.services.resourceStore.data=t,r.options.ns=Object.values(t).reduce((t,e)=>(Object.keys(e).forEach(e=>{t.indexOf(e)<0&&t.push(e)}),t),r.options.ns),r.initializedStoreOnce=!0,r.isInitialized=!0}e&&!r.initializedLanguageOnce&&(r.changeLanguage(e),r.initializedLanguageOnce=!0)}}else ot(r,"NO_I18NEXT_INSTANCE","useSSR: You will need to pass in an i18next instance by using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.")},te=()=>function(t){function e({initialI18nStore:e,initialLanguage:a,...n}){return Zt(e,a),(0,i.createElement)(t,{...n})}return e.getInitialProps=Ft(t),e.displayName=`withI18nextSSR(${ht(t)})`,e.WrappedComponent=t,e},ee=()=>"",ae=()=>"",ie=()=>"",ne=()=>"",se=()=>"",re=()=>""},4598:function(t,e,a){"use strict";e.A=void 0;var i=a(4794);e.A=function(t,e,a){void 0===a&&(a=!1);const n="manifest.webmanifest";if(!Array.isArray(e))return n;const s=e.find(e=>{let n=e.start_url;return a&&(n=(0,i.withPrefix)(n)),t.startsWith(n)});return s?`manifest_${s.lang}.webmanifest`:n}},4634:function(t){function e(){return t.exports=e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var i in a)({}).hasOwnProperty.call(a,i)&&(t[i]=a[i])}return t},t.exports.__esModule=!0,t.exports.default=t.exports,e.apply(null,arguments)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4656:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.SCRIPT_TYPE="text/partytown",e.partytownSnippet=t=>((t,e)=>{const{forward:a=[],...i}=t||{},n=JSON.stringify(i,(t,e)=>("function"==typeof e&&(e=String(e)).startsWith(t+"(")&&(e="function "+e),e));return["!(function(w,p,f,c){",Object.keys(i).length>0?`c=w[p]=Object.assign(w[p]||{},${n});`:"c=w[p]=w[p]||{};","c[f]=(c[f]||[])",a.length>0?`.concat(${JSON.stringify(a)})`:"","})(window,'partytown','forward');",e].join("")})(t,'/* Partytown 0.7.6 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(s=e.querySelectorAll(\'script[type="text/partytown"]\'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener("pt0",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?"script":"iframe"),t||(c.setAttribute("style","display:block;width:0;height:0;border:0;visibility:hidden"),c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.7.6":"sandbox-sw.html?"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(".")[0]]})),n=0;n<s.length;n++)(r=e.createElement("script")).innerHTML=s[n].innerHTML,e.head.appendChild(r);c&&c.parentNode.removeChild(c)}function w(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(".").map((function(e,n,i){p=p[i[n]]=n+1<i.length?"push"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),"complete"==e.readyState?u():(t.addEventListener("DOMContentLoaded",u),t.addEventListener("load",u))}(window,document,navigator,top,window.crossOriginIsolated);')},4794:function(t,e,a){"use strict";a.r(e),a.d(e,{Link:function(){return o.N_},PageRenderer:function(){return s()},Script:function(){return x.Script},ScriptStrategy:function(){return x.ScriptStrategy},Slice:function(){return k},StaticQuery:function(){return l.de},StaticQueryContext:function(){return l.G},collectedScriptsByPage:function(){return x.collectedScriptsByPage},graphql:function(){return j},navigate:function(){return o.oo},parsePath:function(){return o.Rr},prefetchPathname:function(){return S},scriptCache:function(){return x.scriptCache},scriptCallbackCache:function(){return x.scriptCallbackCache},useScrollRestoration:function(){return r.RV},useStaticQuery:function(){return l.GR},withAssetPrefix:function(){return o.Zf},withPrefix:function(){return o.Fe}});var i=a(6814),n=a(2549),s=a.n(n),r=a(7035),o=a(7078),l=a(7231),c=a(7387);function u(t){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},u(t)}var h=a(3662);function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function p(t){var e="function"==typeof Map?new Map:void 0;return p=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,a)}function a(){return function(t,e,a){if(d())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var n=new(t.bind.apply(t,i));return a&&(0,h.A)(n,a.prototype),n}(t,arguments,u(this).constructor)}return a.prototype=Object.create(t.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),(0,h.A)(a,t)},p(t)}var g=a(5299),m=a(700),f=a(2024);const v=t=>{let{sliceId:e,children:a}=t;const i=[g.default.createElement("slice-start",{id:`${e}-1`}),g.default.createElement("slice-end",{id:`${e}-1`})];return a&&(i.push(a),i.push(g.default.createElement("slice-start",{id:`${e}-2`}),g.default.createElement("slice-end",{id:`${e}-2`}))),i},y=t=>{let{sliceName:e,allowEmpty:a,children:i,...n}=t;const s=(0,g.useContext)(f.Jr),r=(0,g.useContext)(f.hr),o=s[e];if(!o){if(a)return null;throw new Error(`Slice "${o}" for "${e}" slot not found`)}const l=((t,e)=>Object.keys(e).length?`${t}-${(0,m.U)(e)}`:t)(o,n);let c=r[l];return c?i&&(c.hasChildren=!0):r[l]=c={props:n,sliceName:o,hasChildren:!!i},g.default.createElement(v,{sliceId:l},i)},b=t=>{let{sliceName:e,allowEmpty:a,children:i,...n}=t;const s=(0,g.useContext)(f.Jr),r=(0,g.useContext)(f.dd),o=s[e],l=r.get(o);if(!l){if(a)return null;throw new Error(`Slice "${o}" for "${e}" slot not found`)}return g.default.createElement(l.component,Object.assign({sliceContext:l.sliceContext,data:l.data},n),i)};function k(t){{const e={...t,sliceName:t.alias};delete e.alias,delete e.__renderedByLocation;const a=(0,g.useContext)(f.j$),i=P(t);if(Object.keys(i).length)throw new w("browser"===a.renderEnvironment,e.sliceName,i,t.__renderedByLocation);if("server"===a.renderEnvironment)return g.default.createElement(y,e);if("browser"===a.renderEnvironment)return g.default.createElement(b,e);if("engines"===a.renderEnvironment||"dev-ssr"===a.renderEnvironment)return g.default.createElement(b,e);if("slices"===a.renderEnvironment){let e="";try{e=`\n\nSlice component "${a.sliceRoot.name}" (${a.sliceRoot.componentPath}) tried to render <Slice alias="${t.alias}"/>`}catch{}throw new Error(`Nested slices are not supported.${e}\n\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`)}throw new Error(`Slice context "${a.renderEnvironment}" is not supported.`)}}let w=function(t){function e(a,i,n,s){var r;const o=Object.entries(n).map(t=>{let[e,a]=t;return`not serializable "${a}" type passed to "${e}" prop`}).join(", "),l="SlicePropsError";let c="",u="";if(a){var h,d;let t="";if(g.default.captureOwnerStack){const e=g.default.captureOwnerStack(),a=(new Error).stack||"";t=e?`${a}\n${e}`:a}
2else t=null!==(h=g.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED)&&void 0!==h&&null!==(d=h.ReactDebugCurrentFrame)&&void 0!==d&&d.getCurrentStack?g.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack():(new Error).stack||"";const e=t.trim().split("\n").slice(1);e.length>0&&(e[0]=e[0].trim(),c="\n"+e.join("\n")),u=`Slice "${i}" was passed props that are not serializable (${o}).`}else{u=`${l}: Slice "${i}" was passed props that are not serializable (${o}).`;c=`${u}\n${(new Error).stack.trim().split("\n").slice(2).join("\n")}`}return(r=t.call(this,u)||this).name=l,c?r.stack=c:Error.captureStackTrace(r,e),s&&(r.forcedLocation={...s,functionName:"Slice"}),r}return(0,c.A)(e,t),e}(p(Error));const P=function(t,e,a,i){void 0===e&&(e={}),void 0===a&&(a=[]),void 0===i&&(i=null);for(const[n,s]of Object.entries(t)){if(null==s||!i&&"children"===n)continue;const t=i?`${i}.${n}`:n;"function"==typeof s?e[t]=typeof s:"object"==typeof s&&a.indexOf(s)<=0&&(a.push(s),P(s,e,a,t))}return e};var x=a(5535);const S=i.Ay.enqueue;function j(){throw new Error("It appears like Gatsby is misconfigured. Gatsby related `graphql` calls are supposed to only be evaluated at compile time, and then compiled away. Unfortunately, something went wrong and the query was left in the compiled code.\n\nUnless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.")}},4994:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.__esModule=!0,t.exports.default=t.exports},5458:function(t,e,a){"use strict";a.d(e,{A:function(){return s}});var i=a(3145);var n=a(7800);function s(t){return function(t){if(Array.isArray(t))return(0,i.A)(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||(0,n.A)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},5535:function(t,e,a){"use strict";a.r(e),a.d(e,{Script:function(){return g},ScriptStrategy:function(){return c},collectedScriptsByPage:function(){return o},scriptCache:function(){return d},scriptCallbackCache:function(){return p}});var i=a(5299),n=a(6462);function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i])}return t},s.apply(this,arguments)}const r=new Map,o={get:t=>r.get(t)||[],set(t,e){const a=r.get(t)||[];a.push(e),r.set(t,a)},delete(t){r.delete(t)}},l="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(t){const e=Date.now();return setTimeout(function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})},1)};var c,u;(u=c||(c={})).postHydrate="post-hydrate",u.idle="idle",u.offMainThread="off-main-thread";const h=new Set(["src","strategy","dangerouslySetInnerHTML","children","onLoad","onError"]),d=new Set,p=new Map;function g(t){return i.default.createElement(n.Location,null,()=>i.default.createElement(m,t))}function m(t){const{src:e,strategy:a=c.postHydrate}=t||{},{pathname:r}=(0,n.useLocation)();if((0,i.useEffect)(()=>{let e;switch(a){case c.postHydrate:e=f(t);break;case c.idle:l(()=>{e=f(t)});break;case c.offMainThread:{const e=y(t);o.set(r,e)}}return()=>{const{script:t,loadCallback:a,errorCallback:i}=e||{};a&&(null==t||t.removeEventListener("load",a)),i&&(null==t||t.removeEventListener("error",i)),null==t||t.remove()}},[]),a===c.offMainThread){const n=v(t),l=y(t);return"undefined"==typeof window&&o.set(r,l),i.default.createElement("script",n?s({type:"text/partytown","data-strategy":a,crossOrigin:"anonymous"},l,{dangerouslySetInnerHTML:{__html:v(t)}}):s({type:"text/partytown",src:b(e),"data-strategy":a,crossOrigin:"anonymous"},l))}return null}function f(t){const{id:e,src:a,strategy:i=c.postHydrate,onLoad:n,onError:r}=t||{},o=e||a,l=["load","error"],u={load:n,error:r};if(o){for(const t of l)if(null!=u&&u[t]){var h;const e=p.get(o)||{},{callbacks:a=[]}=(null==e?void 0:e[t])||{};var g,m;a.push(null==u?void 0:u[t]),null!=e&&null!=(h=e[t])&&h.event?null==u||null==(g=u[t])||g.call(u,null==e||null==(m
2=e[t])?void 0:m.event):p.set(o,s({},e,{[t]:{callbacks:a}}))}if(d.has(o))return null}const f=v(t),b=y(t),w=document.createElement("script");e&&(w.id=e),w.dataset.strategy=i;for(const[s,c]of Object.entries(b))w.setAttribute(s,c);f&&(w.textContent=f),a&&(w.src=a);const P={};if(o){for(const t of l){const e=e=>k(e,o,t);w.addEventListener(t,e),P[`${t}Callback`]=e}d.add(o)}return document.body.appendChild(w),{script:w,loadCallback:P.loadCallback,errorCallback:P.errorCallback}}function v(t){const{dangerouslySetInnerHTML:e,children:a=""}=t||{},{__html:i=""}=e||{};return i||a}function y(t){const e={};for(const[a,i]of Object.entries(t))h.has(a)||(e[a]=i);return e}function b(t){if(t)return`/__third-party-proxy?url=${encodeURIComponent(t)}`}function k(t,e,a){const i=p.get(e)||{};for(const s of(null==i||null==(n=i[a])?void 0:n.callbacks)||[]){var n;s(t)}p.set(e,{[a]:{event:t}})}},5543:function(t){"use strict";const e=t=>"string"==typeof t,a=()=>{let t,e;const a=new Promise((a,i)=>{t=a,e=i});return a.resolve=t,a.reject=e,a},i=t=>null==t?"":String(t),n=/###/g,s=t=>t&&t.includes("###")?t.replace(n,"."):t,r=t=>!t||e(t),o=(t,a,i)=>{const n=e(a)?a.split("."):a;let o=0;for(;o<n.length-1;){if(r(t))return{};const e=s(n[o]);!t[e]&&i&&(t[e]=new i),t=Object.prototype.hasOwnProperty.call(t,e)?t[e]:{},++o}return r(t)?{}:{obj:t,k:s(n[o])}},l=(t,e,a)=>{const{obj:i,k:n}=o(t,e,Object);if(void 0!==i||1===e.length)return void(i[n]=a);let s=e[e.length-1],r=e.slice(0,e.length-1),l=o(t,r,Object);for(;void 0===l.obj&&r.length;)s=`${r[r.length-1]}.${s}`,r=r.slice(0,r.length-1),l=o(t,r,Object),l?.obj&&void 0!==l.obj[`${l.k}.${s}`]&&(l.obj=void 0);l.obj[`${l.k}.${s}`]=a},c=(t,e)=>{const{obj:a,k:i}=o(t,e);if(a&&Object.prototype.hasOwnProperty.call(a,i))return a[i]},u=(t,a,i)=>{for(const n in a)"__proto__"!==n&&"constructor"!==n&&(Object.prototype.hasOwnProperty.call(t,n)?e(t[n])||t[n]instanceof String||e(a[n])||a[n]instanceof String?i&&(t[n]=a[n]):u(t[n],a[n],i):t[n]=a[n]);return t},h=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),d={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},p=t=>e(t)?t.replace(/[&<>"'\/]/g,t=>d[t]):t;const g=[" ",",","?","!",";"],m=new class{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const e=this.regExpMap.get(t);if(void 0!==e)return e;const a=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,a),this.regExpQueue.push(t),a}}(20),f=(t,e,a=".")=>{if(!t)return;if(t[e]){if(!Object.prototype.hasOwnProperty.call(t,e))return;return t[e]}const i=e.split(a);let n=t;for(let s=0;s<i.length;){if(!n||"object"!=typeof n)return;let t,e="";for(let r=s;r<i.length;++r)if(r!==s&&(e+=a),e+=i[r],t=n[e],void 0!==t){if(["string","number","boolean"].includes(typeof t)&&r<i.length-1)continue;s+=r-s+1;break}n=t}return n},v=t=>t?.replace(/_/g,"-"),y={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}};class b{constructor(t,e={}){this.init(t,e)}init(t,e={}){this.prefix=e.prefix||"i18next:",this.logger=t||y,this.options=e,this.debug=e.debug}log(...t){return this.forward(t,"log","",!0)}warn(...t){return this.forward(t,"warn","",!0)}error(...t){return this.forward(t,"error","")}deprecate(...t){return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(t,a,i,n){return n&&!this.debug?null:(t=t.map(t=>e(t)?t.replace(/[\r\n\x00-\x1F\x7F]/g," "):t),e(t[0])&&(t[0]=`${i}${this.prefix} ${t[0]}`),this.logger[a](t))}create(t){return new b(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new b(this.logger,t)}}var k=new b;class w{constructor(){this.observers={}}on(t,e){return t.split(" ").forEach(t=>{this.observers[t]||(this.observers[t]=new Map);const a=this.observers[t].get(e)||0;this.observers[t].set(e,a+1)}),this}off(t,e){this.observers[t]&&(e?this.observers[t].delete(e):delete this.observers[t])}once(t,e){const a=(...i)=>{e(...i),this.off(t,a)};return this.on(t,a),this}emit(t,...e){if(this.observers[t]){Array.from(this.observers[t].entries()).forEac
vendor: 3,122 bytes, line 2
2h(([t,a])=>{for(let i=0;i<a;i++)t(...e)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(([a,i])=>{for(let n=0;n<i;n++)a(t,...e)})}}}class P extends w{constructor(t,e={ns:["translation"],defaultNS:"translation"}){super(),this.data=t||{},this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.includes(t)||this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,a,i,n={}){const s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,r=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;t.includes(".")?o=t.split("."):(o=[t,a],i&&(Array.isArray(i)?o.push(...i):e(i)&&s?o.push(...i.split(s)):o.push(i)));const l=c(this.data,o);return l||a||i||!t.includes(".")||(t=o[0],a=o[1],i=o.slice(2).join(".")),!l&&r&&e(i)?f(this.data?.[t]?.[a],i,s):l}addResource(t,e,a,i,n={silent:!1}){const s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[t,e];a&&(r=r.concat(s?a.split(s):a)),t.includes(".")&&(r=t.split("."),i=e,e=r[1]),this.addNamespaces(e),l(this.data,r,i),n.silent||this.emit("added",t,e,a,i)}addResources(t,a,i,n={silent:!1}){for(const s in i)(e(i[s])||Array.isArray(i[s]))&&this.addResource(t,a,s,i[s],{silent:!0});n.silent||this.emit("added",t,a,i)}addResourceBundle(t,e,a,i,n,s={silent:!1,skipCopy:!1}){let r=[t,e];t.includes(".")&&(r=t.split("."),i=a,a=e,e=r[1]),this.addNamespaces(e);let o=c(this.data,r)||{};s.skipCopy||(a=JSON.parse(JSON.stringify(a))),i?u(o,a,n):o={...o,...a},l(this.data,r,o),s.silent||this.emit("added",t,e,a)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return void 0!==this.getResource(t,e)}getResourceBundle(t,e){return e||(e=this.options.defaultNS),this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find(t=>e[t]&&Object.keys(e[t]).length>0)}toJSON(){return this.data}}var x={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,a,i,n){return t.forEach(t=>{e=this.processors[t]?.process(e,a,i,n)??e}),e}};const S=Symbol("i18next/PATH_KEY");function j(t,e){const{[S]:a}=t(function(){const t=[],e=Object.create(null);let a;return e.get=(i,n)=>(a?.revoke?.(),n===S?t:(t.push(n),a=Proxy.revocable(i,e),a.proxy)),Proxy.revocable(Object.create(null),e).proxy}()),i=e?.keySeparator??".",n=e?.nsSeparator??":",s="strict"===e?.enableSelector;if(a.length>1&&n){const t=e?.ns,r=s?Array.isArray(t)?t:t?[t]:null:Array.isArray(t)?t:null;if(r){if((s?r:r.length>1?r.slice(1):[]).includes(a[0]))return`${a[0]}${n}${a.slice(1).join(i)}`}}return a.join(i)}const E=t=>!e(t)&&"boolean"!=typeof t&&"number"!=typeof t;class L extends w{constructor(t,e={}){var a,i;super(),a=t,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
2i18nFormat","utils"].forEach(t=>{a[t]&&(i[t]=a[t])}),this.options=e,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=k.create("translator"),this.checkedLoadedFor={}}changeLanguage(t){t&&(this.language=t)}exists(t,e={interpolation:{}}){const a={...e};if(null==t)return!1;const i=this.resolve(t,a);if(void 0===i?.res)return!1;const n=E(i.res);return!1!==a.returnObjects||!n}extractFromKey(t,a){let i=void 0!==a.nsSeparator?a.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const n=void 0!==a.keySeparator?a.keySeparator:this.options.keySeparator;let s=a.ns||this.options.defaultNS||[];const r=i&&t.includes(i),o=!(this.options.userDefinedKeySeparator||a.keySeparator||this.options.userDefinedNsSeparator||a.nsSeparator||((t,e,a)=>{e=e||"",a=a||"";const i=g.filter(t=>!e.includes(t)&&!a.includes(t));if(0===i.length)return!0;const n=m.getRegExp(`(${i.map(t=>"?"===t?"\\?":t).join("|")})`);let s=!n.test(t);if(!s){const e=t.indexOf(a);e>0&&!n.test(t.substring(0,e))&&(s=!0)}return s})(t,i,n));if(r&&!o){const a=t.match(this.interpolator.nestingRegexp);if(a&&a.length>0)return{key:t,namespaces:e(s)?[s]:s};const r=t.split(i);(i!==n||i===n&&this.options.ns.includes(r[0]))&&(s=r.shift()),t=r.join(n)}return{key:t,namespaces:e(s)?[s]:s}}translate(t,a,i){let n="object"==typeof a?{...a}:a;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==t)return"";"function"==typeof t&&(t=j(t,{...this.options,...n})),Array.isArray(t)||(t=[String(t)]),t=t.map(t=>"function"==typeof t?j(t,{...this.options,...n}):String(t));const s=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:o,namespaces:l}=this.extractFromKey(t[t.length-1],n),c=l[l.length-1];let u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");const h=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===h?.toLowerCase())return d?s?{res:`${c}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:h,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:`${c}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:h,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:o;const p=this.resolve(t,n);let g=p?.res;const m=p?.usedKey||o,f=p?.exactUsedKey||o,v=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!e(n.count),k=L.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(h,n.count,n):"",P=n.ordinal&&b?this.pluralResolver.getSuffix(h,n.count,{ordinal:!1}):"",x=b&&!n.ordinal&&0===n.count,S=x&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${P}`]||n.defaultValue;let C=g;y&&!g&&k&&(C=S);const R=E(C),z=Object.prototype.toString.apply(C);if(!(y&&C&&R)||["[object Number]","[object Function]","[object RegExp]"].includes(z)||e(v)&&Array.isArray(C))if(y&&e(v)&&Array.isArray(g))g=g.join(v),g&&(g=this.extendTranslation(g,t,n,i));else{let e=!1,a=!1;!this.isValidLookup(g)&&k&&(e=!0,g=S),this.isValidLookup(g)||(a=!0,g=o);const s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:g,l=k&&S!==g&&this.options.updateMissing;if(a||e||l){if(this.logger.log(l?"updateKey":"missingKey",h,c,b&&!l?`${o}${this.pluralResolver.getSuffix(h,n.count,n)}`:o,l?S:g),r){const t=this.resolve(o,{...n,keySeparator:!1});t&&t.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let t=[];const e=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&e&&e[0])for(let i=0;i<e.length;i++)t.push(e[i]);else"all"===this.options.saveMissingTo?t=this.languageUtils.toResolveHierarchy(n.lng||this.language):t.push(n.lng||this.language);const a=(t,e,a)=>{const i=k&&a!==g?a:s;this.options.missingKeyHandler?this.options.missingKeyHandler(t,c,e,i,l,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(t,c,e,i,l,n),this.emit
vendor: 9,993 bytes, line 2
2("missingKey",t,c,e,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?t.forEach(t=>{const e=this.pluralResolver.getSuffixes(t,n);x&&n[`defaultValue${this.options.pluralSeparator}zero`]&&!e.includes(`${this.options.pluralSeparator}zero`)&&e.push(`${this.options.pluralSeparator}zero`),e.forEach(e=>{a([t],o+e,n[`defaultValue${e}`]||S)})}):a(t,o,S))}g=this.extendTranslation(g,t,n,p,i),a&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${c}${u}${o}`),(a||e)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}${u}${o}`:o,e?g:void 0,n))}else{if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const t=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,C,{...n,ns:l}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(p.res=t,p.usedParams=this.getUsedParamsDetails(n),p):t}if(r){const t=Array.isArray(C),e=t?[]:{},a=t?f:m;for(const i in C)if(Object.prototype.hasOwnProperty.call(C,i)){const t=`${a}${r}${i}`;e[i]=k&&!g?this.translate(t,{...n,defaultValue:E(S)?S[i]:void 0,joinArrays:!1,ns:l}):this.translate(t,{...n,joinArrays:!1,ns:l}),e[i]===t&&(e[i]=C[i])}g=e}}return s?(p.res=g,p.usedParams=this.getUsedParamsDetails(n),p):g}extendTranslation(t,a,i,n,s){if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const r=e(t)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let o;if(r){const e=t.match(this.interpolator.nestingRegexp);o=e&&e.length}let l=i.replace&&!e(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),t=this.interpolator.interpolate(t,l,i.lng||this.language||n.usedLng,i),r){const e=t.match(this.interpolator.nestingRegexp);o<(e&&e.length)&&(i.nest=!1)}!i.lng&&n&&n.res&&(i.lng=this.language||n.usedLng),!1!==i.nest&&(t=this.interpolator.nest(t,(...t)=>s?.[0]!==t[0]||i.context?this.translate(...t,a):(this.logger.warn(`It seems you are nesting recursively key: ${t[0]} in key: ${a[0]}`),null),i)),i.interpolation&&this.interpolator.reset()}const r=i.postProcess||this.options.postProcess,o=e(r)?[r]:r;return null!=t&&o?.length&&!1!==i.applyPostProcessor&&(t=x.handle(o,t,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),t}resolve(t,a={}){let i,n,s,r,o;return e(t)&&(t=[t]),Array.isArray(t)&&(t=t.map(t=>"function"==typeof t?j(t,{...this.options,...a}):t)),t.forEach(t=>{if(this.isValidLookup(i))return;const l=this.extractFromKey(t,a),c=l.key;n=c;let u=l.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==a.count&&!e(a.count),d=h&&!a.ordinal&&0===a.count,p=void 0!==a.context&&(e(a.context)||"number"==typeof a.context)&&""!==a.context,g=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach(t=>{this.isValidLookup(i)||(o=t,this.checkedLoadedFor[`${g[0]}-${t}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(o)||(this.checkedLoadedFor[`${g[0]}-${t}`]=!0,this.logger.warn(`key "${n}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(e=>{if(this.isValidLookup(i))return;r=e;const n=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(n,c,e,t,a);else{let t;h&&(t=this.pluralResolver.getSuffix(e,a.count,a));const i=`${this.options.pluralSeparator}zero`,s=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(a.ordinal&&t.startsWith(s)&&n.push(c+t.replace(s,this.options.pluralSeparator)),n.push(c+t),d&&n.push(c+i)),p){const e=`${c}${this.options.contextSeparator||"_"}${a.context}`;n.push(e),h&&(a.ordinal&&t.startsWith(s)&&n.push(e+t.replace(s,this.options.pluralSeparator)),n.push(e+t),d&&n.push(e+i))}}let o;for(;o=n.pop();)this.isValidLookup(i)||(s=o,i=this.getResource(e,t,o,a))}))})}),{res:i,usedKey:n,exactUsedKey:s,usedLng:r,usedNS:o}}isValidLookup(t){return!(void 0===t||!this.options.returnNull&&null===t||!this.options.returnEmptyString&&""===t)}getResource(t,e,a,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,e,a,i):this.resourceStore.getResource(t,e,a,i)}getUsedParamsDetails(t={}){const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&!e(t.replace);let n=i?t.replace:t;if(i&&void 0!==t.count&&(n={...n,count:t.count}),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!i){n={...n};for(const t of a)delete n[t]}return n}static hasDefaultValue(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&e.startsWith("defaultValue")&&void 0!==t[e])return!0;return!1}}class C{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=k.create("languageUtils"),this.resolveHierarchyCache={}}clearCache(){this.resolveHierarchyCache={}}getScriptPartFromCode(t){if(!(t=v(t))||!t.includes("-"))return null;const e=t.split("-");return 2===e.length?null:(e.pop(),"x"===e[e.length-1].toLowerCase()?null:this.formatLanguageCode(e.join("-")))}getLanguagePartFromCode(t){if(!(t=v(t))||!t.includes("-"))return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if(e(t)&&t.includes("-")){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch(a){}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(t)}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach(t=>{if(e)return;const a=this.formatLanguageCode(t);this.options.supportedLngs&&!this.isSupportedCode(a)||(e=a)}),!e&&this.options.supportedLngs&&t.forEach(t=>{if(e)return;const a=this.getScriptPartFromCode(t);if(this.isSupportedCode(a))return e=a;const i=this.getLanguagePartFromCode(t);if(this.isSupportedCode(i))return e=i;e=this.options.supportedLngs.find(t=>t===i||!(!t.includes("-")&&!i.includes("-"))&&(!(!t.includes("-")||i.includes("-")||t.slice(0,t.indexOf("-"))!==i)||!!(t.startsWith(i)&&i.length>1)))}),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,a){if(!t)return[];if("function"==typeof t&&(t=t(a)),e(t)&&(t=[t]),Array.isArray(t))return t;if(!a)return t.default||[];let i=t[a];return i||(i=t[this.getScriptPartFromCode(a)]),i||(i=t[this.formatLanguageCode(a)]),i||(i=t[this.getLanguagePartFromCode(a)]),i||(i=t.default),i||[]}toResolveHierarchy(t,a){const i=this.options.fallbackLng,n=Array.isArray(i)?i.join("|"):i;n!==this._cachedFallbackLng&&(this.resolveHierarchyCache={},this._cachedFallbackLng=n);const s=void 0===a||!1===a||e(a),r=void 0===a&&"function"==typeof this.options.fallbackLng;let o=null;if(e(t)&&s&&!r){let e;e=void 0===a?"undefined":!1===a?"boolean:false":`string:${a}`,o=`${t.length}:${t}|${e}`}if(null!==o){const t=this.resolveHierarchyCache[o];if(void 0!==t)return t.slice()}const l=this.getFallbackCodes((!1===a?[]:a)||this.options.fallbackLng||[],t),c=[],u=t=>{t&&(this.isSupportedCode(t)?c.push(t):this.logger.warn(`rejecting language code not found in supportedLngs: ${t}`))};return e(t)&&(t.includes("-")||t.includes("_"))?("languageOnly"!==this.options.load&&u(this.formatLanguageCode(t)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&u(this.getScriptPartFromCode(t)),"currentOnly"!==this.options.load&&u(this.getLanguagePartFromCode(t))):e(t)&&u(this.formatLanguageCode(t)),l.forEach(t=>{c.includes(t)||u(this.formatLanguageCode(t))}),null!==o?(this.resolveHierarchyCache[o]=c,c.slice()):c}}const R={zero:0,one:1,two:2,few:3,many:4,other:5},z={select:t=>1===t?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class O{constructor(t,e={}){this.languageUtils=t,this.options=e,this.logger=k.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(t,e={}){const a=v("dev"===t?"en":t),i=e.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:a,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let s;try{s=new Intl.PluralRules(a,{type:i})}catch(r){if("undefined"==typeof Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),z;if(!t.match(/-|_/))return z;const a=this.languageUtils.getLanguagePartFromCode(t);s=this.getRule(a,e)}return this.pluralRulesCache[n]=s,s}needsPlural(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,e,a={}){return this.getSuffixes(t,a).map(t=>`${e}${t}`)}getSuffixes(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?a.resolvedOptions().pluralCategories.sort((t,e)=>R[t]-R[e]).map(t=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${t}`):[]}getSuffix(t,e,a={}){const i=this.getRule(t,a);return i?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${i.select(e)}`:(this.logger.warn(`no plural rule found for: ${t}
2`),this.getSuffix("dev",e,a))}}const N=(t,a,i,n=".",s=!0)=>{let r=((t,e,a)=>{const i=c(t,a);return void 0!==i?i:c(e,a)})(t,a,i);return!r&&s&&e(i)&&(r=f(t,i,n),void 0===r&&(r=f(a,i,n))),r},$=t=>t.replace(/\$/g,"$$$$");class _{constructor(t={}){this.logger=k.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(t=>t),this.init(t)}init(t={}){t.interpolation||(t.interpolation={escapeValue:!0});const{escape:e,escapeValue:a,useRawValueToEscape:i,prefix:n,prefixEscaped:s,suffix:r,suffixEscaped:o,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:g,nestingSuffix:m,nestingSuffixEscaped:f,nestingOptionsSeparator:v,maxReplaces:y,alwaysFormat:b}=t.interpolation;this.escape=void 0!==e?e:p,this.escapeValue=void 0===a||a,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?h(n):s||"{{",this.suffix=r?h(r):o||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u?h(u):"-",this.unescapeSuffix=this.unescapePrefix?"":c?h(c):"",this.nestingPrefix=d?h(d):g||h("$t("),this.nestingSuffix=m?h(m):f||h(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(t,e)=>t?.source===e?(t.lastIndex=0,t):new RegExp(e,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(t,a,n,s){let r,o,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=t=>{if(!t.includes(this.formatSeparator)){const e=N(a,c,t,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(e,void 0,n,{...s,...a,interpolationkey:t}):e}const e=t.split(this.formatSeparator),i=e.shift().trim(),r=e.join(this.formatSeparator).trim();return this.format(N(a,c,i,this.options.keySeparator,this.options.ignoreJSONStructure),r,n,{...s,...a,interpolationkey:i})};this.resetRegExp(),!this.escapeValue&&"string"==typeof t&&/\$t\([^)]*\{[^}]*\{\{/.test(t)&&this.logger.warn("nesting options string contains interpolated variables with escapeValue: false â if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");const h=s?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=void 0!==s?.interpolation?.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:t=>t},{regex:this.regexp,safeValue:t=>this.escapeValue?this.escape(t):t}].forEach(a=>{for(l=0;r=a.regex.exec(t);){const n=r[1].trim();if(o=u(n),void 0===o)if("function"==typeof h){const a=h(t,r,s);o=e(a)?a:""}else if(s&&Object.prototype.hasOwnProperty.call(s,n))o="";else{if(d){o=r[0];continue}this.logger.warn(`missed to pass in variable ${n} for interpolating ${t}`),o=""}else e(o)||this.useRawValueToEscape||(o=i(o));const c=a.safeValue(o);if(t=t.replace(r[0],$(c)),d?(a.regex.lastIndex+=c.length,a.regex.lastIndex-=r[0].length):a.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,a,n={}){let s,r,o;const l=(t,e)=>{const a=this.nestingOptionsSeparator;if(!t.includes(a))return t;const i=t.split(new RegExp(`${h(a)}[ ]*{`));let n=`{${i[1]}`;t=i[0],n=this.interpolate(n,o);const s=n.match(/'/g),r=n.match(/"/g);((s?.length??0)%2==0&&!r||(r?.length??0)%2!=0)&&(n=n.replace(/'/g,'"'));try{o=JSON.parse(n),e&&(o={...e,...o})}catch(l){return this.logger.warn(`failed parsing options string in nesting for key ${t}`,l),`${t}${a}${n}`}return o.defaultValue&&o.defaultValue.includes(this.prefix)&&delete o.defaultValue,t};for(;s=this.nestingRegexp.exec(t);){let c=[];o={...n},o=o.replace&&!e(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;const u=/{.*}/s.test(s[1])?s[1].lastIndexOf("}")+1:s[1].indexOf(this.formatSeparator);if(-1!==u&&(c=s[1].slice(u).split(this.formatSeparator).map(t=>
vendor: 15,389 bytes, line 2
2t.trim()).filter(Boolean),s[1]=s[1].slice(0,u)),r=a(l.call(this,s[1].trim(),o),o),r&&s[0]===t&&!e(r))return r;e(r)||(r=i(r)),r||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${t}`),r=""),c.length&&(r=c.reduce((t,e)=>this.format(t,e,n.lng,{...n,interpolationkey:s[1].trim()}),r.trim())),t=t.replace(s[0],$(i(r))),this.regexp.lastIndex=0}return t}}const A=t=>{const e={};return(a,i,n)=>{let s=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(s={...s,[n.interpolationkey]:void 0});const r=i+JSON.stringify(s);let o=e[r];return o||(o=t(v(i),n),e[r]=o),o(a)}},T=t=>(e,a,i)=>t(v(a),i)(e);class F{constructor(t={}){this.logger=k.create("formatter"),this.options=t,this.init(t)}init(t,e={interpolation:{}}){this.formatSeparator=e.interpolation.formatSeparator||",";const a=e.cacheInBuiltFormats?A:T;this.formats={number:a((t,e)=>{const a=new Intl.NumberFormat(t,{...e});return t=>a.format(t)}),currency:a((t,e)=>{const a=new Intl.NumberFormat(t,{...e,style:"currency"});return t=>a.format(t)}),datetime:a((t,e)=>{const a=new Intl.DateTimeFormat(t,{...e});return t=>a.format(t)}),relativetime:a((t,e)=>{const a=new Intl.RelativeTimeFormat(t,{...e});return t=>a.format(t,e.range||"day")}),list:a((t,e)=>{const a=new Intl.ListFormat(t,{...e});return t=>a.format(t)})}}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=A(e)}format(t,e,a,i={}){if(!e)return t;if(null==t)return t;const n=e.split(this.formatSeparator),s=[];for(let r=0;r<n.length;r++){let t=n[r];for(;t.indexOf("(")>-1&&!t.includes(")")&&r+1<n.length;)t=`${t}${this.formatSeparator}${n[++r]}`;s.push(t)}return s.reduce((t,e)=>{const{formatName:n,formatOptions:s}=(t=>{let e=t.toLowerCase().trim();const a={};if(t.includes("(")){const i=t.split("(");e=i[0].toLowerCase().trim();const n=i[1].slice(0,-1);"currency"!==e||n.includes(":")?"relativetime"!==e||n.includes(":")?n.split(";").forEach(t=>{if(t){const[e,...i]=t.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),s=e.trim();a[s]||(a[s]=n),"false"===n&&(a[s]=!1),"true"===n&&(a[s]=!0),isNaN(n)||(a[s]=parseInt(n,10))}}):a.range||(a.range=n.trim()):a.currency||(a.currency=n.trim())}return{formatName:e,formatOptions:a}})(e);if(this.formats[n]){let e=t;try{const r=i?.formatParams?.[i.interpolationkey]||{},o=r.locale||r.lng||i.locale||i.lng||a;e=this.formats[n](t,o,{...s,...i,...r})}catch(r){this.logger.warn(r)}return e}return this.logger.warn(`there was no format function for ${n}`),t},t)}}class D extends w{constructor(t,e,a,i={}){super(),this.backend=t,this.store=e,this.services=a,this.languageUtils=a.languageUtils,this.options=i,this.logger=k.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(a,i.backend,i)}queueLoad(t,e,a,i){const n={},s={},r={},o={};return t.forEach(t=>{let i=!0;e.forEach(e=>{const r=`${t}|${e}`;!a.reload&&this.store.hasResourceBundle(t,e)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===s[r]&&(s[r]=!0):(this.state[r]=1,i=!1,void 0===s[r]&&(s[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===o[e]&&(o[e]=!0)))}),i||(r[t]=!0)}),(Object.keys(n).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(s),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(o)}}loaded(t,e,a){const i=t.split("|"),n=i[0],s=i[1];e&&this.emit("failedLoading",n,s,e),!e&&a&&this.store.addResourceBundle(n,s,a,void 0,void 0,{skipCopy:!0}),this.state[t]=e?-1:2,e&&a&&(this.state[t]=0);const r={};this.queue.forEach(a=>{((t,e,a)=>{const{obj:i,k:n}=o(t,e,Object);i[n]=i[n]||[],i[n].push(a)})(a.loaded,[n],s),((t,e)=>{void 0!==t.pending[e]&&(delete t.pending[e],t.pendingCount--)})(a,t),e&&a.errors.push(e),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach(t=>{r[t]||(r[t]={});const e=a.loaded[t];e.length&&e.forEach(e=>{void 0===r[t][e]&&(r[t][e]=!0)})}),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())}),this.emit("loaded",r),this.queue=this.queue.filter(t=>!t.done)}read(t,e,a,i=0,n=this.retryTimeout,s){if(!t.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:t,ns:e,fcName:a,tried:i,wait:n,callback:s});this.readingCalls++;const r=(r,o)=>{if(this.readingCalls--,this.waitingReads.length>0){const t=this.waitingReads.shift();this.read(t.lng,t.ns,t.fcName,t.tried,t.wait,t.callback)}r&&o&&i<this.maxRetries?setTimeout(()=>{this.read(t,e,a,i+1,2*n,s)},n):s(r,o)},o=this.backend[a].bind(this.backend);if(2!==o.length)return o(t,e,r);try{const a=o(t,e);a&&"function"==typeof a.then?a.then(t=>r(null,t)).catch(r):r(null,a)}catch(l){r(l)}}prepareLoading(t,a,i={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();e(t)&&(t=this.languageUtils.toResolveHierarchy(t)),e(a)&&(a=[a]);const s=this.queueLoad(t,a,i,n);if(!s.toLoad.length)return s.pending.length||n(),null;s.toLoad.forEach(t=>{this.loadOne(t)})}load(t,e,a){this.prepareLoading(t,e,{},a)}reload(t,e,a){this.prepareLoading(t,e,{reload:!0},a)}loadOne(t,e=""){const a=t.split("|"),i=a[0],n=a[1];this.read(i,n,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${e}loading namespace ${n} for language ${i} failed`,a),!a&&s&&this.logger.log(`${e}loaded namespace ${n} for language ${i}`,s),this.loaded(t,a,s)})}saveMissing(t,e,a,i,n,s={},r=()=>{}){if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(e)){if(null!=a&&""!==a){if(this.backend?.create){const l={...s,isUpdate:n},c=this.backend.create.bind(this.backend);if(c.length<6)try{let n;n=5===c.length?c(t,e,a,i,l):c(t,e,a,i),n&&"function"==typeof n.then?n.then(t=>r(null,t)).catch(r):r(null,n)}catch(o){r(o)}else c(t,e,a,i,r,l)}t&&t[0]&&this.store.addResource(t[0],e,a,i)}}else this.logger.warn(`did not save key "${a}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const I=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let a={};if("object"==typeof t[1]&&(a=t[1]),e(t[1])&&(a.defaultValue=t[1]),e(t[2])&&(a.tDescription=t[2]),"object"==typeof t[2]||"object"==typeof t[3]){const e=t[3]||t[2];Object.keys(e).forEach(t=>{a[t]=e[t]})}return a},interpolation:{escapeValue:!0,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),U=t=>(e(t.ns)&&(t.ns=[t.ns]),e(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),e(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs&&!t.supportedLngs.includes("cimode")&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),t),M=()=>{};class H extends w{constructor(t={},e){var a;if(super(),this.options=U(t),this.services={},this.logger=k,this.modules={external:[]},a=this,Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach(t=>{"function"==typeof a[t]&&(a[t]=a[t].bind(a))}),e&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,e),this;setTimeout(()=>{this.init(t,e)},0)}}init(t={},i){this.isInitializing=!0,"function"==typeof t&&(i=t,t={}),null==t.defaultNS&&t.ns&&(e(t.ns)?t.defaultNS=t.ns:t.ns.includes("translation")||(t.defaultNS=t.ns[0]));const n=I();this.options={...n,...this.options,...U(t)},this.options.interpolation={...n.interpolation,...this.options.interpolation},void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),"function"!=typeof this.options.overloadTranslationOptionHandler&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);const s=t=>t?"function"==typeof t?new t:t:null;if(!this.options.isClone){let t;this.modules.logger?k.init(s(this.modules.logger),this.options):k.init(null,this.options),t=this.modules.formatter?this.modules.formatter:F;const e=new C(this.options);this.store=new P(this.options.resources,this.options);const a=this.services;a.logger=k,a.resourceStore=this.store,a.languageUtils=e,a.pluralResolver=new O(e,{prepend:this.options.pluralSeparator}),t&&(a.formatter=s(t),a.formatter.init&&a.formatter.init(a,this.options),this.options.interpolation.format=a.formatter.format.bind(a.formatter)),a.interpolator=new _(this.options),a.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},a.backendConnector=new D(s(this.modules.backend),a.resourceStore,a,this.options),a.backendConnector.on("*",(t,...e)=>{this.emit(t,...e)}),this.modules.languageDetector&&(a.languageDetector=s(this.modules.languageDetector),a.languageDetector.init&&a.languageDetector.init(a,this.options.detection,this.options)),this.modules.i18nFormat&&(a.i18nFormat=s(this.modules.i18nFormat),a.i18nFormat.init&&a.i18nFormat.init(this)),this.translator=new L(this.services,this.options),this.translator.on("*",(t,...e)=>{this.emit(t,...e)}),this.modules.external.forEach(t=>{t.init&&t.init(this)})}if(this.format=this.options.interpolation.format,i||(i=M),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const t=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);t.length>0&&"dev"!==t[0]&&(this.options.lng=t[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(t=>{this[t]=(...e)=>this.store[t](...e)});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(t=>{this[t]=(...e)=>(this.store[t](...e),this)});const r=a(),o=()=>{const t=(t,e)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),r.resolve(e),i(t,e)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return t(null,this.t.bind(this));this.changeLanguage(this.options.lng,t)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),r}loadResources(t,a=M){let i=a;const n=e(t)?t:this.language;if("function"==typeof t&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===n?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return i();const t=[],e=e=>{if(!e)return;if("cimode"===e)return;this.services.languageUtils.toResolveHierarchy(e).forEach(e=>{"cimode"!==e&&(t.includes(e)||t.push(e))})};if(n)e(n);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(t=>e(t))}this.options.preload?.forEach?.(t=>e(t)),this.services.backendConnector.load(t,this.options.ns,t=>{t||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),i(t)})}else i(null)}reloadResources(t,e,i){const n=a();return"function"==typeof t&&(i=t,t=void 0),"function"==typeof e&&(i=e,e=void 0),t||(t=this.languages),e||(e=this.options.ns),i||(i=M),this.services.backendConnector.reload(t,e,t=>{n.resolve(),i(t)}),n}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===t.type&&(this.modules.backend=t),("logger"===t.type||t.log&&t.warn&&t.error)&&(this.modules.logger=t),"languageDetector"===t.type&&(this.modules.languageDetector=t),"i18nFormat"===t.type&&(this.modules.i18nFormat=t),"postProcessor"===t.type&&x.addPostProcessor(t),"formatter"===t.type&&(this.modules.formatter=t),"3rdParty"===t.type&&this.modules.external.push(t),this}setResolvedLanguage(t){if(t&&this.languages&&!["cimode","dev"].includes(t)){for(let t=0;t<this.languages.length;t++){const e=this.languages[t];if(!["cimode","dev"].includes(e)&&this.store.hasLanguageSomeTranslations(e)){this.resolvedLanguage=e;break}}this.resolvedLanguage||this.languages.includes(t)||!this.store.hasLanguageSomeTranslations(t)||(this.resolvedLanguage=t,this.languages.unshift(t))}}changeLanguage(t,i){this.isLanguageChangingTo=t;const n=a();this.emit("languageChanging",t);const s=t=>{this.language=t,this.languages=this.services.languageUtils.toResolveHierarchy(t),this.resolvedLanguage=void 0,this.setResolvedLanguage(t)},r=(e,a)=>{a?this.isLanguageChangingTo===t&&(s(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,n.resolve((...t)=>this.t(...t)),i&&i(e,(...t)=>this.t(...t))},o=a=>{t||a||!this.services.languageDetector||(a=[]);const i=e(a)?a:a&&a[0],n=this.store.hasLanguageSomeTranslations(i)?i:this.services.languageUtils.getBestMatchFromCodes(e(a)?[a]:a);n&&(this.language||s(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector?.cacheUserLanguage?.(n)),this.loadResources(n,t=>{r(t,n)})};return t||!this.services.languageDetector||this.services.languageDetector.async?!t&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(t):o(this.services.languageDetector.detect()),n}getFixedT(t,a,i,n){const s=n?.scopeNs,r=(t,e,...a)=>{let n;n="object"!=typeof e?this.options.overloadTranslationOptionHandler([t,e].concat(a)):{...e},n.lng=n.lng||r.lng,n.lngs=n.lngs||r.lngs;const o=void 0!==n.ns&&null!==n.ns;n.ns=n.ns||r.ns,""!==n.keyPrefix&&(n.keyPrefix=n.keyPrefix||i||r.keyPrefix);const l={...this.options,...n};Array.isArray(s)&&!o&&(l.ns=s),"function"==typeof n.keyPrefix&&(n.keyPrefix=j(n.keyPrefix,l));const c=this.options.keySeparator||".";let u;return n.keyPrefix&&Array.isArray(t)?u=t.map(t=>("function"==typeof t&&(t=j(t,l)),`${n.keyPrefix}${c}${t}`)):("function"==typeof t&&(t=j(t,l)),u=n.keyPrefix?`${n.keyPrefix}${c}${t}`:t),this.t(u,n)};return e(t)?r.lng=t:r.lngs=t,r.ns=a,r.keyPrefix=i,r}t(...t){return this.translator?.translate(...t)}exists(...t){return this.translator?.exists(...t)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t,e={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
2if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=e.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===a.toLowerCase())return!0;const s=(t,e)=>{const a=this.services.backendConnector.state[`${t}|${e}`];return-1===a||0===a||2===a};if(e.precheck){const t=e.precheck(this,s);if(void 0!==t)return t}return!!this.hasResourceBundle(a,t)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!s(a,t)||i&&!s(n,t)))}loadNamespaces(t,i){const n=a();return this.options.ns?(e(t)&&(t=[t]),t.forEach(t=>{this.options.ns.includes(t)||this.options.ns.push(t)}),this.loadResources(t=>{n.resolve(),i&&i(t)}),n):(i&&i(),Promise.resolve())}loadLanguages(t,i){const n=a();e(t)&&(t=[t]);const s=this.options.preload||[],r=t.filter(t=>!s.includes(t)&&this.services.languageUtils.isSupportedCode(t));return r.length?(this.options.preload=s.concat(r),this.loadResources(t=>{n.resolve(),i&&i(t)}),n):(i&&i(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!t)return"rtl";try{const e=new Intl.Locale(t);if(e&&e.getTextInfo){const t=e.getTextInfo();if(t&&t.direction)return t.direction}}catch(a){}const e=this.services?.languageUtils||new C(I());return t.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].includes(e.getLanguagePartFromCode(t))||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(t={},e){const a=new H(t,e);return a.createInstance=H.createInstance,a}cloneInstance(t={},e=M){const a=t.forkResourceStore;a&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},n=new H(i);void 0===t.debug&&void 0===t.prefix||(n.logger=n.logger.clone(t));if(["store","services","language"].forEach(t=>{n[t]=this[t]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},a){const t=Object.keys(this.store.data).reduce((t,e)=>(t[e]={...this.store.data[e]},t[e]=Object.keys(t[e]).reduce((a,i)=>(a[i]={...t[e][i]},a),t[e]),t),{});n.store=new P(t,i),n.services.resourceStore=n.store}if(t.interpolation){const e={...I().interpolation,...this.options.interpolation,...t.interpolation},a={...i,interpolation:e};n.services.interpolator=new _(a)}return n.translator=new L(n.services,i),n.translator.on("*",(t,...e)=>{n.emit(t,...e)}),n.init(i,e),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const V=H.createInstance();V.keyFromSelector=j,t.exports=V},5616:function(t,e,a){"use strict";var i=a(7688),n=i.DEFAULT_OPTIONS,s=i.imageClass,r=i.imageBackgroundClass,o=i.imageWrapperClass;e.onRouteUpdate=function(t,e){for(var a=Object.assign({},n,e),i=document.querySelectorAll("."+o),l=function(){var t=i[c],e=t.querySelector("."+r),n=t.querySelector("."+s),o=function(){e.style.transition="opacity 0.5s 0.5s",n.style.transition="opacity 0.5s",l()},l=function t(){e.style.opacity=0,n.style.opacity=1,n.style.color="inherit",n.style.boxShadow="inset 0px 0px 0px 400px "+a.backgroundColor,n.removeEventListener("load",o),n.removeEventListener("error",t)};n.style.opacity=0,n.addEventListener("load",o),n.addEventListener("error",l),n.complete&&l()},c=0;c<i.length;c++)l()}},5636:function(t){function e(a,i){return t.exports=e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,e(a,i)}
2t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},6221:function(t,e,a){var i=a(5636);t.exports=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,i(t,e)},t.exports.__esModule=!0,t.exports.default=t.exports},6395:function(t,e){"use strict";e.T=void 0;const a=[".html",".json",".js",".map",".txt",".xml",".pdf"];e.T=(t,e="always")=>{if("/"===t)return t;const i=t.endsWith("/");return((t,e)=>{for(const a of t)if(e.endsWith(a))return!0;return!1})(a,t)?t:"always"===e?i?t:`${t}/`:"never"===e&&i?t.slice(0,-1):t}},6462:function(t,e,a){"use strict";a.r(e),a.d(e,{BaseContext:function(){return m},Link:function(){return q},Location:function(){return Y},LocationContext:function(){return f},LocationProvider:function(){return G},Match:function(){return Z},Redirect:function(){return x},Router:function(){return rt},ServerLocation:function(){return X},createHistory:function(){return c},createMemorySource:function(){return u},globalHistory:function(){return d},insertParams:function(){return C},isRedirect:function(){return k},match:function(){return E},navigate:function(){return p},pick:function(){return j},redirectTo:function(){return w},resolve:function(){return L},shallowCompare:function(){return D},startsWith:function(){return S},useBaseContext:function(){return v},useLocation:function(){return lt},useLocationContext:function(){return y},useMatch:function(){return ht},useNavigate:function(){return ct},useParams:function(){return ut},validateRedirect:function(){return R}});var i=a(5299),n=a(5556),s=a(311);function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i])}return t},r.apply(this,arguments)}function o(t,e){if(null==t)return{};var a,i,n={},s=Object.keys(t);for(i=0;i<s.length;i++)e.indexOf(a=s[i])>=0||(n[a]=t[a]);return n}const l=t=>{const{search:e,hash:a,href:i,origin:n,protocol:s,host:r,hostname:o,port:l}=t.location;let{pathname:c}=t.location;return!c&&i&&h&&(c=new URL(i).pathname),{pathname:encodeURI(decodeURI(c)),search:e,hash:a,href:i,origin:n,protocol:s,host:r,hostname:o,port:l,state:t.history.state,key:t.history.state&&t.history.state.key||"initial"}},c=(t,e)=>{let a=[],i=l(t),n=!1,s=()=>{};return{get location(){return i},get transitioning(){return n},_onTransitionComplete(){n=!1,s()},listen(e){a.push(e);const n=()=>{i=l(t),e({location:i,action:"POP"})};return t.addEventListener("popstate",n),()=>{t.removeEventListener("popstate",n),a=a.filter(t=>t!==e)}},navigate(e,{state:o,replace:c=!1}={}){if("number"==typeof e)t.history.go(e);else{o=r({},o,{key:Date.now()+""});try{n||c?t.history.replaceState(o,null,e):t.history.pushState(o,null,e)}catch(a){t.location[c?"replace":"assign"](e)}}i=l(t),n=!0;const u=new Promise(t=>s=t);return a.forEach(t=>t({location:i,action:"PUSH"})),u}}},u=(t="/")=>{const e=t.indexOf("?"),a={pathname:e>-1?t.substr(0,e):t,search:e>-1?t.substr(e):""};let i=0;const n=[a],s=[null];return{get location(){return n[i]},addEventListener(t,e){},removeEventListener(t,e){},history:{get entries(){return n},get index(){return i},get state(){return s[i]},pushState(t,e,a){const[r,o=""]=a.split("?");i++,n.push({pathname:r,search:o.length?`?${o}`:o}),s.push(t)},replaceState(t,e,a){const[r,o=""]=a.split("?");n[i]={pathname:r,search:o},s[i]=t},go(t){const e=i+t;e<0||e>s.length-1||(i=e)}}}},h=!("undefined"==typeof window||!window.document||!window.document.createElement),d=c(h?window:u()),{navigate:p}=d;function g(t,e){return i.default.createServerContext?((t,e=null)=>(globalThis.__SERVER_CONTEXT||(globalThis.__SERVER_CONTEXT={}),globalThis.__SERVER_CONTEXT[t]||(globalThis.__SERVER_CONTEXT[t]=i.default.createServerContext(t,e)),globalThis.__SERVER_CONTEXT[t]))(t,e):i.default.createContext(e)}const m=g("Base",{baseuri:"/",basepath:"/"}),f=g("Location"),v=()=>i.useContext(m),y=()=>i.useContext(f);function b(t){this.uri=t}const k=t=>t instanceof b,w=t=>{throw new b(t)};function P(t){const{to:e,replace:a=!0,state:n,noThrow:s,baseuri:r}=t;i.useEffect(()=>{Promise.resolve().then(()=>{const i=L(e,r);p(C(i,t),{replace:a,state:n})})},[]);const o=L(e,r);return s||w(C(o,t)),null}const x=t=>{const e=y(),{baseuri:a}=v();return i.createElement(P,r({},e,{baseuri:a},t))};x.propTypes={from:n.string,to:n.string.isRequired};const S=(t,e)=>t.substr(0,e.length)===e,j=(t,e)=>{let a,i;const[n]=e.split("?"),r=A(n),o=""===r[0],l=_(t);for(let c=0,u=l.length;c<u;c++){let t=!1;const n=l[c].route;if(n.default){i={route:n,params:{},uri:e};continue}const u=A(n.path),h={},d=Math.max(r.length,u.length);let p=0;for(;p<d;p++){const e=u[p],a=r[p];if(N(e)){h[e.slice(1)||"*"]=r.slice(p).map(decodeURIComponent).join("/");break}if(void 0===a){t=!0;break}const i=z.exec(e);if(i&&!o){const t=-1===F.indexOf(i[1]);s(t,`<Router> dynamic segment "${i[1]}" is a reserved name. Please use a different name in path "${n.path}".`);const e=decodeURIComponent(a);h[i[1]]=e}else if(e!==a){t=!0;break}}if(!t){a={route:n,params:h,uri:"/"+r.slice(0,p).join("/")};break}}return a||i||null},E=(t,e)=>j([{path:t}],e),L=(t,e)=>{if(S(t,"/"))return t;const[a,i]=t.split("?"),[n]=e.split("?"),s=A(a),r=A(n);if(""===s[0])return T(n,i);if(!S(s[0],".")){const t=r.concat(s).join("/");return T(("/"===n?"":"/")+t,i)}const o=r.concat(s),l=[];for(let c=0,u=o.length;c<u;c++){const t=o[c];".."===t?l.pop():"."!==t&&l.push(t)}return T("/"+l.join("/"),i)},C=(t,e)=>{const[a,i=""]=t.split("?");let n="/"+A(a).map(t=>{const a=z.exec(t);return a?e[a[1]]:t}).join("/");const{location:{search:s=""}={}}=e,r=s.split("?")[1]||"";return n=T(n,i,r),n},R=(t,e)=>{const a=t=>O(t);return A(t).filter(a).sort().join("/")===A(e).filter(a).sort().join("/")}
2,z=/^:(.+)/,O=t=>z.test(t),N=t=>t&&"*"===t[0],$=(t,e)=>({route:t,score:t.default?0:A(t.path).reduce((t,e)=>(t+=4,(t=>""===t)(e)?t+=1:O(e)?t+=2:N(e)?t-=5:t+=3,t),0),index:e}),_=t=>t.map($).sort((t,e)=>t.score<e.score?1:t.score>e.score?-1:t.index-e.index),A=t=>t.replace(/(^\/+|\/+$)/g,"").split("/"),T=(t,...e)=>t+((e=e.filter(t=>t&&t.length>0))&&e.length>0?`?${e.join("&")}`:""),F=["uri","path"],D=(t,e)=>{const a=Object.keys(t);return a.length===Object.keys(e).length&&a.every(a=>e.hasOwnProperty(a)&&t[a]===e[a])},I=t=>t.replace(/(^\/+|\/+$)/g,""),U=t=>e=>{if(!e)return null;if(e.type===i.Fragment&&e.props.children)return i.Children.map(e.props.children,U(t));if(s(e.props.path||e.props.default||e.type===x,`<Router>: Children of <Router> must have a \`path\` or \`default\` prop, or be a \`<Redirect>\`. None found on element type \`${e.type}\``),s(!!(e.type!==x||e.props.from&&e.props.to),`<Redirect from="${e.props.from}" to="${e.props.to}"/> requires both "from" and "to" props when inside a <Router>.`),s(!(e.type===x&&!R(e.props.from,e.props.to)),`<Redirect from="${e.props.from} to="${e.props.to}"/> has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.`),e.props.default)return{value:e,default:!0};const a=e.type===x?e.props.from:e.props.path,n="/"===a?t:`${I(t)}/${I(a)}`;return{value:e,default:e.props.default,path:e.props.children?`${I(n)}/*`:n}},M=["innerRef"],H=["to","state","replace","getProps"],V=["key"];let{forwardRef:W}=i;void 0===W&&(W=t=>t);const K=()=>{},q=W((t,e)=>{let{innerRef:a}=t,n=o(t,M);const{baseuri:s}=v(),{location:l}=y(),{to:c,state:u,replace:h,getProps:d=K}=n,g=o(n,H),m=L(c,s),f=encodeURI(m),b=l.pathname===f,k=S(l.pathname,f);return i.createElement("a",r({ref:e||a,"aria-current":b?"page":void 0},g,d({isCurrent:b,isPartiallyCurrent:k,href:m,location:l}),{href:m,onClick:t=>{if(g.onClick&&g.onClick(t),(t=>!t.defaultPrevented&&0===t.button&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey))(t)){t.preventDefault();let e=h;if("boolean"!=typeof h&&b){const t=o(r({},l.state),V);e=D(r({},u),t)}p(m,{state:u,replace:e})}}}))});q.displayName="Link",q.propTypes={to:n.string.isRequired};class B extends i.Component{constructor(...t){super(...t),this.displayName="ReactUseErrorBoundary"}componentDidCatch(...t){this.setState({}),this.props.onError(...t)}render(){return this.props.children}}const J=i.createContext({componentDidCatch:{current:void 0},error:void 0,setError:()=>!1});function Q({children:t}){const[e,a]=i.useState(),n=i.useRef(),s=i.useMemo(()=>({componentDidCatch:n,error:e,setError:a}),[e]);return i.createElement(J.Provider,{value:s},i.createElement(B,{error:e,onError:(t,e)=>{a(t),null==n.current||n.current(t,e)}},t))}Q.displayName="ReactUseErrorBoundaryContext";const G=function(t){var e,a;function n(e){return i.createElement(Q,null,i.createElement(t,r({key:"WrappedComponent"},e)))}return n.displayName=`WithErrorBoundary(${null!=(e=null!=(a=t.displayName)?a:t.name)?e:"Component"})`,n}(({history:t=d,children:e})=>{const{location:a}=t,[n,s]=i.useState({location:a}),[r]=function(){const t=i.useContext(J);t.componentDidCatch.current=void 0;const e=i.useCallback(()=>{t.setError(void 0)},[]);return[t.error,e]}();if(i.useEffect(()=>{t._onTransitionComplete()},[n.location]),i.useEffect(()=>{let e=!1;const a=t.listen(({location:t})=>{Promise.resolve().then(()=>{requestAnimationFrame(()=>{e||s({location:t})})})});return()=>{e=!0,a()}},[]),r){if(!k(r))throw r;p(r.uri,{replace:!0})}return i.createElement(f.Provider,{value:n},"function"==typeof e?e(n):e||null)}),Y=({children:t})=>{const e=y();return e?t(e):i.createElement(G,null,t)},X=({url:t,children:e})=>{const a=t.indexOf("?");let n,s="";return a>-1?(n=t.substring(0,a),s=t.substring(a)):n=t,i.createElement(f.Provider,{value:{location:{pathname:n,search:s,hash:""}}},e)},Z=({path:t,children:e})=>{const{baseuri:a}=v(),{location:i}=y(),n=L(t,a),s=E(n,i.pathname);return e({location:i,match:s?r({},s.params,{uri:s.uri,path:t}):null})},tt=["uri","location","component"],et=["children","style","component","uri","location"],at=t=>{let{uri:e,location:a,component:n}=t,s=o(t,tt);return i.createElement(nt,r({},s,{component:n,uri:e,location:a}))};let it=0;const nt=t=>{let{children:e,style:a,component:n="div",uri:s,location:l}=t,c=o(t,et);const u=i.useRef(),h=i.useRef(!0),d=i.useRef(s),p=i.useRef(l.pathname),g=i.useRef(!1);i.useEffect(()=>(it++,m(),()=>{it--,0===it&&(h.current=!0)}),[]),i.useEffect(()=>{let t=!1,e=!1;s!==d.current&&(d.current=s,t=!0),l.pathname!==p.current&&(p.current=l.pathname,e=!0),g.current=t||e&&l.pathname===s,g.current&&m()},[s,l]);const m=i.useCallback(()=>{var t;h.current?h.current=!1:(t=u.current,g.current&&t&&t.focus())},[]);return i.createElement(n,r({style:r({outline:"none"},a),tabIndex:"-1",ref:u},c),e)},st=["location","primary","children","basepath","baseuri","component"],rt=t=>{const e=v(),a=y();return i.createElement(ot,r({},e,a,t))};function ot(t){const{location:e,primary:a=!0,children:n,basepath:s,component:l="div"}=t,c=o(t,st),u=i.Children.toArray(n).reduce((t,e)=>{const a=U(s)(e);return t.concat(a)},[]),{pathname:h}=e,d=j(u,h);if(d){const{params:t,uri:n,route:o,route:{value:u}}=d,h=o.default?s:o.path.replace(/\*$/,""),p=r({},t,{uri:n,location:e}),g=i.cloneElement(u,p,u.props.children?i.createElement(rt,{location:e,primary:a},u.props.children):void 0),f=a?at:l,v=a?r({uri:n,location:e,component:l},c):c;return i.createElement(m.Provider,{value:{baseuri:n,basepath:h}},i.createElement(f,v,g))}return null}const lt=()=>{const t=y();if(!t)throw new Error("useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");return t.location},ct=()=>{throw new Error("useNavigate is removed. Use import { navigate } from 'gatsby' instead")},ut=()=>{const t=v();if(!t)throw new Error("useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");const e=lt(),a=E(t.basepath,e.pathname);return a?a.params:null},ht=t=>
2{if(!t)throw new Error("useMatch(path: string) requires an argument of a string to match against");const e=v();if(!e)throw new Error("useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router");const a=lt(),i=L(t,e.baseuri),n=E(i,a.pathname);return n?r({},n.params,{uri:n.uri,path:t}):null}},6491:function(t,e,a){"use strict";a.d(e,{X:function(){return s}});const i=new Map,n=new Map;function s(t){let e=i.get(t);return e||(e=n.get(t.toLowerCase())),e}[].forEach(t=>{t.ignoreCase?n.set(t.fromPath,t):i.set(t.fromPath,t)})},6498:function(t,e,a){"use strict";var i=a(7387),n=a(20),s=a(5299),r=a(6462),o=a(7035),l=a(7231),c=a(2024),u=a(6814),h=a(6491),d=a(9369);const p={id:"gatsby-announcer",style:{position:"absolute",top:0,width:1,height:1,padding:0,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},"aria-live":"assertive","aria-atomic":"true"};var g=a(7078);function m(t){const e=(0,h.X)(t),{hash:a,search:i}=window.location;return null!=e&&(window.___replace(e.toPath+i+a),!0)}let f="";window.addEventListener("unhandledrejection",t=>{/loading chunk \d* failed./i.test(t.reason)&&f&&(window.location.pathname=f)});const v=(t,e)=>{m(t.pathname)||(f=t.pathname,(0,n.N)("onPreRouteUpdate",{location:t,prevLocation:e}))},y=(t,e)=>{m(t.pathname)||(0,n.N)("onRouteUpdate",{location:t,prevLocation:e})},b=function(t,e){if(void 0===e&&(e={}),"number"==typeof t)return void r.globalHistory.navigate(t);const{pathname:a,search:i,hash:s}=(0,g.Rr)(t),o=(0,h.X)(a);if(o&&(t=o.toPath+i+s),window.___swUpdated)return void(window.location=a+i+s);const l=setTimeout(()=>{d.A.emit("onDelayedLoadPageResources",{pathname:a}),(0,n.N)("onRouteUpdateDelayed",{location:window.location})},1e3);u.Ay.loadPage(a+i).then(n=>{if(!n||n.status===u.Wi.Error)return window.history.replaceState({},"",location.href),window.location=a,void clearTimeout(l);n&&n.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),window.location=a+i+s),(0,r.navigate)(t,e),clearTimeout(l)})};function k(t,e){let{location:a}=e;const{pathname:i,hash:s}=a,r=(0,n.N)("shouldUpdateScroll",{prevRouterProps:t,pathname:i,routerProps:{location:a},getSavedScrollPosition:t=>[0,this._stateStorage.read(t,t.key)]});if(r.length>0)return r[r.length-1];if(t){const{location:{pathname:e}}=t;if(e===i)return s?decodeURI(s.slice(1)):[0,0]}return!0}let w=function(t){function e(e){var a;return(a=t.call(this,e)||this).announcementRef=s.default.createRef(),a}(0,i.A)(e,t);var a=e.prototype;return a.componentDidUpdate=function(t,e){requestAnimationFrame(()=>{let t=`new page at ${this.props.location.pathname}`;document.title&&(t=document.title);const e=document.querySelectorAll("#gatsby-focus-wrapper h1");e&&e.length&&(t=e[0].textContent);const a=`Navigated to ${t}`;if(this.announcementRef.current){this.announcementRef.current.innerText!==a&&(this.announcementRef.current.innerText=a)}})},a.render=function(){return s.default.createElement("div",Object.assign({},p,{ref:this.announcementRef}))},e}(s.default.Component);const P=(t,e)=>{var a,i;return t.href!==e.href||(null==t||null===(a=t.state)||void 0===a?void 0:a.key)!==(null==e||null===(i=e.state)||void 0===i?void 0:i.key)};let x=function(t){function e(e){var a;return a=t.call(this,e)||this,v(e.location,null),a}(0,i.A)(e,t);var a=e.prototype;return a.componentDidMount=function(){y(this.props.location,null)},a.shouldComponentUpdate=function(t){return!!P(this.props.location,t.location)&&(v(t.location,this.props.location),!0)},a.componentDidUpdate=function(t){P(t.location,this.props.location)&&y(this.props.location,t.location)},a.render=function(){return s.default.createElement(s.default.Fragment,null,this.props.children,s.default.createElement(w,{location:location}))},e}(s.default.Component);var S=a(8428),j=a(6877);function E(t,e){for(var a in t)if(!(a in e))return!0;for(var i in e)if(t[i]!==e[i])return!0;return!1}var L=function(t){function e(e){var a;a=t.call(this)||this;const{location:i,pageResources:n}=e;return a.state={location:{...i},pageResources:n||u.Ay.loadPageSync(i.pathname+i.search,{withErrorDetails:!0})},a}(0,i.A)(e,t),e.getDerivedStateFromProps=function(t,e){let{location:a}=t;if(e.location.href!==a.href){return{pageResources:u.Ay.loadPageSync(a.pathname+a.search,{withErrorDetails:!0}),location:{...a}}}return{location:{...a}}};var a=e.prototype;return a.loadResources=function(t){u.Ay.loadPage(t).then(e=>{e&&e.status!==u.Wi.Error?this.setState({location:{...window.location},pageResources:e}):(window.history.replaceState({},"",location.href),window.location=t)})},a.shouldComponentUpdate=function(t,e){return e.pageResources?this.state.pageResources!==e.pageResources||
2(this.state.pageResources.component!==e.pageResources.component||(this.state.pageResources.json!==e.pageResources.json||(!(this.state.location.key===e.location.key||!e.pageResources.page||!e.pageResources.page.matchPath&&!e.pageResources.page.path)||function(t,e,a){return E(t.props,e)||E(t.state,a)}(this,t,e)))):(this.loadResources(t.location.pathname+t.location.search),!1)},a.render=function(){return this.props.children(this.state)},e}(s.default.Component),C=a(8797),R=JSON.parse('[{"path":"/da/aktivitet/avoca-mill-guidede-rundvisninger/","matchPath":"/da/aktivitet/avoca-mill-guidede-rundvisninger/"},{"path":"/da/aktivitet/big-bus-dublin-hop-paa-hop-af-bustur/","matchPath":"/da/aktivitet/big-bus-dublin-hop-paa-hop-af-bustur/"},{"path":"/da/aktivitet/blarney-rock-of-cashel-cahir-castles-dagstur-fra-dublin/","matchPath":"/da/aktivitet/blarney-rock-of-cashel-cahir-castles-dagstur-fra-dublin/"},{"path":"/da/aktivitet/book-of-kells-og-dublin-castle-guidet-tur-og-tidlig-adgang/","matchPath":"/da/aktivitet/book-of-kells-og-dublin-castle-guidet-tur-og-tidlig-adgang/"},{"path":"/da/aktivitet/christ-church-cathedral-entrebillet/","matchPath":"/da/aktivitet/christ-church-cathedral-entrebillet/"},{"path":"/da/aktivitet/city-sightseeing-dublin-hop-paa-hop-af-bustur/","matchPath":"/da/aktivitet/city-sightseeing-dublin-hop-paa-hop-af-bustur/"},{"path":"/da/aktivitet/cliffs-of-moher-burren-galway-dagstur-fra-dublin/","matchPath":"/da/aktivitet/cliffs-of-moher-burren-galway-dagstur-fra-dublin/"},{"path":"/da/aktivitet/cliffs-of-moher-kilmacduagh-abbey-galway-dagstur-fra-dublin/","matchPath":"/da/aktivitet/cliffs-of-moher-kilmacduagh-abbey-galway-dagstur-fra-dublin/"},{"path":"/da/aktivitet/cliffs-of-moher-wild-atlantic-way-galway-udflugt-fra-dublin/","matchPath":"/da/aktivitet/cliffs-of-moher-wild-atlantic-way-galway-udflugt-fra-dublin/"},{"path":"/da/aktivitet/cork-blarney-castle-togtur-fra-dublin/","matchPath":"/da/aktivitet/cork-blarney-castle-togtur-fra-dublin/"},{"path":"/da/aktivitet/dodublin-hop-paa-hop-af-bustur-live-guide/","matchPath":"/da/aktivitet/dodublin-hop-paa-hop-af-bustur-live-guide/"},{"path":"/da/aktivitet/dublin-all-inclusive-pass/","matchPath":"/da/aktivitet/dublin-all-inclusive-pass/"},{"path":"/da/aktivitet/dublin-explorer-pass/","matchPath":"/da/aktivitet/dublin-explorer-pass/"},{"path":"/da/aktivitet/epic-irish-emigration-museum-entrebillet/","matchPath":"/da/aktivitet/epic-irish-emigration-museum-entrebillet/"},{"path":"/da/aktivitet/giants-causeway-belfast-city-dagstur-fra-dublin/","matchPath":"/da/aktivitet/giants-causeway-belfast-city-dagstur-fra-dublin/"},{"path":"/da/aktivitet/giants-causeway-belfast-city-dagstur-med-adgang-til-sevaerdigheder/","matchPath":"/da/aktivitet/giants-causeway-belfast-city-dagstur-med-adgang-til-sevaerdigheder/"},{"path":"/da/aktivitet/giants-causeway-dark-hedges-belfast-city-dagstur-fra-dublin/","matchPath":"/da/aktivitet/giants-causeway-dark-hedges-belfast-city-dagstur-fra-dublin/"},{"path":"/da/aktivitet/giants-causeway-titanic-museum-dark-hedges-tur-fra-dublin/","matchPath":"/da/aktivitet/giants-causeway-titanic-museum-dark-hedges-tur-fra-dublin/"},{"path":"/da/aktivitet/gpo-witness-history-museum-entrebillet/","matchPath":"/da/aktivitet/gpo-witness-history-museum-entrebillet/"},{"path":"/da/aktivitet/gravediggers-spogelsesbus-tur-dublin/","matchPath":"/da/aktivitet/gravediggers-spogelsesbus-tur-dublin/"},{"path":"/da/aktivitet/guinness-storehouse-besog/","matchPath":"/da/aktivitet/guinness-storehouse-besog/"},{"path":"/da/aktivitet/guinness-storehouse-jameson-distillery-billet-spring-koen-over-smagsprove-guidet-tur/","matchPath":"/da/aktivitet/guinness-storehouse-jameson-distillery-billet-spring-koen-over-smagsprove-guidet-tur/"},{"path":"/da/aktivitet/irish-national-stud-gardens-entrebillet/","matchPath":"/da/aktivitet/irish-national-stud-gardens-entrebillet/"},{"path":"/da/aktivitet/irish-rock-n-roll-museum-experience-entrebillet/","matchPath":"/da/aktivitet/irish-rock-n-roll-museum-experience-entrebillet/"},{"path":"/da/aktivitet/irish-whiskey-museum-guidet-tur-og-smagsprove/","matchPath":"/da/aktivitet/irish-whiskey-museum-guidet-tur-og-smagsprove/"},{"path":"/da/aktivitet/irish-whiskey-museum-whisky-blanding-oplevelse/","matchPath":"/da/aktivitet/irish-whiskey-museum-whisky-blanding-oplevelse/"},{"path":"/da/aktivitet/jameson-distillery-guidet-tur-smagsprove/","matchPath":"/da/aktivitet/jameson-distillery-guidet-tur-smagsprove/"},{"path":"/da/aktivitet/jameson-distillery-og-guinness-storehouse
2-oplevelse/","matchPath":"/da/aktivitet/jameson-distillery-og-guinness-storehouse-oplevelse/"},{"path":"/da/aktivitet/jeanie-johnston-tall-ship-guidet-tur/","matchPath":"/da/aktivitet/jeanie-johnston-tall-ship-guidet-tur/"},{"path":"/da/aktivitet/kilkenny-wicklow-mountains-glendalough-dagstur-fra-dublin/","matchPath":"/da/aktivitet/kilkenny-wicklow-mountains-glendalough-dagstur-fra-dublin/"},{"path":"/da/aktivitet/little-museum-of-dublin-vores-beroemte-guidede-tur/","matchPath":"/da/aktivitet/little-museum-of-dublin-vores-beroemte-guidede-tur/"},{"path":"/da/aktivitet/moli-museum-of-literature-ireland-entrebillet/","matchPath":"/da/aktivitet/moli-museum-of-literature-ireland-entrebillet/"},{"path":"/da/aktivitet/national-wax-museum-plus-entrebillet/","matchPath":"/da/aktivitet/national-wax-museum-plus-entrebillet/"},{"path":"/da/aktivitet/pearse-lyons-distillery-guidet-tur-med-6-smagsproever/","matchPath":"/da/aktivitet/pearse-lyons-distillery-guidet-tur-med-6-smagsproever/"},{"path":"/da/aktivitet/roe-and-co-distillery-blandeoplevelse-med-signaturcocktail/","matchPath":"/da/aktivitet/roe-and-co-distillery-blandeoplevelse-med-signaturcocktail/"},{"path":"/da/aktivitet/saint-patricks-cathedral-entrebillet/","matchPath":"/da/aktivitet/saint-patricks-cathedral-entrebillet/"},{"path":"/da/aktivitet/studio-game-of-thrones-entrebillet-og-afgang-fra-dublin/","matchPath":"/da/aktivitet/studio-game-of-thrones-entrebillet-og-afgang-fra-dublin/"},{"path":"/da/aktivitet/teeling-whiskey-distillery-entrebillet-smagsprove-guidet-tur/","matchPath":"/da/aktivitet/teeling-whiskey-distillery-entrebillet-smagsprove-guidet-tur/"},{"path":"/da/aktivitet/the-dublin-liberties-distillery-guidet-tur-og-smagsprove/","matchPath":"/da/aktivitet/the-dublin-liberties-distillery-guidet-tur-og-smagsprove/"},{"path":"/da/aktivitet/vintage-tea-trips-afternoon-tea-paa-irsk-vis/","matchPath":"/da/aktivitet/vintage-tea-trips-afternoon-tea-paa-irsk-vis/"},{"path":"/da/aktivitet/wicklow-glendalough-kilkenny-tur-fra-dublin-faarehundedemonstration/","matchPath":"/da/aktivitet/wicklow-glendalough-kilkenny-tur-fra-dublin-faarehundedemonstration/"},{"path":"/da/aktivitet/wicklow-glendalough-powerscourt-waterfall-tur-fra-dublin/","matchPath":"/da/aktivitet/wicklow-glendalough-powerscourt-waterfall-tur-fra-dublin/"},{"path":"/de/aktivitat/avoca-mill-gefuehrte-tour/","matchPath":"/de/aktivitat/avoca-mill-gefuehrte-tour/"},{"path":"/de/aktivitat/big-bus-dublin-hop-on-hop-off-bustour/","matchPath":"/de/aktivitat/big-bus-dublin-hop-on-hop-off-bustour/"},{"path":"/de/aktivitat/blarney-rock-of-cashel-und-cahir-castles-tagestour-ab-dublin/","matchPath":"/de/aktivitat/blarney-rock-of-cashel-und-cahir-castles-tagestour-ab-dublin/"},{"path":"/de/aktivitat/book-of-kells-und-dublin-castle-fuehrung-und-frueher-zugang/","matchPath":"/de/aktivitat/book-of-kells-und-dublin-castle-fuehrung-und-frueher-zugang/"},{"path":"/de/aktivitat/christ-church-cathedral-eintrittsticket/","matchPath":"/de/aktivitat/christ-church-cathedral-eintrittsticket/"},{"path":"/de/aktivitat/city-sightseeing-dublin-hop-on-hop-off-bustour/","matchPath":"/de/aktivitat/city-sightseeing-dublin-hop-on-hop-off-bustour/"},{"path":"/de/aktivitat/cliffs-of-moher-burren-galway-tagestour-ab-dublin/","matchPath":"/de/aktivitat/cliffs-of-moher-burren-galway-tagestour-ab-dublin/"},{"path":"/de/aktivitat/cork-blarney-castle-tagestour-ab-dublin/","matchPath":"/de/aktivitat/cork-blarney-castle-tagestour-ab-dublin/"},{"path":"/de/aktivitat/dodublin-hop-on-hop-off-bustour-live-guide/","matchPath":"/de/aktivitat/dodublin-hop-on-hop-off-bustour-live-guide/"},{"path":"/de/aktivitat/dublin-all-inclusive-pass/","matchPath":"/de/aktivitat/dublin-all-inclusive-pass/"},{"path":"/de/aktivitat/dublin-explorer-pass/","matchPath":"/de/aktivitat/dublin-explorer-pass/"},{"path":"/de/aktivitat/epic-irish-emigration-museum-eintrittsticket/","matchPath":"/de/aktivitat/epic-irish-emigration-museum-eintrittsticket/"},{"path":"/de/aktivitat/giants-causeway-belfast-city-tagestour-ab-dublin/","matchPath":"/de/aktivitat/giants-causeway-belfast-city-tagestour-ab-dublin/"},{"path":"/de/aktivitat/giants-causeway-belfast-city-tagestour-mit-eintritt/","matchPath":"/de/aktivitat/giants-causeway-belfast-city-tagestour-mit-eintritt/"},{"path":"/de/aktivitat/giants-causeway-dark-hedges-belfast-city-tagestour-ab-dublin/","matchPath":"/de/aktivitat/giants-causeway-dark-hedges-belfast-city-tagestour-ab-dublin/"},{"path":"/de/aktivitat/giants-causeway-titanic-museum-dark-hedges-tagestour-ab-dublin/","matchPath":"/de/aktivitat/giants-causeway-titanic-museum-dark-hedges-tagestour-ab-dublin/"},{"path":"/de/aktivitat/gpo-witness-history-museum-eintrittsticket/","matchPath":"/de/aktivitat/gpo-witness-history-museum-eintrittsticket/"},{"path":"/de/aktivitat/gravediggers-geisterbus-tour-dublin/","matchPath":"/de/aktivitat/gravediggers-geisterbus-tour-dublin/"}
2,{"path":"/de/aktivitat/guinness-storehouse-besuch/","matchPath":"/de/aktivitat/guinness-storehouse-besuch/"},{"path":"/de/aktivitat/guinness-storehouse-jameson-distillery-ticket-ohne-anstehen-verkostung-fuehrung/","matchPath":"/de/aktivitat/guinness-storehouse-jameson-distillery-ticket-ohne-anstehen-verkostung-fuehrung/"},{"path":"/de/aktivitat/irish-national-stud-gardens-eintrittsticket/","matchPath":"/de/aktivitat/irish-national-stud-gardens-eintrittsticket/"},{"path":"/de/aktivitat/irish-rock-n-roll-museum-experience-eintrittsticket/","matchPath":"/de/aktivitat/irish-rock-n-roll-museum-experience-eintrittsticket/"},{"path":"/de/aktivitat/irish-whiskey-museum-gefuehrte-tour-verkostung/","matchPath":"/de/aktivitat/irish-whiskey-museum-gefuehrte-tour-verkostung/"},{"path":"/de/aktivitat/irish-whiskey-museum-whiskey-blending-erlebnis/","matchPath":"/de/aktivitat/irish-whiskey-museum-whiskey-blending-erlebnis/"},{"path":"/de/aktivitat/jameson-distillery-gefuehrte-tour-verkostung/","matchPath":"/de/aktivitat/jameson-distillery-gefuehrte-tour-verkostung/"},{"path":"/de/aktivitat/jameson-distillery-und-guinness-storehouse-erlebnis/","matchPath":"/de/aktivitat/jameson-distillery-und-guinness-storehouse-erlebnis/"},{"path":"/de/aktivitat/jeanie-johnston-tall-ship-gefuehrte-tour/","matchPath":"/de/aktivitat/jeanie-johnston-tall-ship-gefuehrte-tour/"},{"path":"/de/aktivitat/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/","matchPath":"/de/aktivitat/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/"},{"path":"/de/aktivitat/little-museum-of-dublin-unsere-beruehmte-fuehrung/","matchPath":"/de/aktivitat/little-museum-of-dublin-unsere-beruehmte-fuehrung/"},{"path":"/de/aktivitat/moli-museum-of-literature-ireland-eintrittsticket/","matchPath":"/de/aktivitat/moli-museum-of-literature-ireland-eintrittsticket/"},{"path":"/de/aktivitat/national-wax-museum-plus-eintrittsticket/","matchPath":"/de/aktivitat/national-wax-museum-plus-eintrittsticket/"},{"path":"/de/aktivitat/pearse-lyons-distillery-tour-mit-6-verkostungen-dublin/","matchPath":"/de/aktivitat/pearse-lyons-distillery-tour-mit-6-verkostungen-dublin/"},{"path":"/de/aktivitat/roe-and-co-distillery-blending-erlebnis-mit-signature-cocktail/","matchPath":"/de/aktivitat/roe-and-co-distillery-blending-erlebnis-mit-signature-cocktail/"},{"path":"/de/aktivitat/saint-patricks-cathedral-eintrittsticket/","matchPath":"/de/aktivitat/saint-patricks-cathedral-eintrittsticket/"},{"path":"/de/aktivitat/studio-game-of-thrones-eintrittsticket-und-abfahrt-ab-dublin/","matchPath":"/de/aktivitat/studio-game-of-thrones-eintrittsticket-und-abfahrt-ab-dublin/"},{"path":"/de/aktivitat/teeling-whiskey-distillery-eintrittsticket-verkostung-gefuehrte-tour/","matchPath":"/de/aktivitat/teeling-whiskey-distillery-eintrittsticket-verkostung-gefuehrte-tour/"},{"path":"/de/aktivitat/the-dublin-liberties-distillery-gefuehrte-tour-und-verkostung/","matchPath":"/de/aktivitat/the-dublin-liberties-distillery-gefuehrte-tour-und-verkostung/"},{"path":"/de/aktivitat/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-tagestour-ab-dublin/","matchPath":"/de/aktivitat/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-tagestour-ab-dublin/"},{"path":"/de/aktivitat/tickets-cliffs-of-moher-wild-atlantic-way-galway-ausflug-dublin/","matchPath":"/de/aktivitat/tickets-cliffs-of-moher-wild-atlantic-way-galway-ausflug-dublin/"},{"path":"/de/aktivitat/vintage-tea-trips-afternoon-tea-auf-irische-art/","matchPath":"/de/aktivitat/vintage-tea-trips-afternoon-tea-auf-irische-art/"},{"path":"/de/aktivitat/wicklow-glendalough-kilkenny-tour-ab-dublin-huetehund-vorfuehrung/","matchPath":"/de/aktivitat/wicklow-glendalough-kilkenny-tour-ab-dublin-huetehund-vorfuehrung/"},{"path":"/de/aktivitat/wicklow-glendalough-powerscourt-wasserfall-tour-ab-dublin/","matchPath":"/de/aktivitat/wicklow-glendalough-powerscourt-wasserfall-tour-ab-dublin/"},{"path":"/es/actividad/autobus-fantasma-gravediggers-dublin/","matchPath":"/es/actividad/autobus-fantasma-gravediggers-dublin/"},{"path":"/es/actividad/avoca-mill-visita-guiada/","matchPath":"/es/actividad/avoca-mill-visita-guiada/"}
2,{"path":"/es/actividad/big-bus-dublin-recorrido-en-autobus-hop-on-hop-off/","matchPath":"/es/actividad/big-bus-dublin-recorrido-en-autobus-hop-on-hop-off/"},{"path":"/es/actividad/calzada-del-gigante-dark-hedges-belfast-excursion-desde-dublin/","matchPath":"/es/actividad/calzada-del-gigante-dark-hedges-belfast-excursion-desde-dublin/"},{"path":"/es/actividad/calzada-del-gigante-museo-del-titanic-dark-hedges-tour-desde-dublin/","matchPath":"/es/actividad/calzada-del-gigante-museo-del-titanic-dark-hedges-tour-desde-dublin/"},{"path":"/es/actividad/calzada-del-gigante-y-belfast-excursion-de-un-dia-con-entradas/","matchPath":"/es/actividad/calzada-del-gigante-y-belfast-excursion-de-un-dia-con-entradas/"},{"path":"/es/actividad/catedral-de-la-santisima-trinidad/","matchPath":"/es/actividad/catedral-de-la-santisima-trinidad/"},{"path":"/es/actividad/catedral-san-patricio-entrada/","matchPath":"/es/actividad/catedral-san-patricio-entrada/"},{"path":"/es/actividad/city-sightseeing-dublin-tour-en-autobus-con-paradas-libres/","matchPath":"/es/actividad/city-sightseeing-dublin-tour-en-autobus-con-paradas-libres/"},{"path":"/es/actividad/destileria-dublin-liberties-visita-guiada-y-cata/","matchPath":"/es/actividad/destileria-dublin-liberties-visita-guiada-y-cata/"},{"path":"/es/actividad/destileria-jameson-visita-guiada-cata/","matchPath":"/es/actividad/destileria-jameson-visita-guiada-cata/"},{"path":"/es/actividad/destileria-jameson-y-guinness-storehouse-billete-combinado/","matchPath":"/es/actividad/destileria-jameson-y-guinness-storehouse-billete-combinado/"},{"path":"/es/actividad/destileria-roe-and-co-experiencia-de-mezcla-con-coctel-signature/","matchPath":"/es/actividad/destileria-roe-and-co-experiencia-de-mezcla-con-coctel-signature/"},{"path":"/es/actividad/destileria-whisky-teeling-entrada-degustacion-visita-guiada/","matchPath":"/es/actividad/destileria-whisky-teeling-entrada-degustacion-visita-guiada/"},{"path":"/es/actividad/dodublin-tour-en-autobus-turistico-con-paradas-libres-y-guia-en-directo/","matchPath":"/es/actividad/dodublin-tour-en-autobus-turistico-con-paradas-libres-y-guia-en-directo/"},{"path":"/es/actividad/dublin-pase-explorer/","matchPath":"/es/actividad/dublin-pase-explorer/"},{"path":"/es/actividad/dublin-pass-todo-incluido/","matchPath":"/es/actividad/dublin-pass-todo-incluido/"},{"path":"/es/actividad/entradas-acantilados-de-moher-wild-atlantic-way-galway-excursion-dublin/","matchPath":"/es/actividad/entradas-acantilados-de-moher-wild-atlantic-way-galway-excursion-dublin/"},{"path":"/es/actividad/entradas-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/","matchPath":"/es/actividad/entradas-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/"},{"path":"/es/actividad/entradas-para-el-irish-national-stud-gardens/","matchPath":"/es/actividad/entradas-para-el-irish-national-stud-gardens/"},{"path":"/es/actividad/epic-museo-emigracion-irlandesa-entrada/","matchPath":"/es/actividad/epic-museo-emigracion-irlandesa-entrada/"},{"path":"/es/actividad/excursion-a-blarney-rock-of-cashel-y-castillo-de-cahir-desde-dublin/","matchPath":"/es/actividad/excursion-a-blarney-rock-of-cashel-y-castillo-de-cahir-desde-dublin/"},{"path":"/es/actividad/excursion-a-la-calzada-del-gigante-y-belfast-desde-dublin/","matchPath":"/es/actividad/excursion-a-la-calzada-del-gigante-y-belfast-desde-dublin/"},{"path":"/es/actividad/excursion-a-los-acantilados-de-moher-el-burren-y-galway-desde-dublin/","matchPath":"/es/actividad/excursion-a-los-acantilados-de-moher-el-burren-y-galway-desde-dublin/"},{"path":"/es/actividad/excursion-a-wicklow-glendalough-y-cascada-de-powerscourt-desde-dublin/","matchPath":"/es/actividad/excursion-a-wicklow-glendalough-y-cascada-de-powerscourt-desde-dublin/"},{"path":"/es/actividad/excursion-en-tren-a-cork-castillo-de-blarney-y-cobh-desde-dublin/","matchPath":"/es/actividad/excursion-en-tren-a-cork-castillo-de-blarney-y-cobh-desde-dublin/"},{"path":"/es/actividad/excursion-kilkenny-wicklow-mountains-glendalough-desde-dublin/","matchPath":"/es/actividad/excursion-kilkenny-wicklow-mountains-glendalough-desde-dublin/"},{"path":"/es/actividad/experiencia-museo-rock-n-roll-irlandes-entrada/","matchPath":"/es/actividad/experiencia-museo-rock-n-roll-irlandes-entrada/"}
2,{"path":"/es/actividad/guinness-storehouse-destileria-jameson-entrada-sin-colas-degustacion-visita-guiada/","matchPath":"/es/actividad/guinness-storehouse-destileria-jameson-entrada-sin-colas-degustacion-visita-guiada/"},{"path":"/es/actividad/jeanie-johnston-tall-ship-visita-guiada/","matchPath":"/es/actividad/jeanie-johnston-tall-ship-visita-guiada/"},{"path":"/es/actividad/libro-de-kells-y-castillo-de-dublin-visita-guiada-y-acceso-anticipado/","matchPath":"/es/actividad/libro-de-kells-y-castillo-de-dublin-visita-guiada-y-acceso-anticipado/"},{"path":"/es/actividad/moli-museo-de-literatura-irlandesa-entrada/","matchPath":"/es/actividad/moli-museo-de-literatura-irlandesa-entrada/"},{"path":"/es/actividad/museo-del-whiskey-irlandes-experiencia-de-mezcla-de-whiskey/","matchPath":"/es/actividad/museo-del-whiskey-irlandes-experiencia-de-mezcla-de-whiskey/"},{"path":"/es/actividad/museo-del-whiskey-irlandes-visita-guiada-con-degustacion/","matchPath":"/es/actividad/museo-del-whiskey-irlandes-visita-guiada-con-degustacion/"},{"path":"/es/actividad/museo-gpo-witness-history-entrada/","matchPath":"/es/actividad/museo-gpo-witness-history-entrada/"},{"path":"/es/actividad/national-wax-museum-plus-entrada/","matchPath":"/es/actividad/national-wax-museum-plus-entrada/"},{"path":"/es/actividad/pearse-lyons-distillery-tour-con-6-catas-dublin/","matchPath":"/es/actividad/pearse-lyons-distillery-tour-con-6-catas-dublin/"},{"path":"/es/actividad/pequeno-museo-de-dublin-nuestra-famosa-visita-guiada/","matchPath":"/es/actividad/pequeno-museo-de-dublin-nuestra-famosa-visita-guiada/"},{"path":"/es/actividad/studio-game-of-thrones-entrada-y-salida-desde-dublin/","matchPath":"/es/actividad/studio-game-of-thrones-entrada-y-salida-desde-dublin/"},{"path":"/es/actividad/vintage-tea-trips-te-de-la-tarde-a-la-irlandesa/","matchPath":"/es/actividad/vintage-tea-trips-te-de-la-tarde-a-la-irlandesa/"},{"path":"/es/actividad/visita-fabrica-guinness/","matchPath":"/es/actividad/visita-fabrica-guinness/"},{"path":"/es/actividad/wicklow-glendalough-kilkenny-excursion-desde-dublin-demostracion-perros-pastores/","matchPath":"/es/actividad/wicklow-glendalough-kilkenny-excursion-desde-dublin-demostracion-perros-pastores/"},{"path":"/fr/activite/avoca-mill-visite-guidee/","matchPath":"/fr/activite/avoca-mill-visite-guidee/"},{"path":"/fr/activite/big-bus-dublin-visite-en-bus-a-arrets-multiples/","matchPath":"/fr/activite/big-bus-dublin-visite-en-bus-a-arrets-multiples/"},{"path":"/fr/activite/billets-falaises-de-moher-abbaye-kilmacduagh-galway-excursion-dublin/","matchPath":"/fr/activite/billets-falaises-de-moher-abbaye-kilmacduagh-galway-excursion-dublin/"},{"path":"/fr/activite/billets-falaises-de-moher-wild-atlantic-way-galway-excursion-dublin/","matchPath":"/fr/activite/billets-falaises-de-moher-wild-atlantic-way-galway-excursion-dublin/"},{"path":"/fr/activite/billets-pour-l-irish-national-stud-gardens/","matchPath":"/fr/activite/billets-pour-l-irish-national-stud-gardens/"},{"path":"/fr/activite/bus-fantome-gravediggers-dublin/","matchPath":"/fr/activite/bus-fantome-gravediggers-dublin/"},{"path":"/fr/activite/cathedrale-christ-church-billet-entree/","matchPath":"/fr/activite/cathedrale-christ-church-billet-entree/"},{"path":"/fr/activite/cathedrale-saint-patrick-billet-entree/","matchPath":"/fr/activite/cathedrale-saint-patrick-billet-entree/"},{"path":"/fr/activite/chaussee-des-geants-dark-hedges-belfast-excursion-depuis-dublin/","matchPath":"/fr/activite/chaussee-des-geants-dark-hedges-belfast-excursion-depuis-dublin/"},{"path":"/fr/activite/chaussee-des-geants-et-belfast-excursion-d-une-journee-avec-billets/","matchPath":"/fr/activite/chaussee-des-geants-et-belfast-excursion-d-une-journee-avec-billets/"},{"path":"/fr/activite/chaussee-des-geants-musee-titanic-dark-hedges-excursion-depuis-dublin/","matchPath":"/fr/activite/chaussee-des-geants-musee-titanic-dark-hedges-excursion-depuis-dublin/"},{"path":"/fr/activite/city-sightseeing-dublin-hop-on-hop-off-bus-tour/","matchPath":"/fr/activite/city-sightseeing-dublin-hop-on-hop-off-bus-tour/"},{"path":"/fr/activite/distillerie-dublin-liberties-visite-guidee-et-degustation/","matchPath":"/fr/activite/distillerie-dublin-liberties-visite-guidee-et-degustation/"}
2,{"path":"/fr/activite/distillerie-jameson-guinness-storehouse-billet-combine/","matchPath":"/fr/activite/distillerie-jameson-guinness-storehouse-billet-combine/"},{"path":"/fr/activite/distillerie-jameson-visite-guidee-degustation/","matchPath":"/fr/activite/distillerie-jameson-visite-guidee-degustation/"},{"path":"/fr/activite/distillerie-whisky-teeling-billet-entree-degustation-visite-guidee/","matchPath":"/fr/activite/distillerie-whisky-teeling-billet-entree-degustation-visite-guidee/"},{"path":"/fr/activite/dodublin-visite-en-bus-a-arrets-multiples-avec-guide-en-direct/","matchPath":"/fr/activite/dodublin-visite-en-bus-a-arrets-multiples-avec-guide-en-direct/"},{"path":"/fr/activite/dublin-pass-explorer/","matchPath":"/fr/activite/dublin-pass-explorer/"},{"path":"/fr/activite/dublin-pass-tout-inclus/","matchPath":"/fr/activite/dublin-pass-tout-inclus/"},{"path":"/fr/activite/epic-musee-emigration-irlandaise-billet-entree/","matchPath":"/fr/activite/epic-musee-emigration-irlandaise-billet-entree/"},{"path":"/fr/activite/excursion-a-blarney-rock-of-cashel-et-chateau-de-cahir-depuis-dublin/","matchPath":"/fr/activite/excursion-a-blarney-rock-of-cashel-et-chateau-de-cahir-depuis-dublin/"},{"path":"/fr/activite/excursion-a-la-chaussee-des-geants-et-belfast-depuis-dublin/","matchPath":"/fr/activite/excursion-a-la-chaussee-des-geants-et-belfast-depuis-dublin/"},{"path":"/fr/activite/excursion-aux-falaises-de-moher-au-burren-et-a-galway-depuis-dublin/","matchPath":"/fr/activite/excursion-aux-falaises-de-moher-au-burren-et-a-galway-depuis-dublin/"},{"path":"/fr/activite/excursion-en-train-a-cork-au-chateau-de-blarney-et-a-cobh-depuis-dublin/","matchPath":"/fr/activite/excursion-en-train-a-cork-au-chateau-de-blarney-et-a-cobh-depuis-dublin/"},{"path":"/fr/activite/excursion-kilkenny-wicklow-mountains-glendalough-depuis-dublin/","matchPath":"/fr/activite/excursion-kilkenny-wicklow-mountains-glendalough-depuis-dublin/"},{"path":"/fr/activite/excursion-wicklow-glendalough-cascade-de-powerscourt-depuis-dublin/","matchPath":"/fr/activite/excursion-wicklow-glendalough-cascade-de-powerscourt-depuis-dublin/"},{"path":"/fr/activite/experience-musee-rock-n-roll-irlandais-billet-entree/","matchPath":"/fr/activite/experience-musee-rock-n-roll-irlandais-billet-entree/"},{"path":"/fr/activite/guinness-storehouse-distillerie-jameson-billet-coupe-file-degustation-visite-guidee/","matchPath":"/fr/activite/guinness-storehouse-distillerie-jameson-billet-coupe-file-degustation-visite-guidee/"},{"path":"/fr/activite/jeanie-johnston-tall-ship-visite-guidee/","matchPath":"/fr/activite/jeanie-johnston-tall-ship-visite-guidee/"},{"path":"/fr/activite/livre-de-kells-et-chateau-de-dublin-visite-guidee-et-acces-anticipe/","matchPath":"/fr/activite/livre-de-kells-et-chateau-de-dublin-visite-guidee-et-acces-anticipe/"},{"path":"/fr/activite/moli-musee-de-la-litterature-irlandaise-billet-entree/","matchPath":"/fr/activite/moli-musee-de-la-litterature-irlandaise-billet-entree/"},{"path":"/fr/activite/musee-du-whiskey-irlandais-experience-de-melange-de-whiskey/","matchPath":"/fr/activite/musee-du-whiskey-irlandais-experience-de-melange-de-whiskey/"},{"path":"/fr/activite/musee-du-whiskey-irlandais-visite-guidee-avec-degustation/","matchPath":"/fr/activite/musee-du-whiskey-irlandais-visite-guidee-avec-degustation/"},{"path":"/fr/activite/musee-gpo-witness-history-billet-entree/","matchPath":"/fr/activite/musee-gpo-witness-history-billet-entree/"},{"path":"/fr/activite/national-wax-museum-plus-billet-entree/","matchPath":"/fr/activite/national-wax-museum-plus-billet-entree/"},{"path":"/fr/activite/pearse-lyons-distillery-visite-avec-6-degustations-dublin/","matchPath":"/fr/activite/pearse-lyons-distillery-visite-avec-6-degustations-dublin/"},{"path":"/fr/activite/petit-musee-de-dublin-notre-celebre-visite-guidee/","matchPath":"/fr/activite/petit-musee-de-dublin-notre-celebre-visite-guidee/"},{"path":"/fr/activite/roe-and-co-distillery-experience-de-melange-avec-cocktail-signature/","matchPath":"/fr/activite/roe-and-co-distillery-experience-de-melange-avec-cocktail-signature/"},{"path":"/fr/activite/studio-game-of-thrones-billet-entree-et-depart-de-dublin/","matchPath":"/fr/activite/studio-game-of-thrones-billet-entree-et-depart-de-dublin/"},{"path":"/fr/activite/vintage-tea-trips-the-de-l-apres-midi-a-l-irlandaise/","matchPath":"/fr/activite/vintage-tea-trips-the-de-l-apres-midi-a-l-irlandaise/"},{"path":"/fr/activite/visite-entrepot-guinness/","matchPath":"/fr/activite/visite-entrepot-guinness/"},{"path":"/fr/activite/wicklow-glendalough-kilkenny-circuit-depart-dublin-demonstration-chiens-berger/","matchPath":"/fr/activite/wicklow-glendalough-kilkenny-circuit-depart-dublin-demonstration-chiens-berger/"},{"path":"/it/attivita/autobus-fantasma-gravediggers-dublino/","matchPath":"/it/attivita/autobus-fantasma-gravediggers-dublino/"},{"path":"/it/attivita/avoca-mill-visita-guidata/","matchPath":"/it/attivita/avoca-mill-visita-guidata/"},{"path":"/it/attivita/big-bus-dublin-tour-in-autobus-hop-on-hop-off/","matchPath":"/it/attivita/big-bus-dublin-tour-in-autobus-hop-on-hop-off/"},{"path":"/it/attivita/biglietti-per-l-irish-national-stud-gardens/","matchPath":"/it/attivita/biglietti-per-l-irish-national-stud-gardens/"},{"path":"/it/attivita/biglietti-scogliere-di-moher-abbazia-di-kilmacduagh-galway-escursione-da-dublino/","matchPath":"/it/attivita/biglietti-scogliere-di-moher-abbazia-di-kilmacduagh-galway-escursione-da-dublino/"},{"path":"/it/attivita/biglietti-scogliere-di-moher-wild-atlantic-way-galway-escursione-dublino/","matchPath":"/it/attivita/biglietti-scogliere-di-moher-wild-atlantic-way-galway-escursione-dublino/"},{"path":"/it/attivita/cattedrale-di-christ-church-biglietto-ingresso/","matchPath":"/it/attivita/cattedrale-di-christ-church-biglietto-ingresso/"},{"path":"/it/attivita/cattedrale-san-patrizio-biglietto-ingresso/","matchPath":"/it/attivita/cattedrale-san-patrizio-biglietto-ingresso/"},{"path":"/it/attivita/city-sightseeing-dublin-tour-in-autobus-hop-on-hop-off/","matchPath":"/it/attivita/city-sightseeing-dublin-tour-in-autobus-hop-on-hop-off/"}
2,{"path":"/it/attivita/distilleria-jameson-guinness-storehouse-biglietto-combinato/","matchPath":"/it/attivita/distilleria-jameson-guinness-storehouse-biglietto-combinato/"},{"path":"/it/attivita/distilleria-jameson-visita-guidata-degustazione/","matchPath":"/it/attivita/distilleria-jameson-visita-guidata-degustazione/"},{"path":"/it/attivita/distilleria-roe-and-co-esperienza-di-miscelazione-con-cocktail-signature/","matchPath":"/it/attivita/distilleria-roe-and-co-esperienza-di-miscelazione-con-cocktail-signature/"},{"path":"/it/attivita/distilleria-the-dublin-liberties-visita-guidata-e-degustazione/","matchPath":"/it/attivita/distilleria-the-dublin-liberties-visita-guidata-e-degustazione/"},{"path":"/it/attivita/distilleria-whisky-teeling-biglietto-ingresso-degustazione-visita-guidata/","matchPath":"/it/attivita/distilleria-whisky-teeling-biglietto-ingresso-degustazione-visita-guidata/"},{"path":"/it/attivita/dodublin-tour-in-autobus-hop-on-hop-off-con-guida-dal-vivo/","matchPath":"/it/attivita/dodublin-tour-in-autobus-hop-on-hop-off-con-guida-dal-vivo/"},{"path":"/it/attivita/dublin-pass-explorer/","matchPath":"/it/attivita/dublin-pass-explorer/"},{"path":"/it/attivita/dublino-pass-tutto-incluso/","matchPath":"/it/attivita/dublino-pass-tutto-incluso/"},{"path":"/it/attivita/epic-museo-emigrazione-irlandese-biglietto-ingresso/","matchPath":"/it/attivita/epic-museo-emigrazione-irlandese-biglietto-ingresso/"},{"path":"/it/attivita/escursione-a-blarney-rock-of-cashel-e-castello-di-cahir-da-dublino/","matchPath":"/it/attivita/escursione-a-blarney-rock-of-cashel-e-castello-di-cahir-da-dublino/"},{"path":"/it/attivita/esperienza-al-museo-rock-n-roll-irlandese-biglietto-ingresso/","matchPath":"/it/attivita/esperienza-al-museo-rock-n-roll-irlandese-biglietto-ingresso/"},{"path":"/it/attivita/gita-al-selciato-del-gigante-e-belfast-da-dublino/","matchPath":"/it/attivita/gita-al-selciato-del-gigante-e-belfast-da-dublino/"},{"path":"/it/attivita/guinness-storehouse-distilleria-jameson-biglietto-salta-la-fila-degustazione-visita-guidata/","matchPath":"/it/attivita/guinness-storehouse-distilleria-jameson-biglietto-salta-la-fila-degustazione-visita-guidata/"},{"path":"/it/attivita/jeanie-johnston-tall-ship-visita-guidata/","matchPath":"/it/attivita/jeanie-johnston-tall-ship-visita-guidata/"},{"path":"/it/attivita/libro-di-kells-e-castello-di-dublino-visita-guidata-e-accesso-anticipato/","matchPath":"/it/attivita/libro-di-kells-e-castello-di-dublino-visita-guidata-e-accesso-anticipato/"},{"path":"/it/attivita/moli-museo-della-letteratura-irlandese-biglietto-ingresso/","matchPath":"/it/attivita/moli-museo-della-letteratura-irlandese-biglietto-ingresso/"},{"path":"/it/attivita/museo-del-whiskey-irlandese-esperienza-di-miscelazione-del-whiskey/","matchPath":"/it/attivita/museo-del-whiskey-irlandese-esperienza-di-miscelazione-del-whiskey/"},{"path":"/it/attivita/museo-del-whiskey-irlandese-visita-guidata-con-degustazione/","matchPath":"/it/attivita/museo-del-whiskey-irlandese-visita-guidata-con-degustazione/"},{"path":"/it/attivita/museo-gpo-witness-history-biglietto-ingresso/","matchPath":"/it/attivita/museo-gpo-witness-history-biglietto-ingresso/"},{"path":"/it/attivita/national-wax-museum-plus-biglietto-ingresso/","matchPath":"/it/attivita/national-wax-museum-plus-biglietto-ingresso/"},{"path":"/it/attivita/pearse-lyons-distillery-tour-con-6-degustazioni-dublino/","matchPath":"/it/attivita/pearse-lyons-distillery-tour-con-6-degustazioni-dublino/"},{"path":"/it/attivita/piccolo-museo-di-dublino-la-nostra-famosa-visita-guidata/","matchPath":"/it/attivita/piccolo-museo-di-dublino-la-nostra-famosa-visita-guidata/"},{"path":"/it/attivita/selciato-del-gigante-dark-hedges-belfast-gita-da-dublino/","matchPath":"/it/attivita/selciato-del-gigante-dark-hedges-belfast-gita-da-dublino/"},{"path":"/it/attivita/selciato-del-gigante-e-belfast-tour-di-un-giorno-con-ingresso/","matchPath":"/it/attivita/selciato-del-gigante-e-belfast-tour-di-un-giorno-con-ingresso/"},{"path":"/it/attivita/selciato-del-gigante-museo-titanic-dark-hedges-tour-da-dublino/","matchPath":"/it/attivita/selciato-del-gigante-museo-titanic-dark-hedges-tour-da-dublino/"},{"path":"/it/attivita/studio-game-of-thrones-biglietto-di-ingresso-partenza-da-dublino/","matchPath":"/it/attivita/studio-game-of-thrones-biglietto-di-ingresso-partenza-da-dublino/"},{"path":"/it/attivita/tour-delle-scogliere-di-moher-burren-e-galway-da-dublino/","matchPath":"/it/attivita/tour-delle-scogliere-di-moher-burren-e-galway-da-dublino/"},{"path":"/it/attivita/tour-in-treno-a-cork-castello-di-blarney-e-cobh-da-dublino/","matchPath":"/it/attivita/tour-in-treno-a-cork-castello-di-blarney-e-cobh-da-dublino/"},{"path":"/it/attivita/tour-kilkenny-wicklow-mountains-glendalough-da-dublino/","matchPath":"/it/attivita/tour-kilkenny-wicklow-mountains-glendalough-da-dublino/"},{"path":"/it/attivita/tour-wicklow-glendalough-cascata-di-powerscourt-da-dublino/","matchPath":"/it/attivita/tour-wicklow-glendalough-cascata-di-powerscourt-da-dublino/"},{"path":"/it/attivita/vintage-tea-trips-te-pomeridiano-all-irlandese/","matchPath":"/it/attivita/vintage-tea-trips-te-pomeridiano-all-irlandese/"},{"path":"/it/attivita/visita-guinness-storehouse/","matchPath":"/it/attivita/visita-guinness-storehouse/"},{"path":"/it/attivita/wicklow-glendalough-kilkenny-tour-da-dublino-dimostrazione-cani-pastore/","matchPath":"/it/attivita/wicklow-glendalough-kilkenny-tour-da-dublino-dimostrazione-cani-pastore/"},{"path":"/nl/activiteit/avoca-mill-rondleiding/","matchPath":"/nl/activiteit/avoca-mill-rondleiding/"},{"path":"/nl/activiteit/big-bus-dublin-hop-on-hop-off-bustour/","matchPath":"/nl/activiteit/big-bus-dublin-hop-on-hop-off-bustour/"},{"path":"/nl/activiteit/blarney-rots-van-cashel-kastelen-van-cahir-dagtocht-vanuit-dublin/","matchPath":"/nl/activiteit/blarney-rots-van-cashel-kastelen-van-cahir-dagtocht-vanuit-dublin/"},{"path":"/nl/activiteit/christ-church-kathedraal-toegangsticket/","matchPath":"/nl/activiteit/christ-church-kathedraal-toegangsticket/"},{"path":"/nl/activiteit/city-sightseeing-dublin-hop-on-hop-off-bustour/","matchPath":"/nl/activiteit/city-sightseeing-dublin-hop-on-hop-off-bustour/"},{"path":"/nl/activiteit/cliffs-of-moher-kilmacduagh-abbey-galway-dagtrip-vanuit-dublin/","matchPath":"/nl/activiteit/cliffs-of-moher-kilmacduagh-abbey-galway-dagtrip-vanuit-dublin/"},{"path":"/nl/activiteit/cliffs-of-moher-wild-atlantic-way-galway-dagtrip-vanuit-dublin/","matchPath":"/nl/activiteit/cliffs-of-moher-wild-atlantic-way-galway-dagtrip-vanuit-dublin/"},{"path":"/nl/activiteit/cork-blarney-castle-dagtour-vanuit-dublin/","matchPath":"/nl/activiteit/cork-blarney-castle-dagtour-vanuit-dublin/"},{"path":"/nl/activiteit/dodublin-hop-on-hop-off-bustour-live-gids/","matchPath":"/nl/activiteit/dodublin-hop-on-hop-off-bustour-live-gids/"},{"path":"/nl/activiteit/dublin-all-inclusive-pass/","matchPath":"/nl/activiteit/dublin-all-inclusive-pass/"},{"path":"/nl/activiteit/dublin-explorer-pass/","matchPath":"/nl/activiteit/dublin-explorer-pass/"},{"path":"/nl/activiteit/epic-iers-emigratiemuseum-toegangsticket/","matchPath":"/nl/activiteit/epic-iers-emigratiemuseum-toegangsticket/"},{"path":"/nl/activiteit/game-of-thrones-studio-tour-ticket-transfer-vanuit-dublin/","matchPath":"/nl/activiteit/game-of-thrones-studio-tour-ticket-transfer-vanuit-dublin/"},{"path":"/nl/activiteit/giants-causeway-belfast-dagtocht-vanuit-dublin/","matchPath":"/nl/activiteit/giants-causeway-belfast-dagtocht-vanuit-dublin/"},{"path":"/nl/activiteit/giants-causeway-belfast-dagtour-met-toegang/","matchPath":"/nl/activiteit/giants-causeway-belfast-dagtour-met-toegang/"},{"path":"/nl/activiteit/giants-causeway-dark-hedges-belfast-dagtrip-vanuit-dublin/","matchPath":"/nl/activiteit/giants-causeway-dark-hedges-belfast-dagtrip-vanuit-dublin/"},{"path":"/nl/activiteit/giants-causeway-titanic-museum-dark-hedges-dagtour-vanuit-dublin/","matchPath":"/nl/activiteit/giants-causeway-titanic-museum-dark-hedges-dagtour-vanuit-dublin/"},{"path":"/nl/activiteit/gpo-museum-toegangsticket/","matchPath":"/nl/activiteit/gpo-museum-toegangsticket/"},{"path":"/nl/activiteit/gravediggers-ghost-bus-tour-dublin/","matchPath":"/nl/activiteit/gravediggers-ghost-bus-tour-dublin/"}
2,{"path":"/nl/activiteit/guinness-storehouse-bezoek/","matchPath":"/nl/activiteit/guinness-storehouse-bezoek/"},{"path":"/nl/activiteit/guinness-storehouse-jameson-distilleerderij-rondleiding/","matchPath":"/nl/activiteit/guinness-storehouse-jameson-distilleerderij-rondleiding/"},{"path":"/nl/activiteit/irish-national-stud-gardens-toegangsticket/","matchPath":"/nl/activiteit/irish-national-stud-gardens-toegangsticket/"},{"path":"/nl/activiteit/irish-rock-n-roll-museum-experience-toegangsticket/","matchPath":"/nl/activiteit/irish-rock-n-roll-museum-experience-toegangsticket/"},{"path":"/nl/activiteit/irish-whiskey-museum-rondleiding-proeverij/","matchPath":"/nl/activiteit/irish-whiskey-museum-rondleiding-proeverij/"},{"path":"/nl/activiteit/irish-whiskey-museum-whiskey-blenden/","matchPath":"/nl/activiteit/irish-whiskey-museum-whiskey-blenden/"},{"path":"/nl/activiteit/jameson-distilleerderij-en-guinness-storehouse-combiticket/","matchPath":"/nl/activiteit/jameson-distilleerderij-en-guinness-storehouse-combiticket/"},{"path":"/nl/activiteit/jameson-distillery-rondleiding-proeverij/","matchPath":"/nl/activiteit/jameson-distillery-rondleiding-proeverij/"},{"path":"/nl/activiteit/jeanie-johnston-tall-ship-rondleiding/","matchPath":"/nl/activiteit/jeanie-johnston-tall-ship-rondleiding/"},{"path":"/nl/activiteit/kilkenny-wicklow-mountains-glendalough-dagtrip-vanuit-dublin/","matchPath":"/nl/activiteit/kilkenny-wicklow-mountains-glendalough-dagtrip-vanuit-dublin/"},{"path":"/nl/activiteit/kliffen-van-moher-burren-galway-dagtocht-vanuit-dublin/","matchPath":"/nl/activiteit/kliffen-van-moher-burren-galway-dagtocht-vanuit-dublin/"},{"path":"/nl/activiteit/little-museum-of-dublin-beroemde-rondleiding/","matchPath":"/nl/activiteit/little-museum-of-dublin-beroemde-rondleiding/"},{"path":"/nl/activiteit/moli-museum-of-literature-ireland-toegangsticket/","matchPath":"/nl/activiteit/moli-museum-of-literature-ireland-toegangsticket/"},{"path":"/nl/activiteit/national-wax-museum-plus-toegangsticket/","matchPath":"/nl/activiteit/national-wax-museum-plus-toegangsticket/"},{"path":"/nl/activiteit/pearse-lyons-distillery-rondleiding-6-proeverijen-dublin/","matchPath":"/nl/activiteit/pearse-lyons-distillery-rondleiding-6-proeverijen-dublin/"},{"path":"/nl/activiteit/roe-and-co-distillery-blending-experience-met-signature-cocktail/","matchPath":"/nl/activiteit/roe-and-co-distillery-blending-experience-met-signature-cocktail/"},{"path":"/nl/activiteit/sint-patrickskathedraal-toegangsticket/","matchPath":"/nl/activiteit/sint-patrickskathedraal-toegangsticket/"},{"path":"/nl/activiteit/teeling-whiskey-distillery-rondleiding-proeverij/","matchPath":"/nl/activiteit/teeling-whiskey-distillery-rondleiding-proeverij/"},{"path":"/nl/activiteit/the-dublin-liberties-distillery-rondleiding-proeverij/","matchPath":"/nl/activiteit/the-dublin-liberties-distillery-rondleiding-proeverij/"},{"path":"/nl/activiteit/vintage-tea-trips-afternoon-tea-op-zijn-iers/","matchPath":"/nl/activiteit/vintage-tea-trips-afternoon-tea-op-zijn-iers/"},{"path":"/nl/activiteit/vroege-toegang-book-of-kells-dublin-castle-tour/","matchPath":"/nl/activiteit/vroege-toegang-book-of-kells-dublin-castle-tour/"},{"path":"/nl/activiteit/wicklow-glendalough-kilkenny-tour-vanuit-dublin-schaapshondendemonstratie/","matchPath":"/nl/activiteit/wicklow-glendalough-kilkenny-tour-vanuit-dublin-schaapshondendemonstratie/"},{"path":"/nl/activiteit/wicklow-glendalough-powerscourt-waterval-tour-vanuit-dublin/","matchPath":"/nl/activiteit/wicklow-glendalough-powerscourt-waterval-tour-vanuit-dublin/"},{"path":"/pl/aktywnosc/avoca-mill-wycieczka-z-przewodnikiem/","matchPath":"/pl/aktywnosc/avoca-mill-wycieczka-z-przewodnikiem/"},{"path":"/pl/aktywnosc/big-bus-dublin-wycieczka-autobusem-hop-on-hop-off/","matchPath":"/pl/aktywnosc/big-bus-dublin-wycieczka-autobusem-hop-on-hop-off/"},{"path":"/pl/aktywnosc/blarney-rock-of-cashel-zamki-cahir-calodzienna-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/blarney-rock-of-cashel-zamki-cahir-calodzienna-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/city-sightseeing-dublin-wycieczka-autobusem-hop-on-hop-off/","matchPath":"/pl/aktywnosc/city-sightseeing-dublin-wycieczka-autobusem-hop-on-hop-off/"},{"path":"/pl/aktywnosc/cliffs-of-moher-kilmacduagh-abbey-galway-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/cliffs-of-moher-kilmacduagh-abbey-galway-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/cliffs-of-moher-wild-atlantic-way-galway-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/cliffs-of-moher-wild-atlantic-way-galway-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/cork-blarney-castle-wycieczka-pociagiem-z-dublina/","matchPath":"/pl/aktywnosc/cork-blarney-castle-wycieczka-pociagiem-z-dublina/"},{"path":"/pl/aktywnosc/dodublin-autobus-hop-on-hop-off-z-przewodnikiem/","matchPath":"/pl/aktywnosc/dodublin-autobus-hop-on-hop-off-z-przewodnikiem/"},{"path":"/pl/aktywnosc/dublin-all-inclusive-pass/","matchPath":"/pl/aktywnosc/dublin-all-inclusive-pass/"},{"path":"/pl/aktywnosc/dublin-explorer-pass/","matchPath":"/pl/aktywnosc/dublin-explorer-pass/"},{"path":"/pl/aktywnosc/epic-irlandzkie-muzeum-emigracji-bilet-wstepu/","matchPath":"/pl/aktywnosc/epic-irlandzkie-muzeum-emigracji-bilet-wstepu/"},{"path":"/pl/aktywnosc/game-of-thrones-studio-tour-bilet-i-dojazd-z-dublina/","matchPath":"/pl/aktywnosc/game-of-thrones-studio-tour-bilet-i-dojazd-z-dublina/"}
2,{"path":"/pl/aktywnosc/gorzelnia-jameson-i-guinness-storehouse-bilet-2w1/","matchPath":"/pl/aktywnosc/gorzelnia-jameson-i-guinness-storehouse-bilet-2w1/"},{"path":"/pl/aktywnosc/gravediggers-ghost-bus-tour-dublin/","matchPath":"/pl/aktywnosc/gravediggers-ghost-bus-tour-dublin/"},{"path":"/pl/aktywnosc/grobla-olbrzyma-dark-hedges-belfast-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/grobla-olbrzyma-dark-hedges-belfast-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/grobla-olbrzyma-i-belfast-jednodniowa-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/grobla-olbrzyma-i-belfast-jednodniowa-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/grobla-olbrzyma-i-belfast-wycieczka-z-wstepem-do-atrakcji/","matchPath":"/pl/aktywnosc/grobla-olbrzyma-i-belfast-wycieczka-z-wstepem-do-atrakcji/"},{"path":"/pl/aktywnosc/grobla-olbrzyma-muzeum-titanica-dark-hedges-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/grobla-olbrzyma-muzeum-titanica-dark-hedges-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/guinness-storehouse-jameson-distillery-wycieczka-z-przewodnikiem/","matchPath":"/pl/aktywnosc/guinness-storehouse-jameson-distillery-wycieczka-z-przewodnikiem/"},{"path":"/pl/aktywnosc/irish-national-stud-gardens-bilet-wstepu/","matchPath":"/pl/aktywnosc/irish-national-stud-gardens-bilet-wstepu/"},{"path":"/pl/aktywnosc/irish-whiskey-museum-warsztaty-kupazowania-whiskey/","matchPath":"/pl/aktywnosc/irish-whiskey-museum-warsztaty-kupazowania-whiskey/"},{"path":"/pl/aktywnosc/irish-whiskey-museum-wycieczka-z-degustacja/","matchPath":"/pl/aktywnosc/irish-whiskey-museum-wycieczka-z-degustacja/"},{"path":"/pl/aktywnosc/jameson-distillery-wycieczka-z-przewodnikiem-degustacja/","matchPath":"/pl/aktywnosc/jameson-distillery-wycieczka-z-przewodnikiem-degustacja/"},{"path":"/pl/aktywnosc/katedra-kosciola-chrystusowego-bilet-wstepu/","matchPath":"/pl/aktywnosc/katedra-kosciola-chrystusowego-bilet-wstepu/"},{"path":"/pl/aktywnosc/katedra-sw-patryka-bilet-wstepu/","matchPath":"/pl/aktywnosc/katedra-sw-patryka-bilet-wstepu/"},{"path":"/pl/aktywnosc/kilkenny-wicklow-mountains-glendalough-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/kilkenny-wicklow-mountains-glendalough-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/klify-moheru-burren-i-galway-calodzienna-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/klify-moheru-burren-i-galway-calodzienna-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/ksiega-z-kells-i-zamek-w-dublinie-wczesny-dostep-i-wycieczka/","matchPath":"/pl/aktywnosc/ksiega-z-kells-i-zamek-w-dublinie-wczesny-dostep-i-wycieczka/"},{"path":"/pl/aktywnosc/little-museum-of-dublin-slynna-wycieczka-z-przewodnikiem/","matchPath":"/pl/aktywnosc/little-museum-of-dublin-slynna-wycieczka-z-przewodnikiem/"},{"path":"/pl/aktywnosc/magazyn-guinnessa-bilet-wstepu/","matchPath":"/pl/aktywnosc/magazyn-guinnessa-bilet-wstepu/"},{"path":"/pl/aktywnosc/moli-irlandzkie-muzeum-literatury-bilet-wstepu/","matchPath":"/pl/aktywnosc/moli-irlandzkie-muzeum-literatury-bilet-wstepu/"},{"path":"/pl/aktywnosc/muzeum-gpo-bilet-wstepu/","matchPath":"/pl/aktywnosc/muzeum-gpo-bilet-wstepu/"},{"path":"/pl/aktywnosc/muzeum-irish-rock-n-roll-bilet-wstepu/","matchPath":"/pl/aktywnosc/muzeum-irish-rock-n-roll-bilet-wstepu/"},{"path":"/pl/aktywnosc/national-wax-museum-plus-bilet-wstepu/","matchPath":"/pl/aktywnosc/national-wax-museum-plus-bilet-wstepu/"},{"path":"/pl/aktywnosc/pearse-lyons-distillery-wycieczka-6-degustacji-dublin/","matchPath":"/pl/aktywnosc/pearse-lyons-distillery-wycieczka-6-degustacji-dublin/"},{"path":"/pl/aktywnosc/roe-and-co-distillery-blending-experience-z-autorskim-koktajlem/","matchPath":"/pl/aktywnosc/roe-and-co-distillery-blending-experience-z-autorskim-koktajlem/"},{"path":"/pl/aktywnosc/teeling-whiskey-distillery-bilet-wstepu-degustacja-wycieczka/","matchPath":"/pl/aktywnosc/teeling-whiskey-distillery-bilet-wstepu-degustacja-wycieczka/"},{"path":"/pl/aktywnosc/the-dublin-liberties-distillery-wycieczka-i-degustacja/","matchPath":"/pl/aktywnosc/the-dublin-liberties-distillery-wycieczka-i-degustacja/"},{"path":"/pl/aktywnosc/vintage-tea-trips-popoludniowa-herbatka-po-irlandzku/","matchPath":"/pl/aktywnosc/vintage-tea-trips-popoludniowa-herbatka-po-irlandzku/"},{"path":"/pl/aktywnosc/wicklow-glendalough-kilkenny-wycieczka-z-dublina-pokaz-psow/","matchPath":"/pl/aktywnosc/wicklow-glendalough-kilkenny-wycieczka-z-dublina-pokaz-psow/"},{"path":"/pl/aktywnosc/wicklow-glendalough-powerscourt-wodospad-wycieczka-z-dublina/","matchPath":"/pl/aktywnosc/wicklow-glendalough-powerscourt-wodospad-wycieczka-z-dublina/"},{"path":"/pl/aktywnosc/zaglowiec-jeanie-johnston-wycieczka-z-przewodnikiem/","matchPath":"/pl/aktywnosc/zaglowiec-jeanie-johnston-wycieczka-z-przewodnikiem/"},{"path":"/pt/atividade/autocarro-fantasma-gravediggers-dublin/","matchPath":"/pt/atividade/autocarro-fantasma-gravediggers-dublin/"},{"path":"/pt/atividade/avoca-mill-visita-guiada/","matchPath":"/pt/atividade/avoca-mill-visita-guiada/"},{"path":"/pt/atividade/big-bus-dublin-passeio-de-onibus-hop-on-hop-off/","matchPath":"/pt/atividade/big-bus-dublin-passeio-de-onibus-hop-on-hop-off/"},{"path":"/pt/atividade/bilhetes-os-falesias-de-moher-abadia-kilmacduagh-galway-excursao-saindo-dublin/","matchPath":"/pt/atividade/bilhetes-os-falesias-de-moher-abadia-kilmacduagh-galway-excursao-saindo-dublin/"},{"path":"/pt/atividade/bilhetes-para-falesias-de-moher-wild-atlantic-way-galway-excursao-de-dublin/","matchPath":"/pt/atividade/bilhetes-para-falesias-de-moher-wild-atlantic-way-galway-excursao-de-dublin/"},{"path":"/pt/atividade/bilhetes-para-o-irish-national-stud-gardens/","matchPath":"/pt/atividade/bilhetes-para-o-irish-national-stud-gardens/"},{"path":"/pt/atividade/calcada-do-gigante-dark-hedges-belfast-excursao-de-dublin/","matchPath":"/pt/atividade/calcada-do-gigante-dark-hedges-belfast-excursao-de-dublin/"},{"path":"/pt/atividade/calcada-do-gigante-e-belfast-excursao-de-um-dia-com-entradas/","matchPath":"/pt/atividade/calcada-do-gigante-e-belfast-excursao-de-um-dia-com-entradas/"},{"path":"/pt/atividade/calcada-do-gigante-museu-titanic-dark-hedges-excursao-de-dublin/","matchPath":"/pt/atividade/calcada-do-gigante-museu-titanic-dark-hedges-excursao-de-dublin/"},{"path":"/pt/atividade/catedral-christ-church-bilhete-de-entrada/","matchPath":"/pt/atividade/catedral-christ-church-bilhete-de-entrada/"},{"path":"/pt/atividade/catedral-de-sao-patricio-bilhete-de-entrada/","matchPath":"/pt/atividade/catedral-de-sao-patricio-bilhete-de-entrada/"},{"path":"/pt/atividade/city-sightseeing-dublin-passeio-de-onibus-hop-on-hop-off/","matchPath":"/pt/atividade/city-sightseeing-dublin-passeio-de-onibus-hop-on-hop-off/"},{"path":"/pt/atividade/destilaria-dublin-liberties-visita-guiada-e-degustacao/","matchPath":"/pt/atividade/destilaria-dublin-liberties-visita-guiada-e-degustacao/"}
2,{"path":"/pt/atividade/destilaria-jameson-guinness-storehouse-bilhete-combinado/","matchPath":"/pt/atividade/destilaria-jameson-guinness-storehouse-bilhete-combinado/"},{"path":"/pt/atividade/destilaria-jameson-visita-guiada-degustacao/","matchPath":"/pt/atividade/destilaria-jameson-visita-guiada-degustacao/"},{"path":"/pt/atividade/destilaria-roe-and-co-experiencia-de-mistura-com-coquetel-signature/","matchPath":"/pt/atividade/destilaria-roe-and-co-experiencia-de-mistura-com-coquetel-signature/"},{"path":"/pt/atividade/destilaria-whisky-teeling-ingresso-degustacao-visita-guiada/","matchPath":"/pt/atividade/destilaria-whisky-teeling-ingresso-degustacao-visita-guiada/"},{"path":"/pt/atividade/dodublin-passeio-de-onibus-hop-on-hop-off-com-guia-ao-vivo/","matchPath":"/pt/atividade/dodublin-passeio-de-onibus-hop-on-hop-off-com-guia-ao-vivo/"},{"path":"/pt/atividade/dublin-pass-tudo-incluido/","matchPath":"/pt/atividade/dublin-pass-tudo-incluido/"},{"path":"/pt/atividade/dublin-passe-explorar/","matchPath":"/pt/atividade/dublin-passe-explorar/"},{"path":"/pt/atividade/epic-museu-da-emigracao-irlandesa-bilhete-de-entrada/","matchPath":"/pt/atividade/epic-museu-da-emigracao-irlandesa-bilhete-de-entrada/"},{"path":"/pt/atividade/estudio-de-game-of-thrones-bilhete-de-entrada-e-partida-de-dublin/","matchPath":"/pt/atividade/estudio-de-game-of-thrones-bilhete-de-entrada-e-partida-de-dublin/"},{"path":"/pt/atividade/excursao-a-blarney-rock-of-cashel-e-castelo-de-cahir-saindo-de-dublin/","matchPath":"/pt/atividade/excursao-a-blarney-rock-of-cashel-e-castelo-de-cahir-saindo-de-dublin/"},{"path":"/pt/atividade/excursao-a-calcada-do-gigante-e-belfast-saindo-de-dublin/","matchPath":"/pt/atividade/excursao-a-calcada-do-gigante-e-belfast-saindo-de-dublin/"},{"path":"/pt/atividade/excursao-as-falesias-de-moher-burren-e-galway-de-dublin/","matchPath":"/pt/atividade/excursao-as-falesias-de-moher-burren-e-galway-de-dublin/"},{"path":"/pt/atividade/excursao-de-comboio-a-cork-castelo-de-blarney-e-cobh-de-dublin/","matchPath":"/pt/atividade/excursao-de-comboio-a-cork-castelo-de-blarney-e-cobh-de-dublin/"},{"path":"/pt/atividade/excursao-wicklow-glendalough-cascata-de-powerscourt-de-dublin/","matchPath":"/pt/atividade/excursao-wicklow-glendalough-cascata-de-powerscourt-de-dublin/"},{"path":"/pt/atividade/experiencia-museu-rock-n-roll-irlandes-bilhete-de-entrada/","matchPath":"/pt/atividade/experiencia-museu-rock-n-roll-irlandes-bilhete-de-entrada/"},{"path":"/pt/atividade/guinness-storehouse-destilaria-jameson-bilhete-sem-filas-degustacao-tour-guiada/","matchPath":"/pt/atividade/guinness-storehouse-destilaria-jameson-bilhete-sem-filas-degustacao-tour-guiada/"},{"path":"/pt/atividade/jeanie-johnston-tall-ship-visita-guiada/","matchPath":"/pt/atividade/jeanie-johnston-tall-ship-visita-guiada/"},{"path":"/pt/atividade/kilkenny-wicklow-mountains-glendalough-excursao-de-dublin/","matchPath":"/pt/atividade/kilkenny-wicklow-mountains-glendalough-excursao-de-dublin/"},{"path":"/pt/atividade/livro-de-kells-e-castelo-de-dublin-visita-guiada-e-acesso-antecipado/","matchPath":"/pt/atividade/livro-de-kells-e-castelo-de-dublin-visita-guiada-e-acesso-antecipado/"},{"path":"/pt/atividade/moli-museu-da-literatura-da-irlanda-bilhete-de-entrada/","matchPath":"/pt/atividade/moli-museu-da-literatura-da-irlanda-bilhete-de-entrada/"},{"path":"/pt/atividade/museu-do-whiskey-irlandes-experiencia-de-mistura-de-whiskey/","matchPath":"/pt/atividade/museu-do-whiskey-irlandes-experiencia-de-mistura-de-whiskey/"},{"path":"/pt/atividade/museu-do-whiskey-irlandes-tour-guiado-com-degustacao/","matchPath":"/pt/atividade/museu-do-whiskey-irlandes-tour-guiado-com-degustacao/"},{"path":"/pt/atividade/museu-gpo-witness-history-bilhete-de-entrada/","matchPath":"/pt/atividade/museu-gpo-witness-history-bilhete-de-entrada/"},{"path":"/pt/atividade/national-wax-museum-plus-bilhete-de-entrada/","matchPath":"/pt/atividade/national-wax-museum-plus-bilhete-de-entrada/"},{"path":"/pt/atividade/pearse-lyons-distillery-tour-com-6-degustacoes-dublin/","matchPath":"/pt/atividade/pearse-lyons-distillery-tour-com-6-degustacoes-dublin/"},{"path":"/pt/atividade/pequeno-museu-de-dublin-nossa-famosa-visita-guiada/","matchPath":"/pt/atividade/pequeno-museu-de-dublin-nossa-famosa-visita-guiada/"},{"path":"/pt/atividade/vintage-tea-trips-cha-da-tarde-a-moda-irlandesa/","matchPath":"/pt/atividade/vintage-tea-trips-cha-da-tarde-a-moda-irlandesa/"},{"path":"/pt/atividade/visita-a-guinness-storehouse/","matchPath":"/pt/atividade/visita-a-guinness-storehouse/"},{"path":"/pt/atividade/wicklow-glendalough-kilkenny-excursao-saindo-de-dublin-demonstracao-caes-pastores/","matchPath":"/pt/atividade/wicklow-glendalough-kilkenny-excursao-saindo-de-dublin-demonstracao-caes-pastores/"},{"path":"/ru/aktivnost/avoca-mill-ekskursiya-s-gidom/","matchPath":"/ru/aktivnost/avoca-mill-ekskursiya-s-gidom/"},{"path":"/ru/aktivnost/avtobusnyy-tur-privideniy-mogilshchiki-dublin/","matchPath":"/ru/aktivnost/avtobusnyy-tur-privideniy-mogilshchiki-dublin/"},{"path":"/ru/aktivnost/big-bus-dublin-poehzdka-na-avtobuse-hop-on-hop-off-s-zhivym-gidom/","matchPath":"/ru/aktivnost/big-bus-dublin-poehzdka-na-avtobuse-hop-on-hop-off-s-zhivym-gidom/"}
2,{"path":"/ru/aktivnost/bilety-na-kliffs-of-moher-dikij-atlanticheskij-put-goluej-ekskursiya-iz-dublina/","matchPath":"/ru/aktivnost/bilety-na-kliffs-of-moher-dikij-atlanticheskij-put-goluej-ekskursiya-iz-dublina/"},{"path":"/ru/aktivnost/bilety-na-kliffsy-mokhera-abbatstvo-kilmakdua-i-goluei-ekskursiia-iz-dublina/","matchPath":"/ru/aktivnost/bilety-na-kliffsy-mokhera-abbatstvo-kilmakdua-i-goluei-ekskursiia-iz-dublina/"},{"path":"/ru/aktivnost/bilety-v-irlandskiy-nacionalnyy-konnyy-zavod-i-sady/","matchPath":"/ru/aktivnost/bilety-v-irlandskiy-nacionalnyy-konnyy-zavod-i-sady/"},{"path":"/ru/aktivnost/city-sightseeing-dublin-poehzdka-na-avtobuse-hop-on-hop-off/","matchPath":"/ru/aktivnost/city-sightseeing-dublin-poehzdka-na-avtobuse-hop-on-hop-off/"},{"path":"/ru/aktivnost/distilleriya-dublin-libertiz-ekskursiya-s-gidom-i-degustatsiya/","matchPath":"/ru/aktivnost/distilleriya-dublin-libertiz-ekskursiya-s-gidom-i-degustatsiya/"},{"path":"/ru/aktivnost/distilleriya-dzheymsoun-ekskursiya-degustatsiya/","matchPath":"/ru/aktivnost/distilleriya-dzheymsoun-ekskursiya-degustatsiya/"},{"path":"/ru/aktivnost/distilleriya-roe-and-co-opyt-smeshivaniya-s-firmennym-kokteylem/","matchPath":"/ru/aktivnost/distilleriya-roe-and-co-opyt-smeshivaniya-s-firmennym-kokteylem/"},{"path":"/ru/aktivnost/distilleriya-viski-teeling-bilet-vkhod-degustatsiya-ekskursiya/","matchPath":"/ru/aktivnost/distilleriya-viski-teeling-bilet-vkhod-degustatsiya-ekskursiya/"},{"path":"/ru/aktivnost/dodublin-avtobusnyy-tur-hop-on-hop-off-s-zhivym-gidom/","matchPath":"/ru/aktivnost/dodublin-avtobusnyy-tur-hop-on-hop-off-s-zhivym-gidom/"},{"path":"/ru/aktivnost/doroga-gigantov-dark-hedges-belfast-tur-iz-dublina/","matchPath":"/ru/aktivnost/doroga-gigantov-dark-hedges-belfast-tur-iz-dublina/"},{"path":"/ru/aktivnost/doroga-gigantov-i-belfast-odnodnevnyy-tur-s-vhodnymi-biletami/","matchPath":"/ru/aktivnost/doroga-gigantov-i-belfast-odnodnevnyy-tur-s-vhodnymi-biletami/"},{"path":"/ru/aktivnost/doroga-gigantov-muzey-titanika-dark-hedges-tur-iz-dublina/","matchPath":"/ru/aktivnost/doroga-gigantov-muzey-titanika-dark-hedges-tur-iz-dublina/"},{"path":"/ru/aktivnost/dublin-explorer-pass/","matchPath":"/ru/aktivnost/dublin-explorer-pass/"},{"path":"/ru/aktivnost/ekskursiya-v-blarni-skalu-kashel-i-zamok-keyr-iz-dublina/","matchPath":"/ru/aktivnost/ekskursiya-v-blarni-skalu-kashel-i-zamok-keyr-iz-dublina/"},{"path":"/ru/aktivnost/epic-muzej-irlandskoy-emigratsii-bilet-na-vkhod/","matchPath":"/ru/aktivnost/epic-muzej-irlandskoy-emigratsii-bilet-na-vkhod/"},{"path":"/ru/aktivnost/guinness-storehouse-distilleriya-dzheymsona-bilet-bez-ocheredi-degustatsiya-i-ekskursiya-s-gidom/","matchPath":"/ru/aktivnost/guinness-storehouse-distilleriya-dzheymsona-bilet-bez-ocheredi-degustatsiya-i-ekskursiya-s-gidom/"},{"path":"/ru/aktivnost/irlandskiy-muzey-rok-n-rolla-bilet-vkhoda/","matchPath":"/ru/aktivnost/irlandskiy-muzey-rok-n-rolla-bilet-vkhoda/"},{"path":"/ru/aktivnost/jeanie-johnston-tall-ship-ekskursiya-s-gidom/","matchPath":"/ru/aktivnost/jeanie-johnston-tall-ship-ekskursiya-s-gidom/"},{"path":"/ru/aktivnost/kilkenny-wicklow-mountains-glendalough-excursao-de-dublin/","matchPath":"/ru/aktivnost/kilkenny-wicklow-mountains-glendalough-excursao-de-dublin/"},{"path":"/ru/aktivnost/kniga-kells-i-dublinskii-zamok-ekskursiia-s-gidom-i-dosrochnym-dostupom/","matchPath":"/ru/aktivnost/kniga-kells-i-dublinskii-zamok-ekskursiia-s-gidom-i-dosrochnym-dostupom/"},{"path":"/ru/aktivnost/malenkiy-muzei-dublina-nasha-znamenaitya-ekskursiya-s-gidom/","matchPath":"/ru/aktivnost/malenkiy-muzei-dublina-nasha-znamenaitya-ekskursiya-s-gidom/"},{"path":"/ru/aktivnost/moli-muzey-literatury-irlandii-bilet-na-vkhod/","matchPath":"/ru/aktivnost/moli-muzey-literatury-irlandii-bilet-na-vkhod/"},{"path":"/ru/aktivnost/muzej-gpo-witness-history-vhodnoj-bilet/","matchPath":"/ru/aktivnost/muzej-gpo-witness-history-vhodnoj-bilet/"},{"path":"/ru/aktivnost/muzey-irlandskogo-viski-gidirovannaya-ekskursiya-s-degustatsiey/","matchPath":"/ru/aktivnost/muzey-irlandskogo-viski-gidirovannaya-ekskursiya-s-degustatsiey/"},{"path":"/ru/aktivnost/muzey-irlandskogo-viski-opyt-kupazhirovaniya-viski/","matchPath":"/ru/aktivnost/muzey-irlandskogo-viski-opyt-kupazhirovaniya-viski/"},{"path":"/ru/aktivnost/natsionalnyy-muzey-voskovykh-figur-bilet-vkhoda/","matchPath":"/ru/aktivnost/natsionalnyy-muzey-voskovykh-figur-bilet-vkhoda/"},{"path":"/ru/aktivnost/pearse-lyons-distillery-tur-s-6-degustaciyami-dublin/","matchPath":"/ru/aktivnost/pearse-lyons-distillery-tur-s-6-degustaciyami-dublin/"},{"path":"/ru/aktivnost/poseshchenie-pivovarnogo-zavoda-guinness/","matchPath":"/ru/aktivnost/poseshchenie-pivovarnogo-zavoda-guinness/"},{"path":"/ru/aktivnost/sobor-svyatogo-patrika-bilet-vkhoda/","matchPath":"/ru/aktivnost/sobor-svyatogo-patrika-bilet-vkhoda/"},{"path":"/ru/aktivnost/studio-game-of-thrones-bilet-vhod-i-otyezd-iz-dublina/","matchPath":"/ru/aktivnost/studio-game-of-thrones-bilet-vhod-i-otyezd-iz-dublina/"},{"path":"/ru/aktivnost/tserkov-krist-cherch-bilet-na-vhod/","matchPath":"/ru/aktivnost/tserkov-krist-cherch-bilet-na-vhod/"},{"path":"/ru/aktivnost/tur-doroga-gigantov-i-belfast-iz-dublina/","matchPath":"/ru/aktivnost/tur-doroga-gigantov-i-belfast-iz-dublina/"},{"path":"/ru/aktivnost/tur-na-poezde-v-kork-zamok-blarni-i-kov-iz-dublina/","matchPath":"/ru/aktivnost/tur-na-poezde-v-kork-zamok-blarni-i-kov-iz-dublina/"},{"path":"/ru/aktivnost/tur-na-utesy-moher-v-burren-i-goluey-iz-dublina/","matchPath":"/ru/aktivnost/tur-na-utesy-moher-v-burren-i-goluey-iz-dublina/"},{"path":"/ru/aktivnost/uiklou-glendaloh-kilkenni-tur-iz-dublina-demonstraciya-pastushih-sobak/","matchPath":"/ru/aktivnost/uiklou-glendaloh-kilkenni-tur-iz-dublina-demonstraciya-pastushih-sobak/"},{"path":"/ru/aktivnost/vinokurnya-dzheimson-i-muzey-ginnessa-kombinirovannyy-bilet/","matchPath":"/ru/aktivnost/vinokurnya-dzheimson-i-muzey-ginnessa-kombinirovannyy-bilet/"},{"path":"/ru/aktivnost/vintage-tea-trips-posleobedennyi-chai-v-irlandskom-stile/","matchPath":"/ru/aktivnost/vintage-tea-trips-posleobedennyi-chai-v-irlandskom-stile/"},{"path":"/ru/aktivnost/vse-vklyucheno-dublin-pass/","matchPath":"/ru/aktivnost/vse-vklyucheno-dublin-pass/"},{"path":"/ru/aktivnost/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/","matchPath":"/ru/aktivnost/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/"},{"path":"/sv/aktivitet/avoca-mill-guidada-turer/","matchPath":"/sv/aktivitet/avoca-mill-guidada-turer/"},{"path":"/sv/aktivitet/big-bus-dublin-hop-on-hop-off-bussrundtur/","matchPath":"/sv/aktivitet/big-bus-dublin-hop-on-hop-off-bussrundtur/"},{"path":"/sv/aktivitet/blarney-rock-of-cashel-cahir-castles-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/blarney-rock-of-cashel-cahir-castles-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/book-of-kells-och-dublin-castle-guidad-tur-och-tidig-tillgang/","matchPath":"/sv/aktivitet/book-of-kells-och-dublin-castle-guidad-tur-och-tidig-tillgang/"},{"path":"/sv/aktivitet/christ-church-cathedral-entrebiljett/","matchPath":"/sv/aktivitet/christ-church-cathedral-entrebiljett/"},{"path":"/sv/aktivitet/city-sightseeing-dublin-hop-on-hop-off-bussrundtur/","matchPath":"/sv/aktivitet/city-sightseeing-dublin-hop-on-hop-off-bussrundtur/"},{"path":"/sv/aktivitet/cliffs-of-moher-burren-galway-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/cliffs-of-moher-burren-galway-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/cliffs-of-moher-kilmacduagh-abbey-galway-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/cliffs-of-moher-kilmacduagh-abbey-galway-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/cliffs-of-moher-wild-atlantic-way-galway-utflykt-fran-dublin/","matchPath":"/sv/aktivitet/cliffs-of-moher-wild-atlantic-way-galway-utflykt-fran-dublin/"},{"path":"/sv/aktivitet/cork-blarney-castle-tagresa-fran-dublin/","matchPath":"/sv/aktivitet/cork-blarney-castle-tagresa-fran-dublin/"},{"path":"/sv/aktivitet/dodublin-hop-on-hop-off-bussrundtur-liveguide/","matchPath":"/sv/aktivitet/dodublin-hop-on-hop-off-bussrundtur-liveguide/"},{"path":"/sv/aktivitet/dublin-all-inclusive-pass/","matchPath":"/sv/aktivitet/dublin-all-inclusive-pass/"},{"path":"/sv/aktivitet/dublin-explorer-pass/","matchPath":"/sv/aktivitet/dublin-explorer-pass/"},{"path":"/sv/aktivitet/epic-irish-emigration-museum-entrebiljett/","matchPath":"/sv/aktivitet/epic-irish-emigration-museum-entrebiljett/"},{"path":"/sv/aktivitet/giants-causeway-belfast-city-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/giants-causeway-belfast-city-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/giants-causeway-belfast-city-dagstur-med-adgang-till-sevardigheter/","matchPath":"/sv/aktivitet/giants-causeway-belfast-city-dagstur-med-adgang-till-sevardigheter/"},{"path":"/sv/aktivitet/giants-causeway-dark-hedges-belfast-city-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/giants-causeway-dark-hedges-belfast-city-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/giants-causeway-titanic-museum-dark-hedges-tur-fran-dublin/","matchPath":"/sv/aktivitet/giants-causeway-titanic-museum-dark-hedges-tur-fran-dublin/"},{"path":"/sv/aktivitet/gpo-witness-history-museum-entrebiljett/","matchPath":"/sv/aktivitet/gpo-witness-history-museum-entrebiljett/"},{"path":"/sv/aktivitet/gravediggers-spokbuss-tur-dublin/","matchPath":"/sv/aktivitet/gravediggers-spokbuss-tur-dublin/"}
2,{"path":"/sv/aktivitet/guinness-storehouse-besok/","matchPath":"/sv/aktivitet/guinness-storehouse-besok/"},{"path":"/sv/aktivitet/guinness-storehouse-jameson-distillery-biljett-ga-fore-i-kon-provsmakning-guidad-tur/","matchPath":"/sv/aktivitet/guinness-storehouse-jameson-distillery-biljett-ga-fore-i-kon-provsmakning-guidad-tur/"},{"path":"/sv/aktivitet/irish-national-stud-gardens-entrebiljett/","matchPath":"/sv/aktivitet/irish-national-stud-gardens-entrebiljett/"},{"path":"/sv/aktivitet/irish-rock-n-roll-museum-experience-entrebiljett/","matchPath":"/sv/aktivitet/irish-rock-n-roll-museum-experience-entrebiljett/"},{"path":"/sv/aktivitet/irish-whiskey-museum-blanda-egen-whisky/","matchPath":"/sv/aktivitet/irish-whiskey-museum-blanda-egen-whisky/"},{"path":"/sv/aktivitet/irish-whiskey-museum-guidad-tur-och-provsmakning/","matchPath":"/sv/aktivitet/irish-whiskey-museum-guidad-tur-och-provsmakning/"},{"path":"/sv/aktivitet/jameson-distillery-guidad-tur-provsmakning/","matchPath":"/sv/aktivitet/jameson-distillery-guidad-tur-provsmakning/"},{"path":"/sv/aktivitet/jameson-distillery-och-guinness-storehouse-upplevelse/","matchPath":"/sv/aktivitet/jameson-distillery-och-guinness-storehouse-upplevelse/"},{"path":"/sv/aktivitet/jeanie-johnston-tall-ship-guidad-tur/","matchPath":"/sv/aktivitet/jeanie-johnston-tall-ship-guidad-tur/"},{"path":"/sv/aktivitet/kilkenny-wicklow-mountains-glendalough-dagstur-fran-dublin/","matchPath":"/sv/aktivitet/kilkenny-wicklow-mountains-glendalough-dagstur-fran-dublin/"},{"path":"/sv/aktivitet/little-museum-of-dublin-var-beromda-guidade-tur/","matchPath":"/sv/aktivitet/little-museum-of-dublin-var-beromda-guidade-tur/"},{"path":"/sv/aktivitet/moli-museum-of-literature-ireland-entrebiljett/","matchPath":"/sv/aktivitet/moli-museum-of-literature-ireland-entrebiljett/"},{"path":"/sv/aktivitet/national-wax-museum-plus-entrebiljett/","matchPath":"/sv/aktivitet/national-wax-museum-plus-entrebiljett/"},{"path":"/sv/aktivitet/pearse-lyons-distillery-guidad-tur-med-6-provsmakningar/","matchPath":"/sv/aktivitet/pearse-lyons-distillery-guidad-tur-med-6-provsmakningar/"},{"path":"/sv/aktivitet/roe-and-co-distillery-blanda-whisky-med-signaturdrink/","matchPath":"/sv/aktivitet/roe-and-co-distillery-blanda-whisky-med-signaturdrink/"},{"path":"/sv/aktivitet/saint-patricks-cathedral-entrebiljett/","matchPath":"/sv/aktivitet/saint-patricks-cathedral-entrebiljett/"},{"path":"/sv/aktivitet/studio-game-of-thrones-entrebiljett-och-avresa-fran-dublin/","matchPath":"/sv/aktivitet/studio-game-of-thrones-entrebiljett-och-avresa-fran-dublin/"},{"path":"/sv/aktivitet/teeling-whiskey-distillery-entrebiljett-provsmakning-guidad-tur/","matchPath":"/sv/aktivitet/teeling-whiskey-distillery-entrebiljett-provsmakning-guidad-tur/"},{"path":"/sv/aktivitet/the-dublin-liberties-distillery-guidad-tur-och-provsmakning/","matchPath":"/sv/aktivitet/the-dublin-liberties-distillery-guidad-tur-och-provsmakning/"},{"path":"/sv/aktivitet/vintage-tea-trips-afternoon-tea-paa-irlandsk-vis/","matchPath":"/sv/aktivitet/vintage-tea-trips-afternoon-tea-paa-irlandsk-vis/"},{"path":"/sv/aktivitet/wicklow-glendalough-kilkenny-tur-fran-dublin-vallhundsuppvisning/","matchPath":"/sv/aktivitet/wicklow-glendalough-kilkenny-tur-fran-dublin-vallhundsuppvisning/"},{"path":"/sv/aktivitet/wicklow-glendalough-powerscourt-waterfall-tur-fran-dublin/","matchPath":"/sv/aktivitet/wicklow-glendalough-powerscourt-waterfall-tur-fran-dublin/"},{"path":"/zh/activity/avoca-mill-guided-tour/","matchPath":"/zh/activity/avoca-mill-guided-tour/"},{"path":"/zh/activity/big-bus-dublin-hop-on-hop-off-bus-tour/","matchPath":"/zh/activity/big-bus-dublin-hop-on-hop-off-bus-tour/"},{"path":"/zh/activity/blarney-castle-rock-of-cashel-cahir-castles-day-tour-from-dublin/","matchPath":"/zh/activity/blarney-castle-rock-of-cashel-cahir-castles-day-tour-from-dublin/"},{"path":"/zh/activity/book-of-kells-and-dublin-castle-guided-tour-and-early-access/","matchPath":"/zh/activity/book-of-kells-and-dublin-castle-guided-tour-and-early-access/"},{"path":"/zh/activity/christ-church-cathedral-entry-ticket/","matchPath":"/zh/activity/christ-church-cathedral-entry-ticket/"},{"path":"/zh/activity/city-sightseeing-dublin-hop-on-hop-off-bus-tour/","matchPath":"/zh/activity/city-sightseeing-dublin-hop-on-hop-off-bus-tour/"},{"path":"/zh/activity/cliffs-of-moher-burren-galway-day-tour-from-dublin/","matchPath":"/zh/activity/cliffs-of-moher-burren-galway-day-tour-from-dublin/"},{"path":"/zh/activity/cork-blarney-castle-day-tour-from-dublin/","matchPath":"/zh/activity/cork-blarney-castle-day-tour-from-dublin/"},{"path":"/zh/activity/dodublin-hop-on-hop-off-bus-tour-live-guide/","matchPath":"/zh/activity/dodublin-hop-on-hop-off-bus-tour-live-guide/"},{"path":"/zh/activity/dublin-all-inclusive-pass/","matchPath":"/zh/activity/dublin-all-inclusive-pass/"},{"path":"/zh/activity/dublin-explorer-pass/","matchPath":"/zh/activity/dublin-explorer-pass/"},{"path":"/zh/activity/epic-irish-emigration-museum-entry-ticket/","matchPath":"/zh/activity/epic-irish-emigration-museum-entry-ticket/"},{"path":"/zh/activity/giants-causeway-belfast-city-day-tour-with-admission-to-attractions/","matchPath":"/zh/activity/giants-causeway-belfast-city-day-tour-with-admission-to-attractions/"},{"path":"/zh/activity/giants-causeway-belfast-city-day-trip-from-dublin/","matchPath":"/zh/activity/giants-causeway-belfast-city-day-trip-from-dublin/"},{"path":"/zh/activity/giants-causeway-dark-hedges-belfast-city-day-trip-from-dublin/","matchPath":"/zh/activity/giants-causeway-dark-hedges-belfast-city-day-trip-from-dublin/"},{"path":"/zh/activity/giants-causeway-titanic-museum-dark-hedges-tour-from-dublin/","matchPath":"/zh/activity/giants-causeway-titanic-museum-dark-hedges-tour-from-dublin/"},{"path":"/zh/activity/gpo-witness-history-museum-entry-ticket/","matchPath":"/zh/activity/gpo-witness-history-museum-entry-ticket/"},{"path":"/zh/activity/gravediggers-ghost-bus-tour-dublin/","matchPath":"/zh/activity/gravediggers-ghost-bus-tour-dublin/"}
2,{"path":"/zh/activity/guinness-storehouse-jameson-distillery-ticket-skip-the-line-tasting-guided-tour/","matchPath":"/zh/activity/guinness-storehouse-jameson-distillery-ticket-skip-the-line-tasting-guided-tour/"},{"path":"/zh/activity/guinness-storehouse-visit/","matchPath":"/zh/activity/guinness-storehouse-visit/"},{"path":"/zh/activity/irish-national-stud-gardens-entry-ticket/","matchPath":"/zh/activity/irish-national-stud-gardens-entry-ticket/"},{"path":"/zh/activity/irish-rock-n-roll-museum-experience-entry-ticket/","matchPath":"/zh/activity/irish-rock-n-roll-museum-experience-entry-ticket/"},{"path":"/zh/activity/irish-whiskey-museum-guided-tour-tasting/","matchPath":"/zh/activity/irish-whiskey-museum-guided-tour-tasting/"},{"path":"/zh/activity/irish-whiskey-museum-whiskey-blending-experience/","matchPath":"/zh/activity/irish-whiskey-museum-whiskey-blending-experience/"},{"path":"/zh/activity/jameson-distillery-and-guinness-storehouse-experience/","matchPath":"/zh/activity/jameson-distillery-and-guinness-storehouse-experience/"},{"path":"/zh/activity/jameson-distillery-guided-tour-tasting/","matchPath":"/zh/activity/jameson-distillery-guided-tour-tasting/"},{"path":"/zh/activity/jeanie-johnston-tall-ship-guided-tour/","matchPath":"/zh/activity/jeanie-johnston-tall-ship-guided-tour/"},{"path":"/zh/activity/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/","matchPath":"/zh/activity/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/"},{"path":"/zh/activity/little-museum-of-dublin-our-famous-guided-tour/","matchPath":"/zh/activity/little-museum-of-dublin-our-famous-guided-tour/"},{"path":"/zh/activity/moli-museum-of-literature-ireland-entry-ticket/","matchPath":"/zh/activity/moli-museum-of-literature-ireland-entry-ticket/"},{"path":"/zh/activity/national-wax-museum-plus-entry-ticket/","matchPath":"/zh/activity/national-wax-museum-plus-entry-ticket/"},{"path":"/zh/activity/pearse-lyons-distillery-tour-with-6-tastings-dublin/","matchPath":"/zh/activity/pearse-lyons-distillery-tour-with-6-tastings-dublin/"},{"path":"/zh/activity/roe-and-co-distillery-blending-experience-with-signature-cocktail/","matchPath":"/zh/activity/roe-and-co-distillery-blending-experience-with-signature-cocktail/"},{"path":"/zh/activity/saint-patricks-cathedral-entry-ticket/","matchPath":"/zh/activity/saint-patricks-cathedral-entry-ticket/"},{"path":"/zh/activity/studio-game-of-thrones-admission-ticket-and-departure-from-dublin/","matchPath":"/zh/activity/studio-game-of-thrones-admission-ticket-and-departure-from-dublin/"},{"path":"/zh/activity/teeling-whiskey-distillery-entry-ticket-tasting-guided-tour/","matchPath":"/zh/activity/teeling-whiskey-distillery-entry-ticket-tasting-guided-tour/"},{"path":"/zh/activity/the-dublin-liberties-distillery-guided-tour-and-tasting/","matchPath":"/zh/activity/the-dublin-liberties-distillery-guided-tour-and-tasting/"},{"path":"/zh/activity/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/","matchPath":"/zh/activity/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/"},{"path":"/zh/activity/tickets-cliffs-of-moher-wild-atlantic-way-galway-excursion-dublin/","matchPath":"/zh/activity/tickets-cliffs-of-moher-wild-atlantic-way-galway-excursion-dublin/"},{"path":"/zh/activity/vintage-tea-trips-afternoon-tea-the-irish-way/","matchPath":"/zh/activity/vintage-tea-trips-afternoon-tea-the-irish-way/"},{"path":"/zh/activity/wicklow-glendalough-kilkenny-tour-from-dublin-sheepdog-demonstration/","matchPath":"/zh/activity/wicklow-glendalough-kilkenny-tour-from-dublin-sheepdog-demonstration/"},{"path":"/zh/activity/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/","matchPath":"/zh/activity/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/"},{"path":"/activity/avoca-mill-guided-tour/","matchPath":"/activity/avoca-mill-guided-tour/"},{"path":"/activity/big-bus-dublin-hop-on-hop-off-bus-tour/","matchPath":"/activity/big-bus-dublin-hop-on-hop-off-bus-tour/"},{"path":"/activity/blarney-castle-rock-of-cashel-cahir-castles-day-tour-from-dublin/","matchPath":"/activity/blarney-castle-rock-of-cashel-cahir-castles-day-tour-from-dublin/"},{"path":"/activity/book-of-kells-and-dublin-castle-guided-tour-and-early-access/","matchPath":"/activity/book-of-kells-and-dublin-castle-guided-tour-and-early-access/"},{"path":"/activity/christ-church-cathedral-entry-ticket/","matchPath":"/activity/christ-church-cathedral-entry-ticket/"},{"path":"/activity/city-sightseeing-dublin-hop-on-hop-off-bus-tour/","matchPath":"/activity/city-sightseeing-dublin-hop-on-hop-off-bus-tour/"},{"path":"/activity/cliffs-of-moher-burren-galway-day-tour-from-dublin/","matchPath":"/activity/cliffs-of-moher-burren-galway-day-tour-from-dublin/"},{"path":"/activity/cork-blarney-castle-day-tour-from-dublin/","matchPath":"/activity/cork-blarney-castle-day-tour-from-dublin/"},{"path":"/activity/dodublin-hop-on-hop-off-bus-tour-live-guide/","matchPath":"/activity/dodublin-hop-on-hop-off-bus-tour-live-guide/"},{"path":"/activity/dublin-all-inclusive-pass/","matchPath":"/activity/dublin-all-inclusive-pass/"},{"path":"/activity/dublin-explorer-pass/","matchPath":"/activity/dublin-explorer-pass/"},{"path":"/activity/epic-irish-emigration-museum-entry-ticket/","matchPath":"/activity/epic-irish-emigration-museum-entry-ticket/"},{"path":"/activity/giants-causeway-belfast-city-day-tour-with-admission-to-attractions/","matchPath":"/activity/giants-causeway-belfast-city-day-tour-with-admission-to-attractions/"},{"path":"/activity/giants-causeway-belfast-city-day-trip-from-dublin/","matchPath":"/activity/giants-causeway-belfast-city-day-trip-from-dublin/"},{"path":"/activity/giants-causeway-dark-hedges-belfast-city-day-trip-from-dublin/","matchPath":"/activity/giants-causeway-dark-hedges-belfast-city-day-trip-from-dublin/"},{"path":"/activity/giants-causeway-titanic-museum-dark-hedges-tour-from-dublin/","matchPath":"/activity/giants-causeway-titanic-museum-dark-hedges-tour-from-dublin/"},{"path":"/activity/gpo-witness-history-museum-entry-ticket/","matchPath":"/activity/gpo-witness-history-museum-entry-ticket/"},{"path":"/activity/gravediggers-ghost-bus-tour-dublin/","matchPath":"/activity/gravediggers-ghost-bus-tour-dublin/"}
2,{"path":"/activity/guinness-storehouse-jameson-distillery-ticket-skip-the-line-tasting-guided-tour/","matchPath":"/activity/guinness-storehouse-jameson-distillery-ticket-skip-the-line-tasting-guided-tour/"},{"path":"/activity/guinness-storehouse-visit/","matchPath":"/activity/guinness-storehouse-visit/"},{"path":"/activity/irish-national-stud-gardens-entry-ticket/","matchPath":"/activity/irish-national-stud-gardens-entry-ticket/"},{"path":"/activity/irish-rock-n-roll-museum-experience-entry-ticket/","matchPath":"/activity/irish-rock-n-roll-museum-experience-entry-ticket/"},{"path":"/activity/irish-whiskey-museum-guided-tour-tasting/","matchPath":"/activity/irish-whiskey-museum-guided-tour-tasting/"},{"path":"/activity/irish-whiskey-museum-whiskey-blending-experience/","matchPath":"/activity/irish-whiskey-museum-whiskey-blending-experience/"},{"path":"/activity/jameson-distillery-and-guinness-storehouse-experience/","matchPath":"/activity/jameson-distillery-and-guinness-storehouse-experience/"},{"path":"/activity/jameson-distillery-guided-tour-tasting/","matchPath":"/activity/jameson-distillery-guided-tour-tasting/"},{"path":"/activity/jeanie-johnston-tall-ship-guided-tour/","matchPath":"/activity/jeanie-johnston-tall-ship-guided-tour/"},{"path":"/activity/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/","matchPath":"/activity/kilkenny-wicklow-mountains-glendalough-day-tour-from-dublin/"},{"path":"/activity/little-museum-of-dublin-our-famous-guided-tour/","matchPath":"/activity/little-museum-of-dublin-our-famous-guided-tour/"},{"path":"/activity/moli-museum-of-literature-ireland-entry-ticket/","matchPath":"/activity/moli-museum-of-literature-ireland-entry-ticket/"},{"path":"/activity/national-wax-museum-plus-entry-ticket/","matchPath":"/activity/national-wax-museum-plus-entry-ticket/"},{"path":"/activity/pearse-lyons-distillery-tour-with-6-tastings-dublin/","matchPath":"/activity/pearse-lyons-distillery-tour-with-6-tastings-dublin/"},{"path":"/activity/roe-and-co-distillery-blending-experience-with-signature-cocktail/","matchPath":"/activity/roe-and-co-distillery-blending-experience-with-signature-cocktail/"},{"path":"/activity/saint-patricks-cathedral-entry-ticket/","matchPath":"/activity/saint-patricks-cathedral-entry-ticket/"},{"path":"/activity/studio-game-of-thrones-admission-ticket-and-departure-from-dublin/","matchPath":"/activity/studio-game-of-thrones-admission-ticket-and-departure-from-dublin/"},{"path":"/activity/teeling-whiskey-distillery-entry-ticket-tasting-guided-tour/","matchPath":"/activity/teeling-whiskey-distillery-entry-ticket-tasting-guided-tour/"},{"path":"/activity/the-dublin-liberties-distillery-guided-tour-and-tasting/","matchPath":"/activity/the-dublin-liberties-distillery-guided-tour-and-tasting/"},{"path":"/activity/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/","matchPath":"/activity/tickets-cliffs-of-moher-kilmacduagh-abbey-galway-city-day-trip-from-dublin/"},{"path":"/activity/tickets-cliffs-of-moher-wild-atlantic-way-galway-excursion-dublin/","matchPath":"/activity/tickets-cliffs-of-moher-wild-atlantic-way-galway-excursion-dublin/"},{"path":"/activity/vintage-tea-trips-afternoon-tea-the-irish-way/","matchPath":"/activity/vintage-tea-trips-afternoon-tea-the-irish-way/"},{"path":"/activity/wicklow-glendalough-kilkenny-tour-from-dublin-sheepdog-demonstration/","matchPath":"/activity/wicklow-glendalough-kilkenny-tour-from-dublin-sheepdog-demonstration/"},{"path":"/activity/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/","matchPath":"/activity/wicklow-glendalough-powerscourt-waterfall-tour-from-dublin/"},{"path":"/da/404.html","matchPath":"/da/404.html"},{"path":"/da/aktiviteter/","matchPath":"/da/aktiviteter/"},{"path":"/da/juridiske-meddelelser/","matchPath":"/da/juridiske-meddelelser/"},{"path":"/de/404.html","matchPath":"/de/404.html"},{"path":"/de/aktivitaten/","matchPath":"/de/aktivitaten/"},{"path":"/de/rechtliche-hinweise/","matchPath":"/de/rechtliche-hinweise/"},{"path":"/es/404.html","matchPath":"/es/404.html"},{"path":"/es/actividades/","matchPath":"/es/actividades/"},{"path":"/es/avisos-legales/","matchPath":"/es/avisos-legales/"},{"path":"/fr/404.html","matchPath":"/fr/404.html"},{"path":"/fr/activites/","matchPath":"/fr/activites/"},{"path":"/fr/mentions-legales/","matchPath":"/fr/mentions-legales/"},{"path":"/it/404.html","matchPath":"/it/404.html"},{"path":"/it/attivita/","matchPath":"/it/attivita/"},{"path":"/it/nota-legali/","matchPath":"/it/nota-legali/"},{"path":"/nl/404.html","matchPath":"/nl/404.html"},{"path":"/nl/activiteiten/","matchPath":"/nl/activiteiten/"},{"path":"/nl/juridische-mededelingen/","matchPath":"/nl/juridische-mededelingen/"},{"path":"/pl/404.html","matchPath":"/pl/404.html"},{"path":"/pl/aktywnosci/","matchPath":"/pl/aktywnosci/"},{"path":"/pl/informacje-prawne/","matchPath":"/pl/informacje-prawne/"},{"path":"/pt/404.html","matchPath":"/pt/404.html"},{"path":"/pt/atividades/","matchPath":"/pt/atividades/"},{"path":"/pt/avisos-legais/","matchPath":"/pt/avisos-legais/"},{"path":"/ru/404.html","matchPath":"/ru/404.html"},{"path":"/ru/aktivnosti/","matchPath":"/ru/aktivnosti/"},{"path":"/ru/yuridicheskaya-informatsiya/","matchPath":"/ru/yuridicheskaya-informatsiya/"},{"path":"/sv/404.html","matchPath":"/sv/404.html"},{"path":"/sv/aktiviteter/","matchPath":"/sv/aktiviteter/"},{"path":"/sv/juridiska-meddelanden/","matchPath":"/sv/juridiska-meddelanden/"},{"path":"/zh/404.html","matchPath":"/zh/404.html"},{"path":"/zh/activities/","matchPath":"/zh/activities/"},{"path":"/zh/legal-notices/","matchPath":"/zh/legal-notices/"},{"path":"/404.html","matchPath":"/404.html"},{"path":"/activities/","matchPath":"/activities/"},{"path":"/da/","matchPath":"/da/"},{"path":"/de/","matchPath":"/de/"},{"path":"/es/","matchPath":"/es/"},{"path":"/fr/","matchPath":"/fr/"},{"path":"/it/","matchPath":"/it/"},{"path":"/legal-notices/","matchPath":"/legal-notices/"},{"path":"/nl/","matchPath":"/nl/"},{"path":"/offline-plugin-app-shell-fallback/","matchPath":"/offline-plugin-app-shell-fallback/"},{"path":"/pl/","matchPath":"/pl/"},{"path":"/pt/","matchPath":"/pt/"},{"path":"/ru/","matchPath":"/ru/"},{"path":"/sv/","matchPath":"/sv/"},{"path":"/zh/","matchPath":"/zh/"},{"path":"/da/404/","matchPath":"/da/*"},{"path":"/de/404/","matchPath":"/de/*"},{"path":"/es/404/","matchPath":"/es/*"},{"path":"/fr/404/","matchPath":"/fr/*"},{"path":"/it/404/","matchPath":"/it/*"},{"path":"/nl/404/","matchPath":"/nl/*"},{"path":"/pl/404/","matchPath":"/pl/*"},{"path":"/pt/404/","matchPath":"/pt/*"},{"path":"/ru/404/","matchPath":"/ru/*"},{"path":"/sv/404/","matchPath":"/sv/*"},{"path":"/zh/404/","matchPath":"/zh/*"},{"path":"/","matchPath":"/"},{"path":"/404/","matchPath":"/*"}]'),z=a(9732);const O=new u.N5(j,R,window.pageData);(0,u.iC)(O),O.setApiRunner(n.N);const{render:N,hydrate:$}=(0,z.n)();window.asyncRequires=j,window.___emitter=d.A,window.___loader=u.Zf,r.globalHistory.listen(t=>{t.location.action=t.action}),window.___push=t=>b(t,{replace:!1}),window.___replace=t=>b(t,{replace:!0}),window.___navigate=(t,e)=>
2b(t,e);const _="gatsby-reload-compilation-hash-match";(0,n.v)("onClientEntry").then(()=>{const t=(t,e)=>{console.error("Uncaught error:",t,e),(0,n.N)("onUncaughtError",{error:t,errorInfo:e})},e=(t,e)=>{(0,n.N)("onCaughtError",{error:t,errorInfo:e})};(0,n.N)("registerServiceWorker").filter(Boolean).length>0&&a(626);const h=t=>s.default.createElement(r.BaseContext.Provider,{value:{baseuri:"/",basepath:"/"}},s.default.createElement(S.A,t)),d=s.default.createContext({}),p={renderEnvironment:"browser"};let g=function(t){function e(){return t.apply(this,arguments)||this}return(0,i.A)(e,t),e.prototype.render=function(){const{children:t}=this.props;return s.default.createElement(r.Location,null,e=>{let{location:a}=e;return s.default.createElement(L,{location:a},e=>{let{pageResources:a,location:i}=e;const n=(0,u.LE)(),r=(0,u.Rh)();return s.default.createElement(l.G.Provider,{value:n},s.default.createElement(c.j$.Provider,{value:p},s.default.createElement(c.dd.Provider,{value:r},s.default.createElement(c.Jr.Provider,{value:a.page.slicesMap},s.default.createElement(d.Provider,{value:{pageResources:a,location:i}},t)))))})})},e}(s.default.Component),m=function(t){function e(){return t.apply(this,arguments)||this}return(0,i.A)(e,t),e.prototype.render=function(){return s.default.createElement(d.Consumer,null,t=>{let{pageResources:e,location:a}=t;return s.default.createElement(x,{location:a},s.default.createElement(o.z_,{location:a,shouldUpdateScroll:k},s.default.createElement(r.Router,{basepath:"",location:a,id:"gatsby-focus-wrapper"},s.default.createElement(h,Object.assign({path:"/404.html"===e.page.path||"/500.html"===e.page.path?(0,C.A)(a.pathname,""):encodeURI((e.page.matchPath||e.page.path).split("?")[0])},this.props,{location:a,pageResources:e},e.json)))))})},e}(s.default.Component);const{pagePath:f,location:v}=window;f&&""+f!==v.pathname+(f.includes("?")?v.search:"")&&!(O.findMatchPath((0,C.A)(v.pathname,""))||f.match(/^\/(404|500)(\/?|.html)$/)||f.match(/^\/offline-plugin-app-shell-fallback\/?$/))&&(0,r.navigate)(""+f+(f.includes("?")?"":v.search)+v.hash,{replace:!0});const y=()=>{try{return sessionStorage}catch{return null}};u.Zf.loadPage(v.pathname+v.search).then(a=>{var i;const r=y();if(null!=a&&null!==(i=a.page)&&void 0!==i&&i.webpackCompilationHash&&a.page.webpackCompilationHash!==window.___webpackCompilationHash&&("serviceWorker"in navigator&&null!==navigator.serviceWorker.controller&&"activated"===navigator.serviceWorker.controller.state&&navigator.serviceWorker.controller.postMessage({gatsbyApi:"clearPathResources"}),r)){if(!("1"===r.getItem(_)))return r.setItem(_,"1"),void window.location.reload(!0)}if(r&&r.removeItem(_),!a||a.status===u.Wi.Error){const t=`page resources for ${v.pathname} not found. Not rendering React`;if(a&&a.error)throw console.error(t),a.error;throw new Error(t)}const o=(0,n.N)("wrapRootElement",{element:s.default.createElement(m,null)},s.default.createElement(m,null),t=>{let{result:e}=t;return{element:e}}).pop(),l=function(){const t=s.default.useRef(!1);return s.default.useEffect(()=>{t.current||(t.current=!0,performance.mark&&performance.mark("onInitialClientRender"),(0,n.N)("onInitialClientRender"))},[]),s.default.createElement(g,null,o)},c=document.getElementById("gatsby-focus-wrapper");let h=(a,i)=>N(a,i,{onUncaughtError:t,onCaughtError:e});c&&c.children.length&&(h=(a,i)=>$(a,i,{onUncaughtError:t,onCaughtError:e}));const d=(0,n.N)("replaceHydrateFunction",void 0,h)[0]||h;function p(){const t="undefined"!=typeof window?document.getElementById("___gatsby"):null;d(s.default.createElement(l,null),t)}const f=document;if("complete"===f.readyState||"loading"!==f.readyState&&!f.documentElement.doScroll)setTimeout(function(){p()},0);else{const t=function(){f.removeEventListener("DOMContentLoaded",t,!1),window.removeEventListener("load",t,!1),p()};f.addEventListener("DOMContentLoaded",t,!1),window.addEventListener("load",t,!1)}})})},6600:function(t,e,a){"use strict";function i(){0}a.r(e),a.d(e,{onClientEntry:function(){return i}})},6814:function(t,e,a){"use strict";a.d(e,{Wi:function(){return u},N5:function(){return k},Ay:function(){return x},Rh:function(){return j},LE:function(){return S},Zf:function(){return P},iC:function(){return w}});var i=a(7387),n=a(5458);const s=function(t){if("undefined"==typeof document)return!1;const e=document.createElement("link");try{if(e.relList&&"function"==typeof e.relList.supports)return e.relList.supports(t)}catch(a){return!1}return!1}("prefetch")?function(t,e){return new Promise((a,i)=>{if("undefined"==typeof document)return void i();const n=document.createElement("link");n.setAttribute("rel","prefetch"),n.setAttribute("href",t),Object.keys(e).forEach(t=>{n.setAttribute(t,e[t])}),n.onload=a,n.onerror=i;(document.getElementsByTagName("head")[0]||document.getElementsByName("script")[0].parentNode).appendChild(n)})}:function(t){return new Promise((e,a)=>{const i=new XMLHttpRequest;i.open("GET",t,!0),i.onload=()=>{200===i.status?e():a()},i.send(null)})},r={};var o=function(t,e){return new Promise(a=>{r[t]?a():s(t,e).then(()=>{a(),r[t]=!0}).catch(()=>{})})},l=a(9369),c=a(8990);const u={Error:"error",Success:"success"},h=t=>{const[e,a]=t.split("?");var i;return`/page-data/${"/"===e?"index":(i="/"===(i=e)[0]?i.slice(1):i).endsWith("/")?i.slice(0,-1):i}/page-data.json${a?`?${a}`:""}`},d=t=>t.startsWith("//");function p(t,e){return void 0===e&&(e="GET"),new Promise(a=>{const i=new XMLHttpRequest;i.open(e,t,!0),i.onreadystatechange=()=>{4==i.readyState&&a(i)},i.send(null)})}const g=/bot|crawler|spider|crawling/i,m=function(t,e,a){var i;void 0===e&&(e=null);const n={componentChunkName:t.componentChunkName,path:t.path,webpackCompilationHash:t.webpackCompilationHash,matchPath:t.matchPath,staticQueryHashes:t.staticQueryHashes,getServerDataError:t.getServerDataError,slicesMap:null!==(i=t.slicesMap)&&void 0!==i?i:{}};return{component:e,head:a,json:t.result,page:n}};function f(t){return new Promise(e=>{try{const a=t.readRoot();e(a)}catch(a){if(!Object.hasOwnProperty.call(a,"_response")||!Object.hasOwnProperty.call(a,"_status"))throw a;setTimeout(()=>{f(t).then(e)},200)}})}let v=function(){function t(t,e){this.inFlightNetworkRequests=new Map,this.pageDb=new Map,this.inFlightDb=new Map,this.staticQueryDb={},this.pageDataDb=new Map,this.partialHydrationDb=new Map,this.slice
2sDataDb=new Map,this.sliceInflightDb=new Map,this.slicesDb=new Map,this.isPrefetchQueueRunning=!1,this.prefetchQueued=[],this.prefetchTriggered=new Set,this.prefetchCompleted=new Set,this.loadComponent=t,(0,c.QX)(e)}var e=t.prototype;return e.memoizedGet=function(t){let e=this.inFlightNetworkRequests.get(t);return e||(e=p(t,"GET"),this.inFlightNetworkRequests.set(t,e)),e.then(e=>(this.inFlightNetworkRequests.delete(t),e)).catch(e=>{throw this.inFlightNetworkRequests.delete(t),e})},e.setApiRunner=function(t){this.apiRunner=t,this.prefetchDisabled=t("disableCorePrefetching").some(t=>t)},e.fetchPageDataJson=function(t){const{pagePath:e,retries:a=0}=t,i=h(e);return this.memoizedGet(i).then(i=>{const{status:n,responseText:s}=i;if(200===n)try{const a=JSON.parse(s);if(void 0===a.path)throw new Error("not a valid pageData response");const i=e.split("?")[1];return i&&!a.path.includes(i)&&(a.path+=`?${i}`),Object.assign(t,{status:u.Success,payload:a})}catch(r){}return 404===n||200===n?"/404.html"===e||"/500.html"===e?Object.assign(t,{status:u.Error}):this.fetchPageDataJson(Object.assign(t,{pagePath:"/404.html",notFound:!0})):500===n?this.fetchPageDataJson(Object.assign(t,{pagePath:"/500.html",internalServerError:!0})):a<3?this.fetchPageDataJson(Object.assign(t,{retries:a+1})):Object.assign(t,{status:u.Error})})},e.fetchPartialHydrationJson=function(t){const{pagePath:e,retries:a=0}=t,i=h(e).replace(".json","-rsc.json");return this.memoizedGet(i).then(i=>{const{status:n,responseText:s}=i;if(200===n)try{return Object.assign(t,{status:u.Success,payload:s})}catch(r){}return 404===n||200===n?"/404.html"===e||"/500.html"===e?Object.assign(t,{status:u.Error}):this.fetchPartialHydrationJson(Object.assign(t,{pagePath:"/404.html",notFound:!0})):500===n?this.fetchPartialHydrationJson(Object.assign(t,{pagePath:"/500.html",internalServerError:!0})):a<3?this.fetchPartialHydrationJson(Object.assign(t,{retries:a+1})):Object.assign(t,{status:u.Error})})},e.loadPageDataJson=function(t){const e=(0,c.Hh)(t);if(this.pageDataDb.has(e)){const t=this.pageDataDb.get(e);return Promise.resolve(t)}return this.fetchPageDataJson({pagePath:e}).then(t=>(this.pageDataDb.set(e,t),t))},e.loadPartialHydrationJson=function(t){const e=(0,c.Hh)(t);if(this.partialHydrationDb.has(e)){const t=this.partialHydrationDb.get(e);return Promise.resolve(t)}return this.fetchPartialHydrationJson({pagePath:e}).then(t=>(this.partialHydrationDb.set(e,t),t))}
2,e.loadSliceDataJson=function(t){if(this.slicesDataDb.has(t)){const e=this.slicesDataDb.get(t);return Promise.resolve({sliceName:t,jsonPayload:e})}return p(`/slice-data/${t}.json`,"GET").then(e=>{const a=JSON.parse(e.responseText);return this.slicesDataDb.set(t,a),{sliceName:t,jsonPayload:a}})},e.findMatchPath=function(t){return(0,c.Yl)(t)},e.loadPage=function(t){const e=(0,c.Hh)(t);if(this.pageDb.has(e)){const t=this.pageDb.get(e);return t.error?Promise.resolve({error:t.error,status:t.status}):Promise.resolve(t.payload)}if(this.inFlightDb.has(e))return this.inFlightDb.get(e);const i=[this.loadAppData(),this.loadPageDataJson(e)];const s=Promise.all(i).then(t=>{const[i,s,r]=t;if(s.status===u.Error||(null==r?void 0:r.status)===u.Error)return{status:u.Error};let o=s.payload;const{componentChunkName:c,staticQueryHashes:h=[],slicesMap:d={}}=o,p={},g=Array.from(new Set(Object.values(d))),v=t=>{if(this.slicesDb.has(t.name))return this.slicesDb.get(t.name);if(this.sliceInflightDb.has(t.name))return this.sliceInflightDb.get(t.name);const e=this.loadComponent(t.componentChunkName).then(e=>{return{component:(a=e,a&&a.default||a),sliceContext:t.result.sliceContext,data:t.result.data};var a});return this.sliceInflightDb.set(t.name,e),e.then(e=>{this.slicesDb.set(t.name,e),this.sliceInflightDb.delete(t.name)}),e};return Promise.all(g.map(t=>this.loadSliceDataJson(t))).then(t=>{const d=[],g=(0,n.A)(h);for(const{jsonPayload:e,sliceName:a}of Object.values(t)){d.push({name:a,...e});for(const t of e.staticQueryHashes)g.includes(t)||g.push(t)}const y=[Promise.all(d.map(v)),this.loadComponent(c,"head")];y.push(this.loadComponent(c));const b=Promise.all(y).then(t=>{const[e,n,l]=t;p.createdAt=new Date;for(const a of e)(!a||a instanceof Error)&&(p.status=u.Error,p.error=a);let c;if((!l||l instanceof Error)&&(p.status=u.Error,p.error=l),p.status!==u.Error){if(p.status=u.Success,!0!==s.notFound&&!0!==(null==r?void 0:r.notFound)||(p.notFound=!0),o=Object.assign(o,{webpackCompilationHash:i?i.webpackCompilationHash:""}),"string"==typeof(null==r?void 0:r.payload)){c=m(o,null,n),c.partialHydration=r.payload;const t=new ReadableStream({start(t){const e=new TextEncoder;t.enqueue(e.encode(r.payload))},pull(t){t.close()},cancel(){}});return a.e(522).then(a.t.bind(a,8522,23)).then(e=>{let{createFromReadableStream:a}=e;return f(a(t))}).then(t=>(c.partialHydration=t,c))}c=m(o,l,n)}return c}),k=Promise.all(g.map(t=>{if(this.staticQueryDb[t]){const e=this.staticQueryDb[t];return{staticQueryHash:t,jsonPayload:e}}return this.memoizedGet(`/page-data/sq/d/${t}.json`).then(e=>{const a=JSON.parse(e.responseText);return{staticQueryHash:t,jsonPayload:a}}).catch(()=>{throw new Error(`We couldn't load "/page-data/sq/d/${t}.json"`)})})).then(t=>{const e={};return t.forEach(t=>{let{staticQueryHash:a,jsonPayload:i}=t;e[a]=i,this.staticQueryDb[a]=i}),e});return Promise.all([b,k]).then(t=>{let a,[i,n]=t;return i&&(a={...i,staticQueryResults:n},p.payload=a,l.A.emit("onPostLoadPageResources",{page:a,pageResources:a})),this.pageDb.set(e,p),p.error?{error:p.error,status:p.status}:a}).catch(t=>({error:t,status:u.Error}))})});return s.then(()=>{this.inFlightDb.delete(e)}).catch(t=>{throw this.inFlightDb.delete(e),t}),this.inFlightDb.set(e,s),s},e.loadPageSync=function(t,e){void 0===e&&(e={});const a=(0,c.Hh)(t);if(this.pageDb.has(a)){var i;const t=this.pageDb.get(a);if(t.payload)return t.payload;if(null!==(i=e)&&void 0!==i&&i.withErrorDetails)return{error:t.error,status:t.status}}},e.shouldPrefetch=function(t){return!!(()=>{if("connection"in navigator&&void 0!==navigator.connection){if((navigator.connection.effectiveType||"").includes("2g"))return!1;if(navigator.connection.saveData)return!1}return!0})()&&((!navigator.userAgent||!g.test(navigator.userAgent))&&!this.pageDb.has(t))},e.prefetch=function(t){if(!this.shouldPrefetch(t))return{then:t=>t(!1),abort:()=>{}};if(this.prefetchTriggered.has(t))return{then:t=>t(!0),abort:()=>{}};const e={resolve:null,reject:null,promise:null};e.promise=new Promise((t,a)=>{e.resolve=t,e.reject=a}),this.prefetchQueued.push([t,e]);const a=new AbortController;return a.signal.addEventListener("abort",()=>{const e=this.prefetchQueued.findIndex(e=>{let[a]=e;return a===t});-1!==e&&this.prefetchQueued.splice(e,1)}),this.isPrefetchQueueRunning||(this.isPrefetchQueueRunning=!0,setTimeout(()=>{this._processNextPrefetchBatch()},3e3)),{then:(t,a)=>e.promise.then(t,a),abort:a.abort.bind(a)}},e._processNextPrefetchBatch=function(){(window.requestIdleCallback||(t=>setTimeout(t,0)))(()=>{const t=this.prefetchQueued.splice(0,4),e=Promise.all(t.map(t=>{let[e,a]=t;return this.prefetchTriggered.has(e)||(this.apiRunner("onPrefetchPathname",{pathname:e}),this.prefetchTriggered.add(e)),this.prefetchDisabled?a.resolve(!1):this.doPrefetch((0,c.Hh)(e)).then(()=>{this.prefetchCompleted.has(e)||(this.apiRunner("onPostPrefetchPathname",{pathname:e}),this.prefetchCompleted.add(e)),a.resolve(!0)})}));this.prefetchQueued.length?e.then(()=>{setTimeout(()=>{this._processNextPrefetchBatch()},3e3)}):this.isPrefetchQueueRunning=!1})},e.doPrefetch=function(t){const e=h(t);return o(e,{crossOrigin:"anonymous",as:"fetch"}).then(()=>this.loadPageDataJson(t))},e.hovering=function(t){this.loadPage(t)}
2,e.getResourceURLsForPathname=function(t){const e=(0,c.Hh)(t),a=this.pageDataDb.get(e);if(a){const t=m(a.payload);return[].concat((0,n.A)(y(t.page.componentChunkName)),[h(e)])}return null},e.isPageNotFound=function(t){const e=(0,c.Hh)(t),a=this.pageDb.get(e);return!a||a.notFound},e.loadAppData=function(t){return void 0===t&&(t=0),this.memoizedGet("/page-data/app-data.json").then(e=>{const{status:a,responseText:i}=e;let n;if(200!==a&&t<3)return this.loadAppData(t+1);if(200===a)try{const t=JSON.parse(i);if(void 0===t.webpackCompilationHash)throw new Error("not a valid app-data response");n=t}catch(s){}return n})},t}();const y=t=>(window.___chunkMapping[t]||[]).map(t=>""+t);let b,k=function(t){function e(e,a,i){var n;return n=t.call(this,function(t,a){if(void 0===a&&(a="components"),!e[a="components"][t])throw new Error(`We couldn't find the correct component chunk with the name "${t}"`);return e[a][t]().catch(t=>t)},a)||this,i&&n.pageDataDb.set((0,c.Hh)(i.path),{pagePath:i.path,payload:i,status:"success"}),n}(0,i.A)(e,t);var a=e.prototype;return a.doPrefetch=function(e){return t.prototype.doPrefetch.call(this,e).then(t=>{if(t.status!==u.Success)return Promise.resolve();const e=t.payload,a=e.componentChunkName,i=y(a);return Promise.all(i.map(o)).then(()=>e)})},a.loadPageDataJson=function(e){return t.prototype.loadPageDataJson.call(this,e).then(t=>t.notFound?d(e)?t:p(e,"HEAD").then(e=>200===e.status?{status:u.Error}:t):t)},a.loadPartialHydrationJson=function(e){return t.prototype.loadPartialHydrationJson.call(this,e).then(t=>t.notFound?d(e)?t:p(e,"HEAD").then(e=>200===e.status?{status:u.Error}:t):t)},e}(v);const w=t=>{b=t},P={enqueue:t=>b.prefetch(t),getResourceURLsForPathname:t=>b.getResourceURLsForPathname(t),loadPage:t=>b.loadPage(t),loadPageSync:function(t,e){return void 0===e&&(e={}),b.loadPageSync(t,e)},prefetch:t=>b.prefetch(t),isPageNotFound:t=>b.isPageNotFound(t),hovering:t=>b.hovering(t),loadAppData:()=>b.loadAppData()};var x=P;function S(){return b?b.staticQueryDb:{}}function j(){return b?b.slicesDb:{}}},6877:function(t,e,a){e.components={"component---cache-caches-gatsby-plugin-offline-app-shell-js":()=>a.e(681).then(a.bind(a,5438)),"component---src-pages-index-jsx":()=>Promise.all([a.e(869),a.e(593),a.e(57),a.e(699),a.e(463),a.e(279)]).then(a.bind(a,1057)),"component---src-templates-404-jsx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(870)]).then(a.bind(a,3389)),"component---src-templates-activities-jsx":()=>Promise.all([a.e(869),a.e(593),a.e(57),a.e(808),a.e(699),a.e(911),a.e(853)]).then(a.bind(a,1095)),"component---src-templates-activity-jsx":()=>Promise.all([a.e(869),a.e(593),a.e(57),a.e(808),a.e(3),a.e(699),a.e(463),a.e(911),a.e(37)]).then(a.bind(a,1133)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-da-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(592)]).then(a.bind(a,5447)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-de-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(68)]).then(a.bind(a,9047)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-en-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(204)]).then(a.bind(a,7861)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-es-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(829)]).then(a.bind(a,2357)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-fr-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(325)]).then(a.bind(a,8868)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-it-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(422)]).then(a.bind(a,6385)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-nl-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(623)]).then(a.bind(a,2353)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-pl-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(173)]).then(a.bind(a,5203)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-pt-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(749)]).then(a.bind(a,5803)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-ru-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(822)]).then(a.bind(a,3396)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-sv-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(18)]).then(a.bind(a,1479)),"component---src-templates-legal-notices-jsx-content-file-path-src-data-legal-notices-zh-mdx":()=>Promise.all([a.e(869),a.e(57),a.e(699),a.e(183)]).then(a.bind(a,8786))},e.head={}},7035:function(t,e,a){"use strict";e.RV=e.z_=void 0;var i=a(3215);e.z_=i.ScrollHandler;var n=a(3721);e.RV=n.useScrollRestoration},7078:function(t,e,a){"use strict";a.d(e,{Fe:function(){return p},N_:function(){return P},Rr:function(){return l},Zf:function(){return y},oo:function(){return x}});var i=a(5556),n=a(5299),s=a(6462),r=a(6395);function o(){return o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(t[i]=a[i])}return t},o.apply(this,arguments)}function l(t){let e=t||"/",a="",i="";const n=e.indexOf("#");-1!==n&&(i=e.slice(n),e=e.slice(0,n));const s=e.indexOf("?");return-1!==s&&(a=e.slice(s),e=e.slice(0,s)),{pathname:e,search:"?"===a?"":a,hash:"#"===i?"":i}}const c=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=t=>{if("string"==typeof t)return!(t=>c.test(t))(t)},h=()=>"",d=()=>"";function p(t,e=h()){var a;if(!u(t))return t;if(t.startsWith("./")||t.startsWith("../"))return t;const i=null!=(a=null!=e?e:d())?a:"/";return`${null!=i&&i.endsWith("/")?i.slice(0,-1):i}${t.startsWith("/")?t:`/${t}`}`}const g=t=>null==t?void 0:t.startsWith("/");function m(t,e){const{pathname:a,search:i,hash:n}=l(t);return`${(0,r.T)(a,e)}${i}${n}`}const f=(t,e)=>"number"==typeof t?t:u(t)?g(t)?function(t){const e=p(t),a="always";return m(e,a)}(t):function(t,e){if(g(t))return t;const a="always",i=(0,s.resolve)(t,e);return m(i,a)}(t,e):t,v=["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","innerRef","partiallyActive","state","replace","_location"];function y(t){return p(t,d())}const b={activeClassName:i.string,activeStyle:i.object,partiallyActive:i.bool};function k(t){return n.default.createElement(s.Location,null,({location:e})=>n.default.createElement(w,o({},t,{_location:e})))}class w extends n.default.Component{constructor(t){super(t),this.defaultGetProps=({isPartiallyCurrent:t,isCurrent:e})=>(this.props.partiallyActive?t:e)?{className:[this.props.className,this.props.activeClassName].filter(
2Boolean).join(" "),style:o({},this.props.style,this.props.activeStyle)}:null;let e=!1;"undefined"!=typeof window&&window.IntersectionObserver&&(e=!0),this.state={IOSupported:e},this.abortPrefetch=null,this.handleRef=this.handleRef.bind(this)}_prefetch(){let t=window.location.pathname+window.location.search;this.props._location&&this.props._location.pathname&&(t=this.props._location.pathname+this.props._location.search);const e=l(f(this.props.to,t)),a=e.pathname+e.search;if(t!==a)return ___loader.enqueue(a)}componentWillUnmount(){if(!this.io)return;const{instance:t,el:e}=this.io;this.abortPrefetch&&this.abortPrefetch.abort(),t.unobserve(e),t.disconnect()}handleRef(t){this.props.innerRef&&Object.prototype.hasOwnProperty.call(this.props.innerRef,"current")?this.props.innerRef.current=t:this.props.innerRef&&this.props.innerRef(t),this.state.IOSupported&&t&&(this.io=((t,e)=>{const a=new window.IntersectionObserver(a=>{a.forEach(a=>{t===a.target&&e(a.isIntersecting||a.intersectionRatio>0)})});return a.observe(t),{instance:a,el:t}})(t,t=>{t?this.abortPrefetch=this._prefetch():this.abortPrefetch&&this.abortPrefetch.abort()}))}render(){const t=this.props,{to:e,getProps:a=this.defaultGetProps,onClick:i,onMouseEnter:r,state:c,replace:h,_location:d}=t,p=function(t,e){if(null==t)return{};var a,i,n={},s=Object.keys(t);for(i=0;i<s.length;i++)e.indexOf(a=s[i])>=0||(n[a]=t[a]);return n}(t,v),g=f(e,d.pathname);return u(g)?n.default.createElement(s.Link,o({to:g,state:c,getProps:a,innerRef:this.handleRef,onMouseEnter:t=>{r&&r(t);const e=l(g);___loader.hovering(e.pathname+e.search)},onClick:t=>{if(i&&i(t),!(0!==t.button||this.props.target||t.defaultPrevented||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)){t.preventDefault();let e=h;const a=encodeURI(g)===d.pathname;"boolean"!=typeof h&&a&&(e=!0),window.___navigate(g,{state:c,replace:e})}return!0}},p)):n.default.createElement("a",o({href:g},p))}}w.propTypes=o({},b,{onClick:i.func,to:i.string.isRequired,replace:i.bool,state:i.object});const P=n.default.forwardRef((t,e)=>n.default.createElement(k,o({innerRef:e},t))),x=(t,e)=>{window.___navigate(f(t,window.location.pathname),e)}},7231:function(t,e,a){"use strict";a.d(e,{de:function(){return l},G:function(){return n},GR:function(){return c}});var i=a(5299);const n=(s="StaticQuery",r={},i.default.createServerContext?function(t,e){return void 0===e&&(e=null),globalThis.__SERVER_CONTEXT||(globalThis.__SERVER_CONTEXT={}),globalThis.__SERVER_CONTEXT[t]||(globalThis.__SERVER_CONTEXT[t]=i.default.createServerContext(t,e)),globalThis.__SERVER_CONTEXT[t]}(s,r):i.default.createContext(r));var s,r;function o(t){let{staticQueryData:e,data:a,query:n,render:s}=t;const r=a?a.data:e[n]&&e[n].data;return i.default.createElement(i.default.Fragment,null,r&&s(r),!r&&i.default.createElement("div",null,"Loading (StaticQuery)"))}const l=t=>{const{data:e,query:a,render:s,children:r}=t;return i.default.createElement(n.Consumer,null,t=>i.default.createElement(o,{data:e,query:a,render:s||r,staticQueryData:t}))},c=t=>{var e;i.default.useContext;const a=i.default.useContext(n);if(isNaN(Number(t)))throw new Error(`useStaticQuery was called with a string but expects to be called using \`graphql\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\`${t}\`);\n`);if(null!==(e=a[t])&&void 0!==e&&e.data)return a[t].data;throw new Error("The result of this StaticQuery could not be fetched.\n\nThis is likely a bug in Gatsby and if refreshing the page does not fix it, please open an issue in https://github.com/gatsbyjs/gatsby/issues")}},7387:function(t,e,a){"use strict";a.d(e,{A:function(){return n}});var i=a(3662);function n(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,(0,i.A)(t,e)}},7688:function(t,e){"use strict";e.DEFAULT_OPTIONS={maxWidth:650,wrapperStyle:"",backgroundColor:"white",linkImagesToOriginal:!0,showCaptions:!1,markdownCaptions:!1,withWebp:!1,withAvif:!1,tracedSVG:!1,loading:"lazy",decoding:"async",disableBgImageOnAlpha:!1,disableBgImage:!1},e.EMPTY_ALT="GATSBY_EMPTY_ALT",e.imageClass="gatsby-resp-image-image",e.imageWrapperClass="gatsby-resp-image-wrapper",e.imageBackgroun
2dClass="gatsby-resp-image-background-image"},7800:function(t,e,a){"use strict";a.d(e,{A:function(){return n}});var i=a(3145);function n(t,e){if(t){if("string"==typeof t)return(0,i.A)(t,e);var a={}.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?(0,i.A)(t,e):void 0}}},7914:function(t,e,a){"use strict";a.r(e),a.d(e,{onRouteUpdate:function(){return s}});var i=a(4794),n=a(4598);const s=function(t,e){let{location:a}=t;{const{localize:t}=e,s=(0,n.A)(a.pathname,t,!0),r=document.head.querySelector('link[rel="manifest"]');r&&r.setAttribute("href",(0,i.withPrefix)(s))}}},8428:function(t,e,a){"use strict";a.d(e,{A:function(){return R}});var i=a(5299),n=a(5556),s=a.n(n),r=a(20),o=a(8990),l=a(5458),c=a(4794),u=a(6462),h=a(9732);function d(t){let{children:e,callback:a}=t;return(0,i.useEffect)(()=>{a()}),e}const p=["link","meta","style","title","base","noscript","script","html","body"],g="itemProp",m="gatsby-do-not-hoist-me-react",f="data-original-tag",v=i.default.createContext(!1);function y(t){0}function b(t,e){if(t instanceof HTMLElement&&e instanceof HTMLElement){const a=e.getAttribute("nonce");if(a&&!t.getAttribute("nonce")){const i=e.cloneNode(!0);return i.setAttribute("nonce",""),i.nonce=a,a===t.nonce&&t.isEqualNode(i)}}return t.isEqualNode(e)}function k(t,e){void 0===e&&(e={html:{},body:{}});const a=new Map,i=[];for(const d of t.childNodes){var n,s,r,o,c;if(!x(d))continue;const t=null!==(n=null===(s=d.attributes)||void 0===s||null===(r=s.getNamedItem(f))||void 0===r?void 0:r.value)&&void 0!==n?n:d.nodeName.toLowerCase(),p=null===(o=d.attributes)||void 0===o||null===(c=o.id)||void 0===c?void 0:c.value;if(P(t))if("html"===t||"body"===t)for(const a of d.attributes){if(a.name===f)continue;const i="style"===a.name;var u;if(e[t]={...e[t]},i||(e[t][a.name]=a.value),i)e[t].style=`${null!==(u=e[t])&&void 0!==u&&u.style?e[t].style:""}${a.value} `}else{let t=d.cloneNode(!0);if(t.setAttribute("data-gatsby-head",!0),t.getAttribute(g)===m&&t.removeAttribute(g),"script"===t.nodeName.toLowerCase()&&(t=w(t)),p)if(a.has(p)){var h;const e=a.get(p);null===(h=i[e].parentNode)||void 0===h||h.removeChild(i[e]),i[e]=t}else i.push(t),a.set(p,i.length-1);else i.push(t)}else y();d.childNodes.length&&i.push.apply(i,(0,l.A)(k(d,e).validHeadNodes))}return{validHeadNodes:i,htmlAndBodyAttributes:e}}function w(t){const e=document.createElement(t.nodeName);for(const a of t.attributes)e.setAttribute(a.name,a.value);return e.innerHTML=t.innerHTML,e}function P(t){return p.includes(t)}function x(t){return 1===t.nodeType}const S=document.createElement("div"),j={html:[],body:[]},E=()=>{var t;const{validHeadNodes:e,htmlAndBodyAttributes:a}=k(S);j.html=Object.keys(a.html),j.body=Object.keys(a.body),function(t){if(!t)return;const{html:e,body:a}=t,i=document.querySelector("html");i&&Object.entries(e).forEach(t=>{let[e,a]=t;i.setAttribute(e,a)});const n=document.querySelector("body");n&&Object.entries(a).forEach(t=>{let[e,a]=t;n.setAttribute(e,a)})}(a);const i=document.querySelectorAll("[data-gatsby-head]");var n;if(0===i.length)return void(n=document.head).append.apply(n,(0,l.A)(e));const s=[];!function(t){let{oldNodes:e,newNodes:a,onStale:i,onNew:n}=t;for(const s of e){const t=a.findIndex(t=>b(t,s));-1===t?i(s):a.splice(t,1)}for(const s of a)n(s)}({oldNodes:i,newNodes:e,onStale:t=>t.parentNode.removeChild(t),onNew:t=>s.push(t)}),(t=document.head).append.apply(t,s)};if(18!==parseInt(i.default.version.split(".")[0],10)&&!i.default.createElement.headPatched){const t=i.default.createElement,e=function(t,e){function a(){return!!e||i.default.useContext(v)}return new Map(p.map(e=>[e,"html"===e||"body"===e?function(e){const i=i=>{if(a()){const a={...i,[f]:e};return t("div",a)}return t(e,i)};return i.displayName=`React19HeadAPICompat${e}`,i}(e):function(e){const i=i=>{if(a()&&!(g in i)){const a={...i,[g]:m};return t(e,a)}return t(e,i)};return i.displayName=`React19HeadAPICompat${e}`,i}(e)]))}(t,!1);i.default.createElement=function(a,n){const s=e.get(a);s&&(a=s);for(var r=arguments.length,o=new Array(r>2?r-2:0),l=2;l<r;l++)o[l-2]=arguments[l];return t.call.apply(t,[i.default,a,n].concat(o))},i.default.createElement.headPatched=!0}function L(t){let{pageComponent:e,staticQueryResults:a,pageComponentProps:n}=t;(0,i.useEffect)(()=>
2{if(null!=e&&e.Head){!function(t){if("function"!=typeof t)throw new Error(`Expected "Head" export to be a function got "${typeof t}".`)}(e.Head);const{render:s}=(0,h.n)(),o=i.default.createElement(e.Head,{location:{pathname:(t=n).location.pathname},params:t.params,data:t.data||{},serverData:t.serverData,pageContext:t.pageContext}),l=(0,r.N)("wrapRootElement",{element:o},o,t=>{let{result:e}=t;return{element:e}}).pop();s(i.default.createElement(d,{callback:E},i.default.createElement(v.Provider,{value:!0},i.default.createElement(c.StaticQueryContext.Provider,{value:a},i.default.createElement(u.LocationProvider,null,l)))),S)}var t;return()=>{!function(){const t=document.querySelectorAll("[data-gatsby-head]");for(const e of t)e.parentNode.removeChild(e)}(),function(t){if(!t)return;const{html:e,body:a}=t;if(e){const t=document.querySelector("html");e.forEach(e=>{t&&t.removeAttribute(e)})}if(a){const t=document.querySelector("body");a.forEach(e=>{t&&t.removeAttribute(e)})}}(j)}})}function C(t){const e={...t,params:{...(0,o.UA)(t.location.pathname),...t.pageResources.json.pageContext.__params}};let a;var n;a=t.pageResources.partialHydration?t.pageResources.partialHydration:(0,i.createElement)((n=t.pageResources.component)&&n.default||n,{...e,key:t.path||t.pageResources.page.path});L({pageComponent:t.pageResources.head,staticQueryResults:t.pageResources.staticQueryResults,pageComponentProps:e});return(0,r.N)("wrapPageElement",{element:a,props:e},a,t=>{let{result:a}=t;return{element:a,props:e}}).pop()}C.propTypes={location:s().object.isRequired,pageResources:s().object.isRequired,data:s().object,pageContext:s().object.isRequired};var R=C},8493:function(t,e,a){"use strict";var i=a(5299);var n="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},s=i.useState,r=i.useEffect,o=i.useLayoutEffect,l=i.useDebugValue;function c(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!n(t,a)}catch(i){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var a=e(),i=s({inst:{value:a,getSnapshot:e}}),n=i[0].inst,u=i[1];return o(function(){n.value=a,n.getSnapshot=e,c(n)&&u({inst:n})},[t,a,e]),r(function(){return c(n)&&u({inst:n}),t(function(){c(n)&&u({inst:n})})},[t]),l(a),a};e.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:u},8710:function(t,e){"use strict";e.onRouteUpdate=function(t,e){var a=t.location;if(void 0===e&&(e={}),"function"!=typeof gtag)return null;var i=e.pluginConfig||{};if(a&&void 0!==window.excludeGtagPaths&&window.excludeGtagPaths.some(function(t){return t.test(a.pathname)}))return null;var n=function(){var t=a?a.pathname+a.search+a.hash:void 0;window.gtag("event","page_view",{page_path:t})},s=i.delayOnRouteUpdate,r=void 0===s?0:s;return"requestAnimationFrame"in window?requestAnimationFrame(function(){requestAnimationFrame(function(){return setTimeout(n,r)})}):setTimeout(n,32+r),null}},8797:function(t,e,a){"use strict";function i(t,e){return void 0===e&&(e=""),e?t===e?"/":t.startsWith(`${e}/`)?t.slice(e.length):t:t}a.d(e,{A:function(){return i}})},8990:function(t,e,a){"use strict";a.d(e,{Yl:function(){return d},Hh:function(){return g},UA:function(){return p},QX:function(){return h}});var i=a(6462),n=a(8797),s=t=>{if(void 0===t)return t;let[e,a=""]=t.split("?");return a&&(a="?"+a),"/"===e?"/"+a:"/"===e.charAt(e.length-1)?e.slice(0,-1)+a:e+a},r=a(6491);const o=new Map;let l=[];const c=t=>{let e=t;if(-1!==t.indexOf("?")){const[a,i]=t.split("?");e=`${a}?${encodeURIComponent(i)}`}const a=decodeURIComponent(e);return(0,n.A)(a,decodeURIComponent("")).split("#")[0]};function u(t){return t.startsWith("/")||t.startsWith("https://")||t.startsWith("http://")?t:new URL(t,window.location.href+(window.location.href.endsWith("/")?"":"/")).pathname}const h=t=>{l=t},d=t=>{const e=m(t),a=l.map(t=>{let{path:e,matchPath:a}=t;return{path:a,originalPath:e}}),n=(0,i.pick)(a,e);return n?s(n.route.originalPath):null},p=t=>{const e=m(t),a=l.map(t=>{let{path:e,matchPath:a}=t;return{path:a,originalPath:e}}),n=(0,i.pick)(a,e);return n?n.params:{}},g=t=>{const e=c(u(t));if(o.has(e))return o.get(e);const a=(0,r.X)(t);if(a)return g(a.toPath);let i=d(e);
2return i||(i=m(t)),o.set(e,i),i},m=t=>{let e=c(u(t));return"/index.html"===e&&(e="/"),e=s(e),e}},9300:function(t,e,a){"use strict";e.__esModule=!0,e.injectPartytownSnippet=function(t){if(!t.length)return;const e=document.querySelector("script[data-partytown]"),a=document.querySelector('iframe[src*="~partytown/partytown-sandbox-sw"]');e&&e.remove();a&&a.remove();const s=(0,n.getForwards)(t),r=document.createElement("script");r.dataset.partytown="",r.innerHTML=(0,i.partytownSnippet)({forward:s}),document.head.appendChild(r)};var i=a(4656),n=a(3309)},9369:function(t,e,a){"use strict";a.d(e,{A:function(){return i}});var i=function(t){return t=t||Object.create(null),{on:function(e,a){(t[e]||(t[e]=[])).push(a)},off:function(e,a){t[e]&&t[e].splice(t[e].indexOf(a)>>>0,1)},emit:function(e,a){(t[e]||[]).slice().map(function(t){t(a)}),(t["*"]||[]).slice().map(function(t){t(e,a)})}}}()},9377:function(t,e,a){t.exports=[{plugin:a(6600),options:{plugins:[]}},{plugin:a(2958),options:{plugins:[],localeJsonSourceName:"locale",languages:["en","da","de","es","fr","it","nl","pl","pt","ru","sv","zh"],defaultLanguage:"en",fallbackLng:"en",redirect:!1,siteUrl:"https://dublincitypass.com",i18nextOptions:{interpolation:{escapeValue:!1},keySeparator:".",nsSeparator:!1,lowerCaseLng:!0},pages:[{matchPath:"/:lang?/:uid/",getLanguageFromPath:!0},{matchPath:"/:lang?/:uid/:uid/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/legal-notices/",getLanguageFromPath:!0},{matchPath:"/:lang?/activitats/",getLanguageFromPath:!0},{matchPath:"/:lang?/activitats/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activitat/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atraccions/",getLanguageFromPath:!0},{matchPath:"/:lang?/atraccio/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/avisos-legals/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivity/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivita/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atrakce/",getLanguageFromPath:!0},{matchPath:"/:lang?/atrakce/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/pravni-informace/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktiviteter/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktiviteter/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivitet/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktioner/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktion/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/juridiske-meddelelser/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivitaten/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivitaten/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivitat/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktionen/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktion/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/rechtliche-hinweise/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/legal-notices/",getLanguageFromPath:!0},{matchPath:"/:lang?/actividades/",getLanguageFromPath:!0},{matchPath:"/:lang?/actividades/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/actividad/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atracciones/",getLanguageFromPath:!0},{matchPath:"/:lang?/atraccion/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/avisos-legales/",getLanguageFromPath:!0},{matchPath:"/:lang?/activites/",getLanguageFromPath:!0},{matchPath:"/:lang?/activites/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activite/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/mentions-legales/",getLanguageFromPath:!0},{matchPath:"/:lang?/attivita/",getLanguageFromPath:!0},{matchPath:"/:lang?/attivita/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attivita/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attrazioni/",getLanguageFromPath:!0},{matchPath:"/:lang?/attrazione/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/nota-legali/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/legal-notices/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/legal-notices/",getLanguageFromPath:!0},{matchPath:"/:lang?/activiteiten/",getLanguageFromPath:!0},{matchPath:"/:lang?/activiteiten/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activiteit/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attracties/",getLanguageFromPath:!0},{matchPath:"/:lang?/attractie/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/juridische-mededelingen/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktywnosci/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktywnosci/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktywnosc/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atrakcje/",getLanguageFromPath:!0},{matchPath:"/:lang?/atrakcja/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/informacje-prawne/",getLanguageFromPath:!0},{matchPath:"/:lang?/atividades/",getLanguageFromPath:!0},{matchPath:"/:lang?/atividades/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atividade/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/atracoes/",getLanguageFromPath:!0},{matchPath:"/:lang?/atracao/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/avisos-legais/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivnosti/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivnosti/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivnost/:uid",getLanguageFromPath:!0}
2,{matchPath:"/:lang?/dostoprimechatelnosti/",getLanguageFromPath:!0},{matchPath:"/:lang?/dostoprimechatelnost/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/yuridicheskaya-informatsiya/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktiviteter/",getLanguageFromPath:!0},{matchPath:"/:lang?/aktiviteter/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/aktivitet/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktioner/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraktion/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/juridiska-meddelanden/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/",getLanguageFromPath:!0},{matchPath:"/:lang?/activities/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/activity/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/attractions/",getLanguageFromPath:!0},{matchPath:"/:lang?/attraction/:uid",getLanguageFromPath:!0},{matchPath:"/:lang?/legal-notices/",getLanguageFromPath:!0}]}},{plugin:a(5616),options:{plugins:[],quality:40,maxWidth:1200,withWebp:!0,linkImagesToOriginal:!1,showCaptions:!0,markdownCaptions:!1,backgroundColor:"white",withAvif:!1,loading:"lazy",decoding:"async",disableBgImageOnAlpha:!1,disableBgImage:!1}},{plugin:a(5616),options:{plugins:[],quality:40,maxWidth:1200,withWebp:!0,linkImagesToOriginal:!1,showCaptions:!0,markdownCaptions:!1,backgroundColor:"white",withAvif:!1,loading:"lazy",decoding:"async",disableBgImageOnAlpha:!1,disableBgImage:!1}},{plugin:a(2620),options:{plugins:[],siteUrl:"https://dublincitypass.com",stripQueryString:!0}},{plugin:a(7914),options:{plugins:[],name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Discover the best activities, attractions, experiences, and guides in Dublin with the All-Inclusive Pass. Take advantage of exclusive offers at a great price.",lang:"en",display:"standalone",start_url:"/",background_color:"#ffffff",theme_color:"#132144",icon:"src/assets/images/logos/dublin-city-pass-icon.png",icon_options:{purpose:"any maskable"},localize:[{start_url:"/da/",lang:"da",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Oplev de bedste aktiviteter, seværdigheder, oplevelser og guides i Dublin med All-Inclusive Pass. FÃ¥ glæde af eksklusive tilbud til fantastiske priser."},{start_url:"/de/",lang:"de",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Entdecken Sie die besten Aktivitäten, Attraktionen, Erlebnisse und Touren in Dublin mit dem All-Inclusive Pass. Sichern Sie sich exklusive Angebote zum Bestpreis."},{start_url:"/es/",lang:"es",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Descubre las mejores actividades, atracciones, experiencias y guÃas en DublÃn con el Pase Todo Incluido. Disfruta de ofertas exclusivas a precios increÃbles."},{start_url:"/fr/",lang:"fr",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Découvrez les meilleures activités, attractions et visites à Dublin avec le Pass Tout Inclus. Profitez d'offres exclusives aux meilleurs prix."},{start_url:"/it/",lang:"it",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Scopri le migliori attività , attrazioni, esperienze e guide a Dublino con il Pass Tutto Incluso. Approfitta di offerte esclusive a prezzi imbattibili."},{start_url:"/nl/",lang:"nl",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Ontdek de beste activiteiten, bezienswaardigheden en tours in Dublin met de All-Inclusive Pass. Profiteer van exclusieve kortingen en scherpe prijzen."},{start_url:"/pl/",lang:"pl",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Odkryj najlepsze atrakcje, wycieczki i aktywnoÅci w Dublinie z kartÄ
All-Inclusive. Korzystaj z ekskluzywnych zniżek i oszczÄdzaj na biletach."},{start_url:"/pt/",lang:"pt",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Descubra as melhores atividades, atrações, experiências e guias em Dublin com o Passe Tudo IncluÃdo. Aproveite ofertas exclusivas a preços imbatÃveis."},{start_url:"/ru/",lang:"ru",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"ÐÑкÑойÑе Ð´Ð»Ñ ÑÐµÐ±Ñ Ð»ÑÑÑие ÑазвлеÑениÑ, доÑÑопÑимеÑаÑелÑноÑÑи, ÑкÑкÑÑÑии и впеÑаÑÐ»ÐµÐ½Ð¸Ñ Ð² ÐÑблине Ñ All-Inclusive Pass. ÐоÑполÑзÑйÑеÑÑ ÑкÑклÑзивнÑми пÑедложениÑми по вÑгодной Ñене."},{start_url:"/sv/",lang:"sv",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"Upptäck de bästa aktiviteterna, sevärdheterna, upplevelserna och guiderna i Dublin med All-Inclusive Pass. Dra nytta av exklusiva erbjudanden till bra priser."},{start_url:"/zh/",lang:"zh",name:"Dublin City Pass",short_name:"Dublin City Pass",description:"æé½ææä¸å¡éï¼
2All-Inclusive Passï¼æ¢ç´¢é½ææç鍿¯ç¹ãç²¾éæ´»å¨ä¸å¯¼è§è¡ç¨ã享æç¬å®¶ä¼æ ä¸è¶
å¼ç¥¨ä»·ã"}],legacy:!0,theme_color_in_head:!0,cache_busting_mode:"query",crossOrigin:"anonymous",include_favicon:!0,cacheDigest:"038a495cf6da0c697b6f3fc79d47a12a"}},{plugin:a(1468),options:{plugins:[]}},{plugin:a(8710),options:{plugins:[],trackingIds:["G-TQVKZK0R07"],gtagConfig:{anonymize_ip:!0,cookie_expires:0},pluginConfig:{head:!1,respectDNT:!1,exclude:[],origin:"https://www.googletagmanager.com",delayOnRouteUpdate:0}}},{plugin:a(2311),options:{plugins:[]}}]},9732:function(t,e,a){"use strict";a.d(e,{n:function(){return n}});const i=new WeakMap;function n(){const t=a(9986);return{render:function(e,a,n){void 0===n&&(n={});let s=i.get(a);if(!s){const e=n.onUncaughtError||n.onCaughtError?{onUncaughtError:n.onUncaughtError,onCaughtError:n.onCaughtError}:void 0;i.set(a,s=t.createRoot(a,e))}s.render(e)},hydrate:function(e,a,i){void 0===i&&(i={});const n=i.onUncaughtError||i.onCaughtError?{onUncaughtError:i.onUncaughtError,onCaughtError:i.onCaughtError}:void 0;return t.hydrateRoot(a,e,n)}}}},9888:function(t,e,a){"use strict";t.exports=a(8493)}},function(t){t.O(0,[593],function(){return e=6498,t(t.s=e);var e});t.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.